开发公众号页面 使用wx.scanQRCode 这个时候 设置needResult: 0时候 打开相机后不进行其他操作直接关闭相机页面就会跳转到了/undefined页面。能帮看看是不是下面代码写的有问题
//代码
import { getWXJSSDK } from '@/request'
import { Dialog } from 'vant'
export function useJSSDK() {
function wxjssdkFun(callback = () =>{}) {
getWXJSSDK({url: window.location.href.split('#')[0]}).then(res => {
let { appId, jsapi_ticket, nonceStr, signature, timestamp } = res.data
wx.config({
debug: false, // 开启调试模式,调用的所有 api 的返回值会在客户端 alert 出来,若要查看传入的参数,可以在 pc 端打开,参数信息会通过 log 打出,仅在 pc 端时才会打印。
appId, // 必填,公众号的唯一标识
timestamp, // 必填,生成签名的时间戳
nonceStr, // 必填,生成签名的随机串
signature,// 必填,签名
jsApiList: ["scanQRCode"] // 必填,需要使用的 JS 接口列表
});
wx.ready(function(){
callback()
});
wx.error(function(res){
Dialog.alert({
title: '温馨提示',
message: '打开摄像头失败!'+res,
}).then(() => {
});
});
})
}
function scanQRCodeFun() {
wxjssdkFun(() =>{
wx.scanQRCode({
needResult: 1, // 默认为0,扫描结果由微信处理,1则直接返回扫描结果,
scanType: ["qrCode","barCode"], // 可以指定扫二维码还是一维码,默认二者都有
success: function (res) {
var result = res.resultStr; // 当needResult 为 1 时,扫码返回的结果
let dom = document.createElement('a');
dom.setAttribute('href', result);
document.body.appendChild(dom);
dom.click();
},
error:function(res){
Dialog.alert({
title: '温馨提示',
message: '!'+res,
}).then(() => {
});
console.log('fail')
}
});
})
}
return { wxjssdkFun,scanQRCodeFun }
}