提交 211086b1 编写于 作者: fxy060608's avatar fxy060608

feat(sdk): add onHostEventReceive

上级 800152d8
......@@ -17216,6 +17216,14 @@ var serviceContext = (function (vue) {
}
}
const downgrade = plus.os.name === 'Android' && parseInt(plus.os.version) < 6;
const ANI_SHOW = downgrade ? 'slide-in-right' : 'pop-in';
const ANI_DURATION = 300;
const ANI_CLOSE = downgrade ? 'slide-out-right' : 'pop-out';
const VIEW_WEBVIEW_PATH = '_www/__uniappview.html';
const WEBVIEW_ID_PREFIX = 'webviewId';
const SDK_UNI_MP_NATIVE_EVENT = 'uniMPNativeEvent';
function initGlobalEvent() {
const plusGlobalEvent = plus.globalEvent;
const weexGlobalEvent = weex.requireModule('globalEvent');
......@@ -17254,6 +17262,11 @@ 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);
}
});
plusGlobalEvent.addEventListener('plusMessage', subscribePlusMessage);
// nvue webview post message
plusGlobalEvent.addEventListener('WebviewPostMessage', subscribePlusMessage);
......@@ -17484,13 +17497,6 @@ var serviceContext = (function (vue) {
});
}
const downgrade = plus.os.name === 'Android' && parseInt(plus.os.version) < 6;
const ANI_SHOW = downgrade ? 'slide-in-right' : 'pop-in';
const ANI_DURATION = 300;
const ANI_CLOSE = downgrade ? 'slide-out-right' : 'pop-out';
const VIEW_WEBVIEW_PATH = '_www/__uniappview.html';
const WEBVIEW_ID_PREFIX = 'webviewId';
function initNVue(webviewStyle, routeMeta, path) {
if (path && routeMeta.isNVue) {
webviewStyle.uniNView = {
......@@ -19160,7 +19166,11 @@ var serviceContext = (function (vue) {
}
resolve();
});
});
});
function onHostEventReceive(name, fn) {
UniServiceJSBridge.on(SDK_UNI_MP_NATIVE_EVENT + '.' + name, fn);
}
const onNativeEventReceive = onHostEventReceive;
const EventType = {
load: 'load',
......@@ -19929,6 +19939,8 @@ var serviceContext = (function (vue) {
restoreGlobal: restoreGlobal,
sendHostEvent: sendHostEvent,
navigateToMiniProgram: navigateToMiniProgram,
onHostEventReceive: onHostEventReceive,
onNativeEventReceive: onNativeEventReceive,
createRewardedVideoAd: createRewardedVideoAd,
createFullScreenVideoAd: createFullScreenVideoAd,
createInterstitialAd: createInterstitialAd,
......
import { defineAsyncApi } from '@dcloudio/uni-api'
import { sendNativeEvent } from './requireNativePlugin'
import { SDK_UNI_MP_NATIVE_EVENT } from '../../constants'
export const sendHostEvent = sendNativeEvent
......@@ -26,3 +27,12 @@ export const navigateToMiniProgram =
})
}
)
export function onHostEventReceive(
name: string,
fn: (...args: unknown[]) => void
) {
UniServiceJSBridge.on(SDK_UNI_MP_NATIVE_EVENT + '.' + name, fn)
}
export const onNativeEventReceive = onHostEventReceive
......@@ -8,3 +8,5 @@ export const ANI_CLOSE = downgrade ? 'slide-out-right' : 'pop-out'
export const VIEW_WEBVIEW_PATH = '_www/__uniappview.html'
export const WEBVIEW_ID_PREFIX = 'webviewId'
export const SDK_UNI_MP_NATIVE_EVENT = 'uniMPNativeEvent'
......@@ -5,6 +5,7 @@ import {
ON_THEME_CHANGE,
ON_KEYBOARD_HEIGHT_CHANGE,
} from '@dcloudio/uni-shared'
import { SDK_UNI_MP_NATIVE_EVENT } from '../../constants'
import {
EVENT_BACKBUTTON,
backbuttonListener,
......@@ -62,6 +63,15 @@ export function initGlobalEvent() {
}
)
weexGlobalEvent.addEventListener(
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)
}
}
)
plusGlobalEvent.addEventListener('plusMessage', subscribePlusMessage)
// nvue webview post message
plusGlobalEvent.addEventListener('WebviewPostMessage', subscribePlusMessage)
......
......@@ -6,7 +6,7 @@ import {
uniViteInjectPlugin,
UNI_EASYCOM_EXCLUDE,
} from '@dcloudio/uni-cli-shared'
import { uniH5PLugin } from './plugin'
import { uniH5Plugin } from './plugin'
import { uniCssPlugin } from './plugins/css'
import { uniEasycomPlugin } from './plugins/easycom'
import { uniInjectPlugin } from './plugins/inject'
......@@ -35,5 +35,5 @@ export default [
uniSSRPlugin(),
uniSetupPlugin(),
uniRenderjsPlugin(),
uniH5PLugin(),
uniH5Plugin(),
]
......@@ -10,7 +10,7 @@ import { createUni } from './uni'
import { createConfig } from './config'
import { isString } from '@vue/shared'
export function uniH5PLugin(): UniVitePlugin {
export function uniH5Plugin(): UniVitePlugin {
const configOptions: {
resolvedConfig: ResolvedConfig | null
} = {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册