通过后台接口可以获取小程序任意页面的二维码,扫描该二维码可以直接进入小程序对应的页面。
目前微信支持调用微信接口生成两种二维码,小程序码(1),小程序二维码(2),和用二维码生成器生成的普通链接二维码(3),如下所示:
生成小程序码和小程序二维码的具体操作文档写的很详细:微信接口获取二维码,
生成普通链接二维码,去草料输入链接生成一个就好,链接规则参考官方文档:扫码打开小程序接入指南
下面主要介绍如何获取二维码所带的参数。
值得注意的是,微信接口生成的二维码和普通链接二维码扫出来的数据是不一样的。
1. 微信接口
为满足不同需求和场景,这里提供了三个接口,开发者可挑选适合自己的接口。 A接口,生成小程序码,可接受path参数较长,生成个数受限。 B接口,生成小程序码,可接受页面参数较短,生成个数不受限。 C接口,生成二维码,可接受path参数较长,生成个数受限。
传入接口参数:
{"path": "pages/user/user?id=1&type=2", "width": 430}
注:
pages/user/user
需要在 app.json
的 pages
中定义,要写全,不能写成pages/user
,会报错//可以再两个地方拿到参数,根据需要自取
//app.js
onShow(options){
console.log(options)
}
//pages/user/user.js
onLoad(options){
console.log(options)
}
直接可以通过options.id, options.type
拿到数据,并不需要decodeURIComponent
处理。(这里就被坑了)
测试微信接口生成的二维码时,使用最新的开发工具 自定义编译条件,以控制台打印的数据为准。
2. 普通链接二维码
普通链接二维码,是指开发者使用工具对网页链接进行编码后生成的二维码。(比如去草料生成一个免费二维码)
登录微信公众平台后台,打开 设置 > 开发设置 > 扫普通链接二维码打开小程序 > 添加
比如我们添加一个链接规则:https://******.cn/user
,然后添加一条测试链接:https://******.cn/user?id=1&type=2
(定义链接参数有很多方式,根据规则来就可以了),这里需要下载校验文件
,放到指定的目录下,才能保存。
//可以再两个地方拿到参数,根据需要自取
//app.js
onShow(options){
console.log(options)
}
//pages/user/user.js
onLoad(options){
console.log(options)
}
可以看到返回了参数
q
,自行UrlDecode一次,即可获取原二维码的完整链接内容。
// app.js
if (options.query.q){
var link = decodeURIComponent(options.query.q); // https://******.cn/user?id=1&type=2
var query= link.split('?')[1]; // id=1&type=2
var id = query.split('&')[0].split('=')[1]
var type = query.split('&')[1].split('=')[1]
};
// pages/user/user.js
if (options.q){
var link = decodeURIComponent(options.q); // https://******.cn/user?id=1&type=2
var query= link.split('?')[1]; // id=1&type=2
var id = query.split('&')[0].split('=')[1]
var type = query.split('&')[1].split('=')[1]
};
感谢浏览,欢迎评论指正,转载请标明出处。