@yingzhixiaoyi/native-bridge
v0.0.1
Published
Explicit H5 to Native WebView JSBridge adapters
Readme
@yingzhixiaoyi/native-bridge
H5 与 iOS/Android WebView Native Bridge 的无框架适配包。
能力边界
负责 JsBridgePromise、app_native_sdk、app_call_h5_sdk 的安装、回调和调用,isCompanyApp / isUeApp / isPkApp / isBelieveInterApp / isXsjApp / isPcnApp / isGreenPcnApp 等 Native App 环境识别,以及 Native/H5 复制通道选择;支持主应用转发与 standalone 子应用本地分发。
不负责 Vue Toast、Wujie bus、路由、Native 原生实现、业务 method 白名单、加密协议或具体业务提示文案。
使用
import { app_native_sdk_func, installNativeBridgeOnWindow } from '@yingzhixiaoyi/native-bridge'
installNativeBridgeOnWindow({
onRouteToChild: payload => console.info('route to child', payload.childApp),
})
await app_native_sdk_func(
{ methodName: 'readClipboardContent', params: {} },
result => console.log(result),
{ onUnavailable: () => console.info('仅支持 App WebView') },
)页面需要判断运行环境时,直接使用 isCompanyApp()、isPkApp()、isXsjApp() 或 isPcnApp();不要从通用 @yingzhixiaoyi/utils 引入 Native App 判断。
standalone 子应用使用 installSubAppNativeBridge({ appIdentity, onDispatch });Wujie 内嵌时默认复用已有宿主桥。
兼容性与安全
- 运行时只在调用/安装时访问浏览器全局,Node/SSR 可安全导入。
- 支持 iOS
UeNativeBridge/PkNativeBridge和 Android 同名对象。 - 不自动打印 method 参数或返回数据;Native 侧必须通过 callbackId 回调。
app_native_sdk_func不内置 Vue 或 Toast,宿主自行决定展示方式。
