微信扫码带参跳转小程序

在微信公众平台“开发设置”中,我们添加了一个“扫普通链接二维码打开小程序”,并且已发布,后台生成一个二维码之后,解析出来是需要带参数的,比如 https://XXX.com/pages/index/i... 等,参数大概8个左右,小程序发布以后,我们扫码后,在日志里面发现获取的参数都未undefined,
前台获取代码写在onLoad中:

onLoad: function(options) {
        let that = this;
        let id = options.id;
        let num = options.num;
        let lang = options.lang;
            ·
            ·
            ·
        wx.request({
            url: app.data.WebRoot + "xxx",
            data:{
                id:id,
                num:num,
                lang:lang
            },
            success: function(res) {
                
            }
        });

}
阅读 3.2k
2 个回答

找到问题了,微信扫码进入小程序和小程序扫码是不一样的
参数要用options.q来获取,decodeURIComponent()转化一下,转出来是一个全地址,需要字符串截取,可以用正则,也可以直接循环获取

if (options.q != null && options.q != '') {
    var src = decodeURIComponent(options.q);
    var c = {}
    var a = src.split("narrate?");
    if (a[1] != null && a[1] != '') {
        var b = a[1].split("&");
        for (var i = 0; i < b.length; i++) {
            var bb = b[i].split("=")
            if (bb[1] != null && bb[1] != '') {
                c[bb[0]] = bb[1]
            }
        }
    }
}

打印下options不久知道什么问题了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题