由于之前做的小程序带参数进入都是用芝麻小程序做的二维码,直接传参即可,现在项目老大说要后台调用getWXACodeUnlimit生成二维码前端去取值。然后自己这三个问题搞了好久(当然也有百度),有些压根答不到点上,有些只有前半部分,所以我自己在这里也写一个吧,把整个需要扫码的流程都写完。
不同之处:有sence=这个参数。取值略微不同。
1.先说后台调getWXACodeUnlimit生成二维码,用户从微信进去点击扫一扫
onLoad: function (options) {
if (this.getUrlParam("cabinet_id", decodeURIComponent(options.scene))) {//扫码进来带参数
this.setData({ cabinet_id: this.getUrlParam("cabinet_id", decodeURIComponent(options.scene)) });//将id赋值给data里面的变量
}
},
// 获取扫码后的字符串,因为考虑有多个参数,所以写了一个公共函数
getUrlParam(name, str) {
let regs = new RegExp("scene=", "g"); //场景值
str = str.replace(regs, "");
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
var array = str.match(reg);
if (array != null)