diff --git a/packages/uni-app-plus/dist/index.js b/packages/uni-app-plus/dist/index.js index 258af8abbbefef6b8d62747f1a1320fb9e16ec25..e93bc8cab8933553e2f5ebceed443dab017fe353 100644 --- a/packages/uni-app-plus/dist/index.js +++ b/packages/uni-app-plus/dist/index.js @@ -317,7 +317,8 @@ function wrapper$1 (webview) { return } const maskColor = webview.__uniapp_mask; - const maskWebview = plus.webview.getWebviewById(webview.__uniapp_mask_id); + let maskWebview = plus.webview.getWebviewById(webview.__uniapp_mask_id); + maskWebview = maskWebview.parent() || maskWebview;// 再次检测父 const oldShow = webview.show; const oldHide = webview.hide; const oldClose = webview.close; diff --git a/packages/uni-app-plus/package.json b/packages/uni-app-plus/package.json index 8c7fe9ba47faa465361493e2ce0a542b286915d7..d3c2bd801643e9c2a44537807af2a28f3987f9c8 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.240", + "version": "0.0.241", "description": "uni-app app-plus", "main": "dist/index.js", "scripts": { diff --git a/src/core/service/plugins/index.js b/src/core/service/plugins/index.js index b961a5587fa1107a07323cb6c995bc8a3dd50e88..f6c2ceea89acc0d03adcac4948e0f51dcefad871 100644 --- a/src/core/service/plugins/index.js +++ b/src/core/service/plugins/index.js @@ -152,6 +152,14 @@ export default { } }) + Vue.prototype.createSelectorQuery = function createSelectorQuery () { + return uni.createSelectorQuery().in(this) + } + + Vue.prototype.createIntersectionObserver = function createIntersectionObserver (args) { + return uni.createIntersectionObserver(this, args) + } + Vue.use(VueRouter) } diff --git a/src/platforms/app-plus-nvue/services/api/context/live-pusher.js b/src/platforms/app-plus-nvue/services/api/context/live-pusher.js index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..506fe1d8bf5057dd7e28e8f8b857bd08554276dc 100644 --- a/src/platforms/app-plus-nvue/services/api/context/live-pusher.js +++ b/src/platforms/app-plus-nvue/services/api/context/live-pusher.js @@ -0,0 +1,76 @@ +import { + findRefById, + invokeVmMethod, + invokeVmMethodWithoutArgs +} from '../util' + +class LivePusherContext { + constructor (id, ctx) { + this.id = id + this.ctx = ctx + } + + start (cbs) { + return invokeVmMethodWithoutArgs(this.ctx, 'start', cbs) + } + + stop (cbs) { + return invokeVmMethodWithoutArgs(this.ctx, 'stop', cbs) + } + + pause (cbs) { + return invokeVmMethodWithoutArgs(this.ctx, 'pause', cbs) + } + + resume (cbs) { + return invokeVmMethodWithoutArgs(this.ctx, 'resume', cbs) + } + + switchCamera (cbs) { + return invokeVmMethodWithoutArgs(this.ctx, 'switchCamera', cbs) + } + + snapshot (cbs) { + return invokeVmMethodWithoutArgs(this.ctx, 'snapshot', cbs) + } + + toggleTorch (cbs) { + return invokeVmMethodWithoutArgs(this.ctx, 'toggleTorch', cbs) + } + + playBGM (args) { + return invokeVmMethod(this.ctx, 'playBGM', args) + } + + stopBGM (cbs) { + return invokeVmMethodWithoutArgs(this.ctx, 'stopBGM', cbs) + } + + pauseBGM (cbs) { + return invokeVmMethodWithoutArgs(this.ctx, 'pauseBGM', cbs) + } + + resumeBGM (cbs) { + return invokeVmMethodWithoutArgs(this.ctx, 'resumeBGM', cbs) + } + + setBGMVolume (cbs) { + return invokeVmMethod(this.ctx, 'setBGMVolume', cbs) + } + + startPreview (cbs) { + return invokeVmMethodWithoutArgs(this.ctx, 'startPreview', cbs) + } + + stopPreview (args) { + return invokeVmMethodWithoutArgs(this.ctx, 'stopPreview', args) + } +} + +export function createLivePusherContext (id, vm) { + const ref = findRefById(id, vm) + if (!ref) { + global.nativeLog('Can not find `' + id + '`', '__WARN') + } + return new LivePusherContext(id, vm.$refs[ref]) +} diff --git a/src/platforms/app-plus-nvue/services/api/context/video.js b/src/platforms/app-plus-nvue/services/api/context/video.js index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0659a83d5c55e0806ad6914199ae078ba3fc340b 100644 --- a/src/platforms/app-plus-nvue/services/api/context/video.js +++ b/src/platforms/app-plus-nvue/services/api/context/video.js @@ -0,0 +1,60 @@ +import { + findRefById, + invokeVmMethod, + invokeVmMethodWithoutArgs +} from '../util' + +class VideoContext { + constructor (id, ctx) { + this.id = id + this.ctx = ctx + } + + play () { + return invokeVmMethodWithoutArgs(this.ctx, 'play') + } + + pause () { + return invokeVmMethodWithoutArgs(this.ctx, 'pause') + } + + seek (args) { + return invokeVmMethod(this.ctx, 'seek', args) + } + + stop () { + return invokeVmMethodWithoutArgs(this.ctx, 'stop') + } + + sendDanmu (args) { + return invokeVmMethod(this.ctx, 'sendDanmu', args) + } + + playbackRate (args) { + return invokeVmMethod(this.ctx, 'playbackRate', args) + } + + requestFullScreen (args) { + return invokeVmMethod(this.ctx, 'requestFullScreen', args) + } + + exitFullScreen () { + return invokeVmMethodWithoutArgs(this.ctx, 'exitFullScreen') + } + + showStatusBar () { + return invokeVmMethodWithoutArgs(this.ctx, 'showStatusBar') + } + + hideStatusBar () { + return invokeVmMethodWithoutArgs(this.ctx, 'hideStatusBar') + } +} + +export function createVideoContext (id, vm) { + const ref = findRefById(id, vm) + if (!ref) { + global.nativeLog('Can not find `' + id + '`', '__WARN') + } + return new VideoContext(id, vm.$refs[ref]) +} diff --git a/src/platforms/app-plus/service/api/sub-nvue.js b/src/platforms/app-plus/service/api/sub-nvue.js index 38854aa684d3720f06b2b6199524047dcf5bc7c2..0d5318cc229eb529c58e376831edc9ee6bb3c17e 100644 --- a/src/platforms/app-plus/service/api/sub-nvue.js +++ b/src/platforms/app-plus/service/api/sub-nvue.js @@ -19,7 +19,8 @@ function wrapper (webview) { return } const maskColor = webview.__uniapp_mask - const maskWebview = plus.webview.getWebviewById(webview.__uniapp_mask_id) + let maskWebview = plus.webview.getWebviewById(webview.__uniapp_mask_id) + maskWebview = maskWebview.parent() || maskWebview// 再次检测父 const oldShow = webview.show const oldHide = webview.hide const oldClose = webview.close