From f290beadaf7348463d41ca445679ef46e8e6beaf Mon Sep 17 00:00:00 2001 From: fxy060608 Date: Fri, 10 May 2019 20:25:43 +0800 Subject: [PATCH] build uni runtime(app-plus add subnvue postMessage,onMessage) --- packages/uni-app-plus/dist/index.js | 17 +++++++++++++++++ packages/uni-app-plus/package.json | 2 +- src/platforms/app-plus/service/api/sub-nvue.js | 17 +++++++++++++++++ 3 files changed, 35 insertions(+), 1 deletion(-) diff --git a/packages/uni-app-plus/dist/index.js b/packages/uni-app-plus/dist/index.js index ed30890e6..c975b86d3 100644 --- a/packages/uni-app-plus/dist/index.js +++ b/packages/uni-app-plus/dist/index.js @@ -281,8 +281,25 @@ function wrapper$1 (webview) { }; webview.close = function (...args) { closeMask(); + callbacks = []; return oldClose.apply(webview, args) }; + webview.postMessage = function (data) { + plus.webview.postMessageToUniNView({ + type: 'UniAppSubNVue', + data, + options: { + id: webview.id + } + }, webview.id); + }; + let callbacks = []; + webview.onMessage = function (callback) { + callbacks.push(callback); + }; + webview.$consumeMessage = function (e) { + callbacks.forEach(callback => callback(e)); + }; } const subNVue = { diff --git a/packages/uni-app-plus/package.json b/packages/uni-app-plus/package.json index ed895201f..5b421a660 100644 --- a/packages/uni-app-plus/package.json +++ b/packages/uni-app-plus/package.json @@ -1,6 +1,6 @@ { "name": "@dcloudio/uni-app-plus", - "version": "0.0.231", + "version": "0.0.232", "description": "uni-app app-plus", "main": "dist/index.js", "scripts": { diff --git a/src/platforms/app-plus/service/api/sub-nvue.js b/src/platforms/app-plus/service/api/sub-nvue.js index 9e2c626bc..2ee50cd4f 100644 --- a/src/platforms/app-plus/service/api/sub-nvue.js +++ b/src/platforms/app-plus/service/api/sub-nvue.js @@ -29,8 +29,25 @@ function wrapper (webview) { } webview.close = function (...args) { closeMask() + callbacks = [] return oldClose.apply(webview, args) } + webview.postMessage = function (data) { + plus.webview.postMessageToUniNView({ + type: 'UniAppSubNVue', + data, + options: { + id: webview.id + } + }, webview.id) + } + let callbacks = [] + webview.onMessage = function (callback) { + callbacks.push(callback) + } + webview.$consumeMessage = function (e) { + callbacks.forEach(callback => callback(e)) + } } export const subNVue = { -- GitLab