diff --git a/packages/uni-app-plus/dist/uni-app-service.es.js b/packages/uni-app-plus/dist/uni-app-service.es.js index ccf391ddf29ed502f076cf6e897db8ac5cbde3e5..3fc86fbb545d37fc12fe704314ad6b8334f950fe 100644 --- a/packages/uni-app-plus/dist/uni-app-service.es.js +++ b/packages/uni-app-plus/dist/uni-app-service.es.js @@ -17240,6 +17240,25 @@ var serviceContext = (function (vue) { } } + const sendHostEvent = sendNativeEvent; + const API_NAVIGATE_TO_MINI_PROGRAM = 'navigateToMiniProgram'; + const navigateToMiniProgram = defineAsyncApi(API_NAVIGATE_TO_MINI_PROGRAM, (data, { resolve, reject }) => { + sendHostEvent('navigateToUniMP', data, (res) => { + if (res.errMsg && res.errMsg.indexOf(':ok') === -1) { + return reject(res.errMsg.split(' ')[1]); + } + resolve(); + }); + }); + const hostEventCallbacks = []; + function onHostEventReceive(fn) { + hostEventCallbacks.push(fn); + } + const onNativeEventReceive = onHostEventReceive; + function invokeHostEvent(event, data) { + hostEventCallbacks.forEach((fn) => fn(event, data)); + } + const downgrade = plus.os.name === 'Android' && parseInt(plus.os.version) < 6; const ANI_SHOW = downgrade ? 'slide-in-right' : 'pop-in'; const ANI_DURATION = 300; @@ -17288,7 +17307,7 @@ var serviceContext = (function (vue) { }); weexGlobalEvent.addEventListener(SDK_UNI_MP_NATIVE_EVENT, function (res) { if (res && res.event) { - emit(SDK_UNI_MP_NATIVE_EVENT + '.' + res.event, res.data); + invokeHostEvent(res.event, res.data); } }); plusGlobalEvent.addEventListener('plusMessage', subscribePlusMessage); @@ -19178,21 +19197,6 @@ var serviceContext = (function (vue) { __uniConfig.serviceReady = true; } - const sendHostEvent = sendNativeEvent; - const API_NAVIGATE_TO_MINI_PROGRAM = 'navigateToMiniProgram'; - const navigateToMiniProgram = defineAsyncApi(API_NAVIGATE_TO_MINI_PROGRAM, (data, { resolve, reject }) => { - sendHostEvent('navigateToUniMP', data, (res) => { - if (res.errMsg && res.errMsg.indexOf(':ok') === -1) { - return reject(res.errMsg.split(' ')[1]); - } - resolve(); - }); - }); - function onHostEventReceive(name, fn) { - UniServiceJSBridge.on(SDK_UNI_MP_NATIVE_EVENT + '.' + name, fn); - } - const onNativeEventReceive = onHostEventReceive; - const EventType = { load: 'load', close: 'close', @@ -19788,6 +19792,10 @@ var serviceContext = (function (vue) { var uni$1 = { __proto__: null, + sendHostEvent: sendHostEvent, + navigateToMiniProgram: navigateToMiniProgram, + onHostEventReceive: onHostEventReceive, + onNativeEventReceive: onNativeEventReceive, navigateTo: navigateTo, reLaunch: reLaunch, switchTab: switchTab, @@ -19958,10 +19966,6 @@ var serviceContext = (function (vue) { sendNativeEvent: sendNativeEvent, __vuePlugin: index$1, restoreGlobal: restoreGlobal, - sendHostEvent: sendHostEvent, - navigateToMiniProgram: navigateToMiniProgram, - onHostEventReceive: onHostEventReceive, - onNativeEventReceive: onNativeEventReceive, createRewardedVideoAd: createRewardedVideoAd, createFullScreenVideoAd: createFullScreenVideoAd, createInterstitialAd: createInterstitialAd, diff --git a/packages/uni-app-plus/src/service/api/index.ts b/packages/uni-app-plus/src/service/api/index.ts index b31701416ba42e0ed91a9c3a78b630ab841396ae..5c425271a2161920bde74d0f36bdeb42d9dc6f2f 100644 --- a/packages/uni-app-plus/src/service/api/index.ts +++ b/packages/uni-app-plus/src/service/api/index.ts @@ -63,7 +63,12 @@ export * from './plugin/requestPayment' export * from './plugin/requireNativePlugin' export * from './plugin/vuePlugin' export * from './plugin/restoreGlobal' -export * from './plugin/sdk' +export { + sendHostEvent, + navigateToMiniProgram, + onHostEventReceive, + onNativeEventReceive, +} from './plugin/sdk' export * from './ad/rewardedVideoAd' export * from './ad/fullScreenVideoAd' diff --git a/packages/uni-app-plus/src/service/api/plugin/sdk.ts b/packages/uni-app-plus/src/service/api/plugin/sdk.ts index 0601537efc96246b601b0b889995dc36a1f7a02e..7f94182d1663f4530aa9ee66156a5e4c1ab6d9b0 100644 --- a/packages/uni-app-plus/src/service/api/plugin/sdk.ts +++ b/packages/uni-app-plus/src/service/api/plugin/sdk.ts @@ -1,6 +1,5 @@ import { defineAsyncApi } from '@dcloudio/uni-api' import { sendNativeEvent } from './requireNativePlugin' -import { SDK_UNI_MP_NATIVE_EVENT } from '../../constants' export const sendHostEvent = sendNativeEvent @@ -28,11 +27,15 @@ export const navigateToMiniProgram = } ) -export function onHostEventReceive( - name: string, - fn: (...args: unknown[]) => void -) { - UniServiceJSBridge.on(SDK_UNI_MP_NATIVE_EVENT + '.' + name, fn) +type HostEventCallback = (event: string, data: unknown) => void +const hostEventCallbacks: HostEventCallback[] = [] + +export function onHostEventReceive(fn: HostEventCallback) { + hostEventCallbacks.push(fn) } export const onNativeEventReceive = onHostEventReceive + +export function invokeHostEvent(event: string, data: unknown) { + hostEventCallbacks.forEach((fn) => fn(event, data)) +} diff --git a/packages/uni-app-plus/src/service/framework/app/initGlobalEvent.ts b/packages/uni-app-plus/src/service/framework/app/initGlobalEvent.ts index d1851a7975502515cc7075021f4b6ea2e1756b18..90d09f03061d5b30717f96b26dd59ec5fbe50ad9 100644 --- a/packages/uni-app-plus/src/service/framework/app/initGlobalEvent.ts +++ b/packages/uni-app-plus/src/service/framework/app/initGlobalEvent.ts @@ -5,6 +5,7 @@ import { ON_THEME_CHANGE, ON_KEYBOARD_HEIGHT_CHANGE, } from '@dcloudio/uni-shared' +import { invokeHostEvent } from '../../api/plugin/sdk' import { SDK_UNI_MP_NATIVE_EVENT } from '../../constants' import { EVENT_BACKBUTTON, @@ -67,7 +68,7 @@ export function initGlobalEvent() { SDK_UNI_MP_NATIVE_EVENT, function (res: { event: string; data: unknown }) { if (res && res.event) { - emit(SDK_UNI_MP_NATIVE_EVENT + '.' + res.event, res.data) + invokeHostEvent(res.event, res.data) } } )