收藏
回答

无法正确获得带多个参数的小程序页面二维码的参数

问题模块
开发者工具

当页面路径的参数是单个的时候,比如pages/store?store_id=1通过onLoad(options)中的options可以获取store_id。


但是当页面路径的参数是多个,比如pages/floors?store_id=1&floor_id=8:


当页面是pages/store?store_id=1, 扫描二维码获取单个参数store_id没有问题。

但是当页面是pages/floor?store_id=1&floor_id=8,无法正确获得store_id和floor_id


根据该页面路径生成页面二维码,用微信扫描二维码,在onLoad(options)方法中,通过console.log(options)打印出来是这个样子:

{stored_id:"1\u0026floor_id=8"}

但很久之前的行为是正确的,也就是说打印出来是{store_id: "1", floor_id: "8"}
看起来似乎&被转义成了\u0026


而通过体验版生成的二维码,打印出来是

{stored_id:"1", amp;floor_id=8"},

也就是说&被转义成了“amp;


在开发者工具中,因为是直接设置启动页面和启动参数,在扫面预览生成的的二维码,打印出来是完全正确的

{stored_id:"1", floor_id=8"}


请问这个是微信后端生成二维码的bug还是微信客户端扫描后解析options的bug?

怎么解决?






最后一次编辑于  2017-09-26  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏关注问题回答

16 个回答

  • 庭海
    庭海
    2017-09-26

    可以通过scene来传递二维码参数


    2017-09-26
    赞同
    回复
  • 🐭 瓜有冰的🍉
    🐭 瓜有冰的🍉
    2017-09-26


    从官网的文档上来看,用scene传递参数只适用于接口B,但是接口B生成的小程序码。

    现在需要用接口C生成二维码,所以还是不能解决该问题

    2017-09-26
    赞同
    回复
  • 🐭 瓜有冰的🍉
    🐭 瓜有冰的🍉
    2017-09-26

    官网文档:

    https://mp.weixin.qq.com/debug/wxadoc/dev/api/qrcode.html

    2017-09-26
    赞同
    回复
  • 庭海
    庭海
    2017-09-26

    哦,scene的方式其实就是将你的参数加密合并:简单的可以通过_或者其他的方式连接你的参数值



    2017-09-26
    赞同
    回复
  • 🐭 瓜有冰的🍉
    🐭 瓜有冰的🍉
    2017-09-26

    https://mp.weixin.qq.com/debug/wxadoc/dev/api/qrcode.html描述的接口C也可以使用scene这样的方式传递吗?

    2017-09-26
    赞同
    回复
  • 庭海
    庭海
    2017-09-26

    其实scene的理论就是你服务端保存好参数值,将其加密后的key放在url后,这样可以把大量的参数变成一个参数


    如果你的参数值形式比较简单,你完全可以将几个参数通过分割字符连接成一个:store_id=1&floor_id=8 =>param_ids=1_8 类似这样的,还有就是将路由变成/key/value/这样


    不过从你给的场景来看,似乎应该用b类二维码啊,ac类二维码是有调用次数限制的

    2017-09-26
    赞同
    回复
  • 🐭 瓜有冰的🍉
    🐭 瓜有冰的🍉
    2017-09-26

    嗯嗯,store_id=1&floor_id=8 =>param_ids=1_8相当于自己做解析了。B类接口会生成小程序码,考虑到使用场景,小程序码的认知度不如普通的二维码,所以我们选择了接口C

    2017-09-26
    赞同
    回复
  • jeremy
    jeremy
    2017-09-26

    麻烦贴一下二维码,我们看看

    2017-09-26
    赞同
    回复
  • Mr.J
    Mr.J
    2017-09-26

    这个问题我以前两次发帖提问都没有解决


    扫码入口&转为&小程序识别不了 

    https://developers.weixin.qq.com/blogdetail?action=get_post_info&lang=zh_CN&docid=fd0a200620b28bfcdac5107fb34a22f2


    带多参数二唯码小程序接收&符号问题 

    https://developers.weixin.qq.com/blogdetail?action=get_post_info&lang=zh_CN&docid=a537436724f7949352a2917761d444c5

    2017-09-26
    赞同
    回复
  • jeremy
    jeremy
    2017-09-26

    必现吗?刚测试了多个参数的情况,没有出现问题。贴一下有问题的二维码看看

    2017-09-26
    赞同
    回复