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

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

目前微信支持调用微信接口生成两种二维码,小程序码(1),小程序二维码(2),和用二维码生成器生成的普通链接二维码(3),如下所示:


微信小程序:小程序码、小程序二维码、普通二维码_第1张图片

生成小程序码和小程序二维码的具体操作文档写的很详细:微信接口获取二维码,
生成普通链接二维码,去草料输入链接生成一个就好,链接规则参考官方文档:扫码打开小程序接入指南
下面主要介绍如何获取二维码所带的参数。
值得注意的是,微信接口生成的二维码和普通链接二维码扫出来的数据是不一样的。

1. 微信接口

为满足不同需求和场景,这里提供了三个接口,开发者可挑选适合自己的接口。 A接口,生成小程序码,可接受path参数较长,生成个数受限。 B接口,生成小程序码,可接受页面参数较短,生成个数不受限。 C接口,生成二维码,可接受path参数较长,生成个数受限。

微信小程序:小程序码、小程序二维码、普通二维码_第2张图片
笔者根据微信提供的方式在开发工具上测试了一下:
传入接口参数: {"path": "pages/user/user?id=1&type=2", "width": 430}
注:pages/user/user 需要在 app.jsonpages 中定义,要写全,不能写成pages/user,会报错
微信小程序:小程序码、小程序二维码、普通二维码_第3张图片

//可以再两个地方拿到参数,根据需要自取
//app.js
onShow(options){
  console.log(options)
}

//pages/user/user.js
onLoad(options){
  console.log(options)
}
微信小程序:小程序码、小程序二维码、普通二维码_第4张图片

直接可以通过options.id, options.type拿到数据,并不需要decodeURIComponent处理。(这里就被坑了)


测试微信接口生成的二维码时,使用最新的开发工具 自定义编译条件,以控制台打印的数据为准。

2. 普通链接二维码

普通链接二维码,是指开发者使用工具对网页链接进行编码后生成的二维码。(比如去草料生成一个免费二维码)

登录微信公众平台后台,打开 设置 > 开发设置 > 扫普通链接二维码打开小程序 > 添加
比如我们添加一个链接规则:https://******.cn/user,然后添加一条测试链接:https://******.cn/user?id=1&type=2(定义链接参数有很多方式,根据规则来就可以了),这里需要下载校验文件,放到指定的目录下,才能保存。

微信小程序:小程序码、小程序二维码、普通二维码_第5张图片
然后去 草料生成一个二维码,用 手机微信扫描这个二维码进入小程序。暂时无法用开发者工具扫描,因为开发者工具只能扫描小程序码。同样的

//可以再两个地方拿到参数,根据需要自取
//app.js
onShow(options){
  console.log(options)
}

//pages/user/user.js
onLoad(options){
  console.log(options)
}

微信小程序:小程序码、小程序二维码、普通二维码_第6张图片

可以看到返回了参数 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]
};

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

你可能感兴趣的:(微信小程序:小程序码、小程序二维码、普通二维码)