微信小程序:小程序码、小程序二维码、普通二维码

微信小程序:小程序码、小程序二维码、普通二维码

通过后台接口可以获取小程序任意页面的二维码,扫描该二维码可以直接进入小程序对应的页面。

目前微信支持调用微信接口生成两种二维码,小程序码(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]

};

感谢浏览,欢迎评论指正,转载请标明出处。

风雨相关