天天看点

普通二维码跳转微信小程序

去微信公众平台,在开发那里的开发管理-》开发设置,下拉到“扫普通链接二维码打开小程序”。如下图:

普通二维码跳转微信小程序

然后添加配置,如下图:

二维码规则要写自己服务器的域名+前缀,一般建议前缀是其他地方没用到的。下面的test.cn/miniProgram是我随便写的域名。

小程序功能页面指扫码跳转后的小程序的页面

注意:需要把校验文件放到域名的根目录下才能添加成功

普通二维码跳转微信小程序

发布

设置成功后便需要发布

如果小程序还没上线过,是不允许发布的。只能先上线,才能测试关于这块的功能。可以先上线,然后关掉小程序的被搜索选项

普通二维码跳转微信小程序

测试二维码跳转

去草料二维码生成一个二维码。id=1&name=test是携带的参数

普通二维码跳转微信小程序

参数问题

扫码进去参数是不一样的,扫码进去的参数被做了encodeURIComponent处理并且放在q里面,再传过来。如下:

{
    q:"https%3A%2F%2Ftest.cn%2FminiProgram%3Fid%3D1%26name%3Dtest",
    scancode_time:"1618969967"//扫码的时间
}
           

获取参数的代码如下:由于我用的是mpvue,写的是vue的写法,微信小程序原生的话需要你们根据需要自己修改

data () {
  return {
    options: {}    
  }
},
methods: {
  ...

  // 获取url里传回的参数
  parseUrl (url) {
    var query = {} // 存储参数
    try {
      if (url.indexOf('?') >= 0) {
        url = url.split('?')[1].split('&')
      } else {
        query = null
        return query
      }

      var params = url

      for (var i = 0; i < params.length; i++) {
        var param = params[i].split('=')
        query[param[0]] = decodeURIComponent(param[1])
      }
    } catch (error) {
      console.warn('解析url参数失败', error)
    }
    return query
  },
  
  ...
},

onLoad (options) {
  // 扫码进去的
  if (options.q) {
    let scene = decodeURIComponent(options.q)  // 使用decodeURIComponent解析  获取当前二维码的网址
    this.options = this.parseUrl(scene)
  } else {
    this.options = options || {}

  }
}
           

继续阅读