以uuid为例,普通二维可能是直接的UUID值,也可能是小程序后台配置的打开普通链接打开小程序,如 https://yourdomain.com/qr/uuid值
其中uuid值为字符、数字组合。以下为事例代码
onLoad(opt) {
_this = this
console.log(opt)
//传参数 uuid
let uuid = opt.uuid
if(uuid && uuid.indexOf('/') !== -1){
this.get_parse_qr(uuid)
}else{
this.uuid = opt.uuid || ''
}
//扫普通二维码
if(opt.q){
this.get_parse_qr(opt.q)
}
//opt.scene 是小程序码
},
methods: {
get_parse_qr(q){
let domain = this.config.domain;
let text = decodeURIComponent(q);
//小程序后台配置了 扫普通链接二维码打开小程序,值如 https://yourdomain.com/qr/
//4是/qr/的长度
let result = text.substr(domain.length+4);
if(result){
this.uuid = result
}
},
}
小程序内扫一扫
removeSpecialCharacters(input) {
// 使用正则表达式匹配并去除 0x1D 字符
return input.replace(/\u001d/g, ''); // 或者用 replaceAll 方法
},
open_qr() {
uni.scanCode({
scanType:['barCode','qrCode','datamatrix','pdf417'],
success: function(res) {
let d = _this.removeSpecialCharacters(res.result)
console.log("res.charSet==",res.charSet)
console.log('条码类型:' + res.scanType);
console.log('条码内容:' + d);
}
});
},