今天在整一个有关于快递的小程序,快递单号一般比较长,手动录入会很麻烦。
然后就找了一下,其实微信小程序 API 中自带一个扫码识别的功能。
wx.scanCode(Object object)调起客户端扫码界面进行扫码。
示例代码:// 允许从相机和相册扫码
wx.scanCode({
success(res) {
console.log(res)
}
})
// 只允许从相机扫码
wx.scanCode({
onlyFromCamera: true,
success(res) {
console.log(res)
}
})WXSS就不贴了
WXML部分(应用):
给扫描按钮的图片绑定一个事件,点击调用摄像头扫码,扫描成功将数值赋给 input 输入框的 value 值。效果如下图:
JS 部分(应用):data: {
scanCodeMsg: "",
},
scanCode: function() {
var that = this;
wx.scanCode({ //扫描API
success(res) { //扫描成功
console.log(res) //输出回调信息
that.setData({
scanCodeMsg: res.result
});
wx.showToast({
title: '成功',
duration: 1000
})
}
})
},参数 Object object属性类型默认值说明onlyFromCamerabooleanfalse是否只能从相机扫码,不允许从相册选择图片scanTypeArray.
值说明barCode一维码qrCode二维码datamatrixData Matrix 码pdf417PDF417 条码object.success 回调函数参数
Object res
属性类型说明resultstring所扫码的内容scanTypestring所扫码的类型charSetstring所扫码的字符集pathstring当所扫的码为当前小程序二维码时,会返回此字段,内容为二维码携带的 pathrawDatastring原始数据,base64编码res.scanType 的合法值
值说明QR_CODE二维码AZTEC一维码CODABAR一维码CODE_39一维码CODE_93一维码CODE_128一维码DATA_MATRIX二维码EAN_8一维码EAN_13一维码ITF一维码MAXICODE一维码PDF_417二维码RSS_14一维码RSS_EXPANDED一维码UPC_A一维码UPC_E一维码UPC_EAN_EXTENSION一维码WX_CODE二维码CODE_25一维码