当前位置:网站首页>微信小程序获取扫描二维码后携带的参数

微信小程序获取扫描二维码后携带的参数

2022-06-24 23:41:00 YZHD

微信小程序获取扫描二维码后携带的参数

1、decodeURIComponent解析生成二维码的链接。

 /** * 生命周期函数--监听页面加载 */
  onLoad: function(options) {
    
    if (options.scene) {
    
     //获取二维码的携带的链接信息
      let qrUrl = decodeURIComponent(options.scene)
      console.log(qrUrl)
      this.setData({
    
      	//获取链接中的参数信息
        actId: utils.getQueryString(qrUrl, 'actId'),
        shareUserId: utils.getQueryString(qrUrl, 'shareUserId'),
      })
    } 
  },

2、utils中获取链接中所携带的参数

// 解析链接中的参数
let getQueryString = function (url, name) {
    
  console.log("url = " + url)
  console.log("name = " + name)
  var reg = new RegExp('(^|&|/?)' + name + '=([^&|/?]*)(&|/?|$)', 'i')
  var r = url.substr(1).match(reg)
  if (r != null) {
    
    console.log("r = " + r)
    console.log("r[2] = " + r[2])
    return r[2]
  }
  return null;
}

//导出方法,外部调用
module.exports = {
    
  getQueryString: getQueryString,
}

避坑:

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

这时可以接收到 拿着参数去请求数据等等操作~

假如你的小程序要发布了

这时候应该改变获取参数的方式,因为正式发布后的获取的参数和在开发者工具中是不一样的,这个坑!!!。下面代码是你获取正式发布小程序后的入口二维码中参数的代码,scene是微信生成二维码方法的一个参数,用来写你要在二维码中携带的参数

onLoad (option) {
    
  console.log(option)
  if (option.scene) {
    
    let obj = decodeURIComponent(option.scene)
    ... // 这里就是你拿着参数obj进行操作
  }
}

decodeURIComponent详解

原网站

版权声明
本文为[YZHD]所创,转载请带上原文链接,感谢
https://blog.csdn.net/m0_65447589/article/details/125428649