diff --git a/packages/uni-app/dist/uni-app.cjs.js b/packages/uni-app/dist/uni-app.cjs.js index c74a51f0dd17d7c21cb822ea99f1492f0126b107..9dfe71dc483a5dd7b98081835cc5cc7db0bbc78b 100644 --- a/packages/uni-app/dist/uni-app.cjs.js +++ b/packages/uni-app/dist/uni-app.cjs.js @@ -73,9 +73,15 @@ function getSsrGlobalData() { return uniShared.sanitise(globalData); } +/** + * uni 对象是跨实例的,而此处列的 API 均是需要跟当前实例关联的,比如 requireNativePlugin 获取 dom 时,依赖当前 weex 实例 + */ function getCurrentSubNVue() { // @ts-ignore return uni.getSubNVueById(plus.webview.currentWebview().id); +} +function requireNativePlugin(name) { + return weex.requireModule(name); } function resolveEasycom(component, easycom) { @@ -151,6 +157,7 @@ exports.onTabItemTap = onTabItemTap; exports.onThemeChange = onThemeChange; exports.onUnhandledRejection = onUnhandledRejection; exports.onUnload = onUnload; +exports.requireNativePlugin = requireNativePlugin; exports.resolveEasycom = resolveEasycom; exports.shallowSsrRef = shallowSsrRef; exports.ssrRef = ssrRef; diff --git a/packages/uni-app/dist/uni-app.d.ts b/packages/uni-app/dist/uni-app.d.ts index d0551d7c876c111ab52524a89922e4e4ba921b06..5376494a3beaf18b533a1cd016e6520b50c0dba9 100644 --- a/packages/uni-app/dist/uni-app.d.ts +++ b/packages/uni-app/dist/uni-app.d.ts @@ -28,6 +28,9 @@ declare interface CustomShareTimeline { imageUrl?: string; } +/** + * uni 对象是跨实例的,而此处列的 API 均是需要跟当前实例关联的,比如 requireNativePlugin 获取 dom 时,依赖当前 weex 实例 + */ export declare function getCurrentSubNVue(): any; export declare function getSsrGlobalData(): any; @@ -157,6 +160,8 @@ declare interface ReferrerInfo { extraData?: any; } +export declare function requireNativePlugin(name: string): any; + declare interface ResizeOption { size: { windowWidth: number; diff --git a/packages/uni-app/dist/uni-app.es.js b/packages/uni-app/dist/uni-app.es.js index 1fac657b1caf304dbbc6c97a8d3e5bed963c7ecd..e03a8759ed97b4dbc01cfddbb33ecce8e36a8e62 100644 --- a/packages/uni-app/dist/uni-app.es.js +++ b/packages/uni-app/dist/uni-app.es.js @@ -41,9 +41,15 @@ function getSsrGlobalData() { return sanitise(globalData); } +/** + * uni 对象是跨实例的,而此处列的 API 均是需要跟当前实例关联的,比如 requireNativePlugin 获取 dom 时,依赖当前 weex 实例 + */ function getCurrentSubNVue() { // @ts-ignore return uni.getSubNVueById(plus.webview.currentWebview().id); +} +function requireNativePlugin(name) { + return weex.requireModule(name); } function resolveEasycom(component, easycom) { @@ -93,4 +99,4 @@ const onNavigationBarSearchInputConfirmed = const onNavigationBarSearchInputFocusChanged = /*#__PURE__*/ createHook(ON_NAVIGATION_BAR_SEARCH_INPUT_FOCUS_CHANGED); -export { getCurrentSubNVue, getSsrGlobalData, onAddToFavorites, onBackPress, onError, onHide, onLaunch, onLoad, onNavigationBarButtonTap, onNavigationBarSearchInputChanged, onNavigationBarSearchInputClicked, onNavigationBarSearchInputConfirmed, onNavigationBarSearchInputFocusChanged, onPageNotFound, onPageScroll, onPullDownRefresh, onReachBottom, onReady, onResize, onShareAppMessage, onShareTimeline, onShow, onTabItemTap, onThemeChange, onUnhandledRejection, onUnload, resolveEasycom, shallowSsrRef, ssrRef }; +export { getCurrentSubNVue, getSsrGlobalData, onAddToFavorites, onBackPress, onError, onHide, onLaunch, onLoad, onNavigationBarButtonTap, onNavigationBarSearchInputChanged, onNavigationBarSearchInputClicked, onNavigationBarSearchInputConfirmed, onNavigationBarSearchInputFocusChanged, onPageNotFound, onPageScroll, onPullDownRefresh, onReachBottom, onReady, onResize, onShareAppMessage, onShareTimeline, onShow, onTabItemTap, onThemeChange, onUnhandledRejection, onUnload, requireNativePlugin, resolveEasycom, shallowSsrRef, ssrRef }; diff --git a/packages/uni-app/src/api.ts b/packages/uni-app/src/api.ts index 66f7b10a12896dfa18cf569d836c86f20887b394..10e4f311c2f392adccf528bc569e83872aca43b8 100644 --- a/packages/uni-app/src/api.ts +++ b/packages/uni-app/src/api.ts @@ -1,4 +1,11 @@ +/** + * uni 对象是跨实例的,而此处列的 API 均是需要跟当前实例关联的,比如 requireNativePlugin 获取 dom 时,依赖当前 weex 实例 + */ + export function getCurrentSubNVue() { // @ts-ignore return uni.getSubNVueById(plus.webview.currentWebview().id) } +export function requireNativePlugin(name: string) { + return weex.requireModule(name) +} diff --git a/packages/uni-cli-shared/src/env/provide.ts b/packages/uni-cli-shared/src/env/provide.ts index 22f7c8839b7cc529b818ce2300b1a74553c9e02c..cfe0386dd48320c9a7e2313bec2ee696cd403618 100644 --- a/packages/uni-cli-shared/src/env/provide.ts +++ b/packages/uni-cli-shared/src/env/provide.ts @@ -10,6 +10,7 @@ export function initAppProvide() { 'window.crypto': cryptoDefine, 'global.crypto': cryptoDefine, 'uni.getCurrentSubNVue': ['@dcloudio/uni-app', 'getCurrentSubNVue'], + 'uni.requireNativePlugin': ['@dcloudio/uni-app', 'requireNativePlugin'], } }