注意:
微信扫描二维码,点击取消会进入成功回调,返回 undefined。
scanQRCode
调起扫一扫
支持平台
| 微信 | 友空间 | 安卓 | iOS | 
|---|---|---|---|
| ✔︎ | ✔︎ | ✔︎ | ✔︎ | 
参数
| 字段 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| scanType | string[] | 否 | 可以指定扫二维码还是条形码,可选值为 qrCode 和 barCode,默认二维码['qrCode']。 | 
| needResult | number | 否 | 默认为0,扫描结果由端上处理,1则直接返回扫描结果。 | 
返回参数说明
| 字段 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| resultStr | string | 否 | 扫描数据 | 
示例
mtl.scanQRCode({
  scanType: ["qrCode", "barCode"],
  needResult: 1,
  success: function(res) {
    var result = res.resultStr;
  },
  fail: function(err) {
    var message = err.message; // 错误信息
  }
});
generateQRCode
生成二维码
支持平台
| 微信 | 友空间 | 安卓 | iOS | 
|---|---|---|---|
| ✔︎ | ✔︎ | ✔︎ | ✔︎ | 
参数
| 字段 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| str | string | 是 | 用于生成二维码的字符串 | 
| size | string | 否 | 生成图片大小,默认 100 * 100 | 
返回参数说明
| 字段 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| imgSrc | string | 是 | 二维码图片 | 
示例
mtl.generateQRCode({
  str: "", // 用于生成二维码的字符串
  size: 200, // 生成图片大小,默认 100 * 100
  success: function(res) {
    // imgSrc 为 base64 字符串
    var src = res.imgSrc;
  },
  fail: function(err) {
    var message = err.message; // 错误信息
  }
});
customScanQRCode
调用扫一扫功能,对二维码或者条码进行扫描。(友空间5.18.0及以上版本)
支持平台
| 微信 | 友空间 | 安卓 | iOS | 
|---|---|---|---|
| ✘ | ✔︎ | ✔︎ | ✔︎ | 
参数
| 字段 | 类型 | 默认值 | 必填 | 说明 | 
|---|---|---|---|---|
| type | number | 1 | 否 | 扫描方式 0: 单次,扫描出结果后自动关闭页面 1: 连续,扫描出结果后不自动关闭页面 | 
| url | string | 是 | 扫码页面内部扫描结果浏览器的网址 | |
| callback | string | 是 | 扫描完成后的回调方法名 注册方式 | |
| customNavi | number | 否 | 1: 自定义导航 0: 默认导航 | |
| leftItems | array[object] | 否 | 导航栏左边的菜单项 (点击默认关闭页面) | |
| rightItems | array[object] | 否 | 导航栏右边的菜单项 | |
| centerItems | array[object] | 否 | 导航栏中间的菜单项 | 
leftItems内部结构字段说明
| 名称 | 类型 | 默认值 | 必填 | 说明 | 
|---|---|---|---|---|
| title | string | 是 | 按钮文字 | |
| callback | string | 否 | 菜单项回调 注册方式 点击后自动关闭页面。 | 
centerItems内部结构字段说明
| 名称 | 类型 | 默认值 | 必填 | 说明 | 
|---|---|---|---|---|
| title | string | 是 | 按钮文字 | 
rightItems内部结构字段说明**
| 名称 | 类型 | 默认值 | 必填 | 说明 | 
|---|---|---|---|---|
| title | string | 是 | 按钮文字 | |
| callback | string | 否 | 菜单项回调 注册方式 | |
| isClose | number | 0 | 否 | 0: 点击菜单项不关闭页面 1: 点击菜单项关闭页面 isClose生效必须调用callback | 
注意
url页面需要 注册按钮事件和扫描回调事件,用于接收事件回调。
必填:
typeof responseCallback === 'function' && responseCallback({name:'FromJS name'})
按钮事件和扫描事件调用试例:
mtl.registerCommonCallback("scanResultCallback", function(res,responseCallback) {
  // res 为返回数据  responseCallback原生回调
  console.log("scanResultCallback:",JSON.stringify(res));
  // 必填
  //要使连续扫码生效,必须调用callback原生回调,原生会发起下一次扫码。
  //要使isClose生效,必须调用callback原生回调,原生会判断是否关闭页面。
  typeof responseCallback === 'function' && responseCallback({msg:'FromJS scanResultCallback'});
});
返回参数
| 字段 | 说明 | 
|---|---|
| qrString | 识别结果 | 
示例
mtl.customScanQRCode({
  success: function(res) {
    // 成功回调
        ...
  },
  fail: function(err) {
    var message = err.message; // 错误信息
  }
});
suspendScanQRCode (6.0.0及以上)
webViewCustomScanQRCode(mtl支持版本5.5.63)(即将废弃)
调用扫一扫功能,对二维码或者条码进行扫描,可定制扫描框的位置和大小。
支持平台
| 微信 | 友空间 | 安卓 | iOS | 
|---|---|---|---|
| ✘ | ✘ | ✔︎ | ✔︎ | 
参数
| 字段 | 类型 | 默认值 | 必填 | 说明 | 
|---|---|---|---|---|
| type | number | 1 | 否 | 扫描方式 0: 单次,扫描出结果后自动关闭页面 1: 连续,扫描出结果后不自动关闭页面 | 
| hide | number | 0 | 否 | 是否隐藏悬浮扫描框 0:显示 1:隐藏 | 
| callback | function | 是 | 扫描结果的回调方法 | |
| scanLeftRatio | number | 0 | 否 | 扫描框左边与屏幕左边的间距占屏幕宽度的比例,范围[0,1] | 
| scanTopRatio | number | 0.1 | 否 | 扫描框顶部与屏幕顶部的间距占屏幕高度的比例,范围[0,1] | 
| scanWidthRatio | number | 1 | 否 | 扫描框宽度占屏幕宽度的比例,范围(0, 1] | 
| scanHeightRatio | number | 0.4 | 否 | 扫描框高度占屏幕高度的比例,范围[0, 1] | 
返回参数
| 字段 | 说明 | 
|---|---|
| qrString | 识别结果 | 
示例
mtl.suspendScanQRCode({
  callback:function(res) {
         var qrString = res.qrString
  },
  success: function(res) {
    // 成功回调
        ...
  },
  fail: function(err) {
    var message = err.message; // 错误信息
  }
});
