@microbt/js-bridge
v0.0.0
Published
a brige for microbt client
Downloads
7
Readme
JSBrige 使用说明书
将构建产物 dist/umd/js-bridge.min.js
内置到客户端内,由 Webview 启动时加载并运行 JSBridge
基础约定
// 调用示例
SuperACME.call('module', parameter, fulfilled, rejected);
- 基础约定必须保持跨平台一致
SuperACME
为客户端注入 Webview 的全局对象,访问SuperACME.version
可获得当前 bridge 版本- 客户端在注入全局对象成功后,须通知运行时。Bridge 相关的所有调用发生在该通知之后。(通知方案待讨论 TODO)
module
为客户端实现的具体方法名称parameter
为运行时传入的参数对象。参数的具体规范,应与具体module
保持一一对应- 所有的 bridge 调用均为异步调用,
fulfilled
为成功调用的回调函数,rejected
为失败调用的回调函数,没有其他回调情况 fulfilled
的定义:(result) => void
,其中result
为模块调用返回的数据rejected
的定义:(error: {code: number; message: string; cause?: unknown}) => void
,其中error
为模块调用返回的错误对象。error.code
为错误码,error.message
为错误描述,error.detail
为错误详情(可选)
注入脚本涉及到 IO 异步操作,客户端注入成功后,WebView 运行时才能访问
SuperACME
全局对象。
错误码约定
- 0: 调用成功
- 1000:本地系统异常(1001-1999)约定具体的本地系统错误码(尽可能的保持跨平台的一致性)TODO
- 2000:本地业务异常(2001-2999)约定具体的业务错误码(保持跨平台的一致性)TODO
- 3000:远程调用异常(3001-3999)约定具体的远程调用错误码(保持跨平台的一致性)TODO
- 9999:未知的错误
页面的生命周期
SuperACME.call('onShow', {}, fulfilled);
- 页面生命周期至少包含:
onShow
(页面转换到前台时的回调)、onHide
(页面转换到后台时的回调) - 可选包含:
onCreate
(页面创建时的回调)、onDestroy
(页面销毁时的回调) fulfilled
的返回值待讨论 TODO- 该调用没有失败
判断模块/接口是否存在
SuperACME.call('canIUse', 'module', fulfilled);
module
为模块名fulfilled
的返回值为true
orfalse
- 该方法不会调用失败
Model 定义
明确定义各个模块的入参与出参的数据结构。TODO
- 客户端版本
- 远程请求
- 打开新的窗口
- 支付
- 用户信息