收藏
回答

小程序中如何取到普通链接二维码中的业务参数

问题模块 框架类型 问题类型 终端类型 微信版本 基础库版本
框架 小程序 需求 客户端 6.7.1 2.2.3

- 需求的场景描述(希望解决的问题)

微信后台二维码规则是这么配的: https://www.xxx.com/a

实际生成的二维码链接是这样的:

https://www.xxx.com/a?id=123



- 希望提供的能力

业务参数id是动态的,希望在小程序中获取二维码传入的id值。

目前尝试在小程序入口页面这么写无效,取不到该值:

onLoad({ id }) {
    console.log(id)
}



问题已解决:

onLoad({ q }) {
    console.log(decodeURIComponent(q))
}

只能这样,通过q参数拿到完整的二维码链接,再自行切割获取id参数。

onLoad({ id })、onLoad({ options })均无法获取到值。

最后一次编辑于  2018-08-22
回答关注问题邀请回答
收藏

5 个回答

  • 大科
    大科
    2018-08-24

    var scan_url = decodeURIComponent(options.q);

    function fuck(name) {

    var reg = new RegExp("[^\?&]?" + encodeURI(name) + "=[^&]+");

    var arr = scan_url.match(reg);

    if (arr != null) {

    return decodeURI(arr[0].substring(arr[0].search("=") + 1));

    }

    return "";

    }

    fuck("id")


    2018-08-24
    赞同
    回复
  • 栗米
    栗米
    2018-08-23

    decodeURIComponent(options.q)

    扫码 后  onLoad时候 执行 decodeURIComponent(options.q)    根据自己规则截取就好了

    后台怎么配置的二维码规则 就要根据规则生成二维码


    2018-08-23
    赞同
    回复
  • 🚗🚕🚙🚌🚎🚒🚐🚚
    🚗🚕🚙🚌🚎🚒🚐🚚
    2018-08-22

    是小程序码吧?二维码参数获取

    onLoad({ options }) {
        console.log(options.scene)
    }

    2018-08-22
    赞同
    回复 1
    • 风
      2018-08-22

      无效。只能通过q参数获取

      2018-08-22
      回复
  • 风
    2018-08-22

    能扫码,也能打开小程序,就是获取不到参数

    2018-08-22
    赞同
    回复 1
    • 陈
      2018-08-22

      用这个试一下

      // 允许从相机和相册扫码

      wx.scanCode({  success: (res) => {    console.log(res)

       } })


      2018-08-22
      回复
  • 陈
    2018-08-22

    能扫码吗

    2018-08-22
    赞同
    回复