diff --git a/packages/uni-app-plus/dist/index.v3.js b/packages/uni-app-plus/dist/index.v3.js index ecfa304d668263b9a703e3f34d8474b4984d71fe..320b7648f5aed49d96114c5e36aab33810c99503 100644 --- a/packages/uni-app-plus/dist/index.v3.js +++ b/packages/uni-app-plus/dist/index.v3.js @@ -2481,8 +2481,8 @@ var serviceContext = (function () { /** * 触发 service 层,与 onMethod 对应 */ - function publish (name, res) { - return UniServiceJSBridge.emit('api.' + name, res) + function publish (name, ...args) { + return UniServiceJSBridge.emit('api.' + name, ...args) } let lastStatusBarStyle; @@ -9329,7 +9329,7 @@ var serviceContext = (function () { function onWebInvokeAppService ({ name, arg - }, pageId) { + }, pageIds) { if (name === 'postMessage') ; else { uni[name](arg); } @@ -9438,6 +9438,7 @@ var serviceContext = (function () { const WEBVIEW_READY = 'webviewReady'; const VD_SYNC_CALLBACK = 'vdSyncCallback'; const INVOKE_API = 'invokeApi'; + const WEB_INVOKE_APPSERVICE$1 = 'WEB_INVOKE_APPSERVICE'; function perf (type, startTime) { /* eslint-disable no-undef */ @@ -9527,6 +9528,8 @@ var serviceContext = (function () { function initSubscribeHandlers () { const { + on, + emit, subscribe, publishHandler, subscribeHandler @@ -9549,6 +9552,10 @@ var serviceContext = (function () { // 防止首页 webview 初始化过早, service 还未开始监听 publishHandler(WEBVIEW_READY, Object.create(null), [1]); } + // 应该使用subscribe,兼容老版本先用 on api 吧 + on('api.' + WEB_INVOKE_APPSERVICE$1, function (data, webviewIds) { + emit('onWebInvokeAppService', data, webviewIds); + }); subscribe(VD_SYNC, onVdSync); subscribe(VD_SYNC_CALLBACK, onVdSyncCallback); diff --git a/src/core/service/bridge/on.js b/src/core/service/bridge/on.js index aafa5e0375a49677d6b4e85328050d8be588091d..80645eff6657f1d09b9fc4d0e6bf5fae20f6a1c7 100644 --- a/src/core/service/bridge/on.js +++ b/src/core/service/bridge/on.js @@ -53,7 +53,7 @@ export default function initOn (on, { function onWebInvokeAppService ({ name, arg - }, pageId) { + }, pageIds) { if (name === 'postMessage') { // TODO 小程序后退、组件销毁、分享时通知 } else { diff --git a/src/platforms/app-plus/service/bridge.js b/src/platforms/app-plus/service/bridge.js index d8012a87b7c52372380fa67853b01f0826e13bdb..7b68fb90b5ea9860a878e26ef6e7978bfd4d75b3 100644 --- a/src/platforms/app-plus/service/bridge.js +++ b/src/platforms/app-plus/service/bridge.js @@ -7,7 +7,8 @@ export { pack, unpack, invoke -} from 'uni-core/service/bridge' +} + from 'uni-core/service/bridge' export function requireNativePlugin (name) { return uni.requireNativePlugin(name) @@ -16,8 +17,8 @@ export function requireNativePlugin (name) { /** * 触发 service 层,与 onMethod 对应 */ -export function publish (name, res) { - return UniServiceJSBridge.emit('api.' + name, res) +export function publish (name, ...args) { + return UniServiceJSBridge.emit('api.' + name, ...args) } let lastStatusBarStyle @@ -74,4 +75,4 @@ export function base64ToArrayBuffer (data) { export function arrayBufferToBase64 (data) { return encode(data) -} +} diff --git a/src/platforms/app-plus/service/framework/subscribe-handlers/index.js b/src/platforms/app-plus/service/framework/subscribe-handlers/index.js index 47d2bcb1d325471672e6cc40443ffe93901e75e4..fa83c16de25c435fa5e2a789a999f9f1c9933748 100644 --- a/src/platforms/app-plus/service/framework/subscribe-handlers/index.js +++ b/src/platforms/app-plus/service/framework/subscribe-handlers/index.js @@ -18,10 +18,11 @@ import onVdSync from './on-vd-sync' import onVdSyncCallback from './on-vd-sync-callback' import onInvokeApi from './on-invoke-api' -import onWebInvokeApi from './on-web-invoke-api' export function initSubscribeHandlers () { const { + on, + emit, subscribe, publishHandler, subscribeHandler @@ -36,8 +37,6 @@ export function initSubscribeHandlers () { subscribeHandler(data.type, data.data, data.pageId) }) - registerPlusMessage(WEB_INVOKE_APPSERVICE, onWebInvokeApi) - subscribe(WEBVIEW_READY, onWebviewReady) const entryPagePath = '/' + __uniConfig.entryPagePath @@ -46,6 +45,10 @@ export function initSubscribeHandlers () { // 防止首页 webview 初始化过早, service 还未开始监听 publishHandler(WEBVIEW_READY, Object.create(null), [1]) } + // 应该使用subscribe,兼容老版本先用 on api 吧 + on('api.' + WEB_INVOKE_APPSERVICE, function (data, webviewIds) { + emit('onWebInvokeAppService', data, webviewIds) + }) subscribe(VD_SYNC, onVdSync) subscribe(VD_SYNC_CALLBACK, onVdSyncCallback) diff --git a/src/platforms/app-plus/service/framework/subscribe-handlers/on-web-invoke-api.js b/src/platforms/app-plus/service/framework/subscribe-handlers/on-web-invoke-api.js deleted file mode 100644 index 6fbffe139120cd90e0019ddf94876a0deead9445..0000000000000000000000000000000000000000 --- a/src/platforms/app-plus/service/framework/subscribe-handlers/on-web-invoke-api.js +++ /dev/null @@ -1,4 +0,0 @@ -export default function onInvokeApi (data) { - // TODO - console.log('onInvokeApi', data) -}