# TMSBridge

小程序提供给插件的扩展(Object 实例)。在插件内通过 requireMiniProgram() 引入。

# bind

绑定当前调用域。小程序与插件相互独立,navigateTo 依赖当前调用域。

# TMSBridge.bind(Object object)

# 参数
  • wx

# showAuthLayer

用户未授权使用接入方插件时,触发弹出授权窗口的方法。

# TMSBridge.showAuthLayer(Object object)

# 参数
  • Object object
属性 类型 必须 默认值 说明
appId String 需要授权的目标插件appId
complete function 接口调用结束的回调函数(调用成功、失败都会执行)
# 示例代码

插件页面 js 文件

Page({
  data: {},
  onLoad: function () {
    const { TMSBridge } = requireMiniProgram(); // 引入小程序扩展能力
    this.TMSBridge = TMSBridge.bind(wx);        // 绑定当前调用域
  },
  navToPluginWithAuth: function(e) {
    const { isLogin } = this.data.options; // 授权结果将在组件参数 options 中获取
    if (!isLogin) {
      // 未授权
      this.TMSBridge.showAuthLayer({ appId: 'wx65cc950f42e8fff1' });
    } else {
      // this.navToPlugin(); 已授权
    }
  },
});

# * tms.navigateToWeapp

(此方法通过 @tmsfe/tms-websdk 在H5中调用) 查看详情

从 web-view 内跳转至跳转至出行小程序(或插件)页面。

# tms.navigateToWeapp(Object object)

# 参数
  • Object object
属性 类型 必须 默认值 说明
appId String 跳转目标小程序(或插件)的 appId
path String 跳转的页面路径和参数
# 示例代码

插件页面 js 文件

  const appid = 'wx65cc950f42e8fff1';
  const path = '/demo-pay?id=9527&code=1212';
  tms.navigateToWeapp({ appid, path });

插件跳转至H5某个页面。H5页面需要提前绑定业务域名。

# TMSBridge.navigateToWebview(Object object)

# 参数
  • Object object
属性 类型 必须 默认值 说明
url String 请求的H5链接
message function web-view 向小程序 postMessage 时接收消息
complete function 接口调用结束的回调函数(调用成功、失败都会执行)
  • object.message 回调函数 参数 Object data
属性 类型 说明
data array.<any> 多次 postMessage 的参数组成的数组
# 示例代码

插件页面 js 文件

Page({
  data: {},
  onLoad: function () {
    const { TMSBridge } = requireMiniProgram(); // 引入小程序扩展能力
    this.TMSBridge = TMSBridge.bind(wx);        // 绑定当前调用域
  },
  navToH5: function(e) {
    this.TMSBridge.navigateToWebview({          // 跳转至H5页面
      url: 'https://tai.qq.com/test.html',
      message: ({ data }) => {
        // console.log('on postMessage:', data)
      },
    });
  },
});

插件跳转至另一个插件页面。

# TMSBridge.navigateToPlugin(Object object)

# 参数
  • Object object
属性 类型 必须 默认值 说明
appId String 需要授权的目标插件appId
url String 跳转的目标页面和参数
complete function 接口调用结束的回调函数(调用成功、失败都会执行)
# 示例代码

插件页面 js 文件

Page({
  data: {},
  onLoad: function () {
    const { TMSBridge } = requireMiniProgram(); // 引入小程序扩展能力
    this.TMSBridge = TMSBridge.bind(wx);        // 绑定当前调用域
  },
  navToPlugin: function(e) {
    this.TMSBridge.navigateToPlugin({          // 跳转至目标插件页面
      url: '/inde?a=1&b=2',
      moduleName: 'xxxPlugin',
    });
  },
});

插件跳转至小程序指定页面。

# TMSBridge.navigateToMP(Object object)

# 参数
  • Object object
属性 类型 必须 默认值 说明
page String 跳转的页面名称:
realname 实名认证,orderList 订单列表
query String 携带的参数
complete function 跳转成功后的回调函数
message function 页面返回触发回传数据的方法
# 示例代码

插件页面 js 文件

Page({
  data: {},
  onLoad: function () {
    const { TMSBridge } = requireMiniProgram(); // 引入小程序扩展能力
    this.TMSBridge = TMSBridge.bind(wx);        // 绑定当前调用域
  },
  navToPlugin: function(e) {
    this.TMSBridge.navigateToMP({          // 跳转至小程序页面
      page: 'realname',
      query: 'from=hlzh',
      message: (res) => {
        // console.log(res);
        // {"errMsg":"","auth":true,"encryptData":"D1tfbhT3dCN+Fo1PNquz9afwDrHsw0Sxq8tcct0tE4c9z7Yg7ahlCShedDjYml/lHa16AYxrSRxlWb9BAsYg/33w2P6Ps8JRiNMMjbSWwEA=","seqid":"1621954926982879521"}
      },
    });
  },
});

# chooseAddress

插件调用主程序获取地址信息。

# TMSBridge.chooseAddress(Object object)

# 参数
  • Object object
属性 类型 必须 默认值 说明
complete function 接口调用结束的回调函数(包含返回数据)
  • object.complete 回调函数
属性 类型 说明
name string 收货人姓名
adCode string 邮编
address string 详细收货地址信息
phone string 收货人手机号码
region array.<string> 行政区划信息(如:["广东省", "深圳市", "南山区"])
errMsg string 错误信息(成功时为空字符串)
# 示例代码

插件页面 js 文件

Page({
  data: {},
  onLoad: function () {
    const { TMSBridge } = requireMiniProgram(); // 引入小程序扩展能力
    this.TMSBridge = TMSBridge.bind(wx);        // 绑定当前调用域
  },
  tapAddress: function(e) {
    this.TMSBridge.chooseAddress({              // 获取地址信息
      complete: (res) => {
        // console.log("address", res);
        // {"errMsg":"","name":"张三","phone":"13800138000",
        // "adCode":"100180","region":["北京市","北京市","海淀区"],"address":"西北旺东路9号院"}
      },
    });
  },
});

# choosePassenger

插件调用主程序获取出行人信息。

# TMSBridge.choosePassenger(Object object)

# 参数
  • Object object
属性 类型 必须 默认值 说明
picktype string single 选择方式:选择单个人 single, 选择多个人 multiple
complete function 接口调用结束的回调函数(包含返回数据)
  • object.complete 回调函数
属性 类型 说明
list array.<object> 选中的出行人列表
  • Object list
属性 类型 说明
name string 姓名
pinyin array.<string> 名字拼音(如:["ZHANG", "SAN"])
idnumber string 身份证号
mobile string 手机号,格式:国别码-电话号
# 示例代码

插件页面 js 文件

Page({
  data: {},
  onLoad: function () {
    const { TMSBridge } = requireMiniProgram(); // 引入小程序扩展能力
    this.TMSBridge = TMSBridge.bind(wx);        // 绑定当前调用域
  },
  tapInput: function(e) {
    this.TMSBridge.choosePassenger({              // 获取出行人信息
      complete: ({ list }) => {
        // console.log("passenger", list);
        // [{"name":"张三","pinyin":["ZHANG","SAN"],"mobile":"86-13813881388","idnumber":"450702198809168886"}]
      },
    });
  },
});