关于如何扫描普通二维码进入指定体验版小程序的问题
近期公司要求做一个二维码(具体没有说明是小程序二维码还是普通二维码),用户扫描二维码后进入公司的小程序,进入一键绑定登录成为顶级会员的功能,二维码需要携带固定的参数
具体实现
首先生成二维码
生成二维码之前,需要明确你要生成什么二维码,这里说明的是普通的二维码的配置方法,如果是小程序码或者小程序参数码,请自行度娘,这里我使用的是普通二维码来实现的,生成二维码的工具在这里,草料可以生成小程序吗或小程序参数码,功能很强大
但是这样的功能需要测试,所以需要扫码进入的是体验版的小程序,怎么才能扫码进入的是体验版小程序呢?
开始实现扫码进入体验版小程序
首先打开 小程序后台,打开 左侧的开发–>开发设置 向下拉 找到 扫普通链接二维码打开小程序的功能,这里需要说明一下,个人开发这个无法开启此功能,开启后
点击添加后
关于校验文件,你需要后端的小伙伴协助你校验
填写完成后,点击保存,若能成功保存,就说明文件校验成功,接下来就可以扫描二维码,进入的就是体验版小程序了
小程序如何接受参数呢?
可以在进入的第一个页面写一下代码
比如你的小程序路径是 pages/index/index 的话,就在index页面中写
onLoad:function (options) {
var params = this.getQueryParams(query.q)
console.log(params);
},
methods: {
getQueryParams:function (queryString) {
// 微信扫码得到的内容进行了一次编码,所以官方要求需要进行decodeURIComponent一次
queryString = decodeURIComponent(queryString)
let params = {}
if (queryString) {
let queryArray = queryString.split('?')
if (queryArray.length > 1) {
let query = queryArray[1]
let array = query.split('&')
array.map((value) => {
let valueArray = value.split('=')
if (valueArray.length > 1) {
// 还需要对value进行解码(可能涉及到在value为中文字符,在赋值到二维码前进行encodeURI编码)
Object.assign(params, { [valueArray[0]]: decodeURI(valueArray[1]) })
}
})
}
}
return params
}
}