扫码

二维码扫码

注意:

微信扫描二维码,点击取消会进入成功回调,返回 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; // 错误信息
  }
});

mdf悬浮扫描

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; // 错误信息
  }
});

是否仍需要帮助? 请保持联络!
最后更新于 2024/12/2