Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
uni-app
提交
fddf0e35
U
uni-app
项目概览
DCloud
/
uni-app
2 个月 前同步成功
通知
717
Star
38705
Fork
3642
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
7
列表
看板
标记
里程碑
合并请求
1
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-app
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
7
Issue
7
列表
看板
标记
里程碑
合并请求
1
合并请求
1
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
fddf0e35
编写于
5月 18, 2021
作者:
Q
qiang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat: EditorContext
上级
d436f272
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
97 addition
and
0 deletion
+97
-0
packages/uni-api/src/service/context/editor.ts
packages/uni-api/src/service/context/editor.ts
+97
-0
未找到文件。
packages/uni-api/src/service/context/editor.ts
0 → 100644
浏览文件 @
fddf0e35
import
{
ServiceJSBridge
}
from
'
@dcloudio/uni-core
'
import
{
callOptions
}
from
'
@dcloudio/uni-shared
'
let
eventReady
=
false
let
index
=
0
let
optionsCache
:
Record
<
string
,
any
>
=
{}
function
operateEditor
(
componentId
:
string
,
pageId
:
number
,
type
:
string
,
options
:
any
)
{
const
data
:
{
callbackId
?:
string
;
options
?:
any
}
=
{}
if
(
options
&&
(
'
success
'
in
options
||
'
fail
'
in
options
||
'
complete
'
in
options
)
)
{
const
callbackId
=
String
(
index
++
)
data
.
callbackId
=
callbackId
optionsCache
[
callbackId
]
=
options
if
(
!
eventReady
)
{
ServiceJSBridge
.
subscribe
!
(
'
onEditorMethodCallback
'
,
({
callbackId
,
data
}:
{
callbackId
:
string
;
data
:
any
})
=>
{
callOptions
(
optionsCache
[
callbackId
],
data
)
delete
optionsCache
[
callbackId
]
}
)
eventReady
=
true
}
}
data
.
options
=
options
ServiceJSBridge
.
publishHandler
!
(
'
editor.
'
+
componentId
,
{
componentId
,
type
,
data
,
},
pageId
)
}
export
class
EditorContext
implements
UniApp
.
EditorContext
{
id
:
string
pageId
:
number
constructor
(
id
:
string
,
pageId
:
number
)
{
this
.
id
=
id
this
.
pageId
=
pageId
}
format
(
name
:
string
,
value
:
string
)
{
this
.
_exec
(
'
format
'
,
{
name
,
value
,
})
}
insertDivider
()
{
this
.
_exec
(
'
insertDivider
'
)
}
insertImage
(
options
:
UniApp
.
EditorContextInsertImageOptions
)
{
this
.
_exec
(
'
insertImage
'
,
options
)
}
insertText
(
options
:
UniApp
.
EditorContextInsertTextOptions
)
{
this
.
_exec
(
'
insertText
'
,
options
)
}
setContents
(
options
:
UniApp
.
EditorContextSetContentsOptions
)
{
this
.
_exec
(
'
setContents
'
,
options
)
}
getContents
(
options
:
UniApp
.
EditorContextGetContentsOptions
)
{
this
.
_exec
(
'
getContents
'
,
options
)
}
clear
(
options
:
UniApp
.
EditorContextClearOptions
)
{
this
.
_exec
(
'
clear
'
,
options
)
}
removeFormat
(
options
:
UniApp
.
EditorContextRemoveFormatOptions
)
{
this
.
_exec
(
'
removeFormat
'
,
options
)
}
undo
(
options
:
UniApp
.
EditorContextUndoOptions
)
{
this
.
_exec
(
'
undo
'
,
options
)
}
redo
(
options
:
UniApp
.
EditorContextRedoOptions
)
{
this
.
_exec
(
'
redo
'
,
options
)
}
blur
(
options
:
UniApp
.
CommonOptions
)
{
this
.
_exec
(
'
blur
'
,
options
)
}
getSelectionText
(
options
:
UniApp
.
CommonOptions
)
{
this
.
_exec
(
'
getSelectionText
'
,
options
)
}
scrollIntoView
(
options
:
UniApp
.
EditorContextGetSelectionTextOptions
)
{
this
.
_exec
(
'
scrollIntoView
'
,
options
)
}
private
_exec
(
method
:
string
,
options
?:
any
)
{
operateEditor
(
this
.
id
,
this
.
pageId
,
method
,
options
)
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录