1、点击扫码直接打开文件,通过二维码得到了个后台反的url地址(https://....?参数=值&参数=值),把地址的参数拿取出来,之后调用接口就完成了,如果是和我一样操作的,建议复制。
//按钮样式跳转扫码
<button class="btn-bottom" bindtap="saomasuy">扫码</button></view>
//根据扫码内容调用接口,传输数据,跳转传参
saomasuy() {
var e = this;
wx.scanCode({ //允许从相机与相册扫码,调起客户端扫码界面进行扫码
success: function (a) {
console.log(a, '扫码结果');
// scanType string 所扫码的类型
if (a.scanType == 'WX_CODE') {
var t = a.path.split("="); //当所扫的码为当前小程序二维码时,会返回此字段,内容为二维码携带的 path
}
if (a.scanType == 'QR_CODE') {
// 获取url地址的参数,结果是对象形式
let str = a.result.substr(a.result.indexOf("?") + 1) + "&";
let strs = str.split("&");
let theRequest={}
for (let i = 0; i < strs.length - 1; i++)
{
let key = strs[i].substring(0, strs[i].indexOf("="));
let val = strs[i].substring(strs[i].indexOf("=") + 1);
theRequest[key] = val;
}
var device_sn=theRequest.device_sn;
var cate=theRequest.cate
console.log(device_sn,cate,'截取成哥数据');
wx.request({
url: '扫码完成后调用的后端接口数据',
//后端需要的参数
data: {
device_sn:device_sn,
cate:cate
},
header: {
'content-type': 'application/x-www-form-urlencoded', //查询字符串
},
method: 'POST',
success(res) {
console.log(res, '结果,可以判断状态码之后进行操作');
}
})
}
wx.showLoading({
title: "正在查询..."
});
}
});
},
希望对你有所帮助~~