Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
uni-app
提交
af42895d
U
uni-app
项目概览
DCloud
/
uni-app
3 个月 前同步成功
通知
725
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,发现更多精彩内容 >>
提交
af42895d
编写于
3月 24, 2020
作者:
fxy060608
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
refactor(v3): onNativeEventReceive
上级
06fcd97d
变更
3
显示空白变更内容
内联
并排
Showing
3 changed file
with
25 addition
and
29 deletion
+25
-29
src/core/helpers/api.js
src/core/helpers/api.js
+10
-10
src/platforms/app-plus/service/api/plugin/on-native-event-receive.js
...ms/app-plus/service/api/plugin/on-native-event-receive.js
+13
-10
src/platforms/app-plus/service/framework/app.js
src/platforms/app-plus/service/framework/app.js
+2
-9
未找到文件。
src/core/helpers/api.js
浏览文件 @
af42895d
...
...
@@ -87,8 +87,8 @@ function createKeepAliveApiCallback (apiName, callback) {
const
callbackId
=
invokeCallbackId
++
const
invokeCallbackName
=
'
api.
'
+
apiName
+
'
.
'
+
callbackId
const
invokeCallback
=
function
(
res
)
{
callback
(
res
)
const
invokeCallback
=
function
(
res
,
extras
)
{
callback
(
res
,
extras
)
}
invokeCallbacks
[
callbackId
]
=
{
...
...
@@ -232,15 +232,15 @@ function createInvokeCallback (apiName, params = {}, extras = {}) {
callbackId
}
}
export
function
invokeCallbackHandler
(
invokeCallbackId
,
res
)
{
// onNativeEventReceive((event,data)=>{}) 需要两个参数,写死最多两个参数,避免改动太大,影响已有逻辑
export
function
invokeCallbackHandler
(
invokeCallbackId
,
res
,
extras
)
{
if
(
typeof
invokeCallbackId
===
'
number
'
)
{
const
invokeCallback
=
invokeCallbacks
[
invokeCallbackId
]
if
(
invokeCallback
)
{
if
(
!
invokeCallback
.
keepAlive
)
{
delete
invokeCallbacks
[
invokeCallbackId
]
}
return
invokeCallback
.
callback
(
res
)
return
invokeCallback
.
callback
(
res
,
extras
)
}
}
return
res
...
...
src/platforms/app-plus/service/api/plugin/on-native-event-receive.js
浏览文件 @
af42895d
import
{
isFn
}
from
'
uni-shared
'
invoke
}
from
'
uni-core/service/bridge
'
import
{
onMethod
}
from
'
uni-core/service/platform
'
const
callbacks
=
[]
export
function
onNativeEventReceive
(
callback
)
{
isFn
(
callback
)
&&
callbacks
.
indexOf
(
callback
)
===
-
1
&&
callbacks
.
push
(
callback
)
}
onMethod
(
'
uniMPNativeEvent
'
,
function
(
res
)
{
callbacks
.
forEach
(
callbackId
=>
{
invoke
(
callbackId
,
res
.
event
,
res
.
data
)
}
)
}
)
export
function
consumeNativeEvent
(
event
,
data
)
{
callbacks
.
forEach
(
callback
=>
callback
(
event
,
data
)
)
export
function
onNativeEventReceive
(
callbackId
)
{
callbacks
.
push
(
callbackId
)
}
src/platforms/app-plus/service/framework/app.js
浏览文件 @
af42895d
...
...
@@ -35,10 +35,6 @@ import {
backbuttonListener
}
from
'
./backbutton
'
import
{
consumeNativeEvent
}
from
'
../api/plugin/on-native-event-receive
'
let
appCtx
const
defaultApp
=
{
...
...
@@ -96,11 +92,8 @@ function initGlobalListeners () {
})
})
globalEvent
.
addEventListener
(
'
uniMPNativeEvent
'
,
function
({
event
,
data
})
{
consumeNativeEvent
(
event
,
data
)
globalEvent
.
addEventListener
(
'
uniMPNativeEvent
'
,
function
(
event
)
{
publish
(
'
uniMPNativeEvent
'
,
event
)
})
plus
.
globalEvent
.
addEventListener
(
'
plusMessage
'
,
onPlusMessage
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录