1.使用场景
1.医院场景:比如每个医生一个id,通过带参数二维码,扫码二维码就直接进入小程序医生页面2.餐厅场景:比如每个菜一个二维码,通过扫码这个菜的二维码,进入小程序后,可以直接点这道菜,而不是要找菜铺。
3.电商场景:扫码二维码带参数,进入小程序直接购买,比如通过公众号,通过带参数二维码,用户长按识别,直接进入服装的购买页面,提高购买转换。
2.二维码生成
通过后台接口可以获取小程序任意页面的二维码,扫描该二维码可以直接进入小程序对应的页面。
小程序官方提供了3个二维码生成接口。可生成2种类型的二维码。微信公众号支持带参二维码的批量生成,但是小程序目前不可以,如果数量巨大,比如需要10万个带不同参数的二维码,那官方提供的二维码的生成方式就不实用了(可以自己尝试写一个脚本挂在那里循环生成233)
2.1.类型一
特点:
接口A(菊花形二维码)、接口C(普通方形二维码):适用于需要的码数量较少的业务场景:
- 0.可接受path参数较长
- 1.通过该接口生成的小程序码,永久有效
- 2.生成数量受限制( 目前接口A、B总数量限制是10万个),扫码访问次数没有限制
- 3.用户扫码后,直接进入指定页面
接口A的参数:
参数 | 类型 | 默认值 | 说明 |
---|---|---|---|
path | String | - | 不能为空,最大长度 128 字节 |
width | Int | 430 | 二维码的宽度 |
auto_color | Bool | false | 自动配置线条颜色,如果颜色依然是黑色,则说明不建议配置主色调 |
line_color | Object | {"r":"0","g":"0","b":"0"} | 二维码的线条颜色 |
接口C的参数:
参数 | 类型 | 默认值 | 说明 |
---|---|---|---|
path | String | - | 不能为空,最大长度 128 字节 |
width | int | 430 | 二维码的宽度 |
2.2.类型二
特点:
接口B:适用于需要的码数量极多的业务场景
- 0.可接受页面参数较短
- 1.通过该接口生成的小程序码,永久有效
- 2.数量不做限制(截止今天,官方未对生成数量做限制)
- 3.用户扫码后,可以在对应页面获取到二维码中scene字段下面的值
- 4.B接口调用分钟频率受限(目前5000次/分钟,会调整)
- 5.B接口没有path参数,B接口只能跳转到主页面上。
B接口每分钟调用频率受限(目前5000次/分钟),超出该限制会报错:45009,官方表示对该限制会做调整。
B接口根据传入参数不同可以用作:渠道统计和大致的场景入口区分(比如:连锁店中,餐厅A是一个二维码,餐厅B是另一个二维码)
接口B的参数:
参数 | 类型 | 默认值 | 说明 |
---|---|---|---|
scene | String | - | 最大32个可见字符,只支持数字,大小写英文以及部分特殊字 |
page | String | - | 必须是已经发布的小程序存在的页面(否则报错) |
width、auto_color、line_color | 和接口1一样 |
// 这是首页的 js
Page({
onLoad: function(options) {
// options 中的scene需要使用decodeURIComponent才能获取到生成二维码时传入的scene
var scene = decodeURIComponent(options.scene)//参数二维码传递过来的参数
var query = options.query.dentistId // 参数二维码传递过来的场景参数
}
})
3.第三方二维码生成
好推二维码(芝麻小程序)
草料二维码
阿拉丁二维码
功能分析
功能 | 好推 | 草料 | 阿拉丁 |
---|---|---|---|
费用: | 免费 | 基础功能免费 | 基础功能免费 |
批量生成 | X | 支持 | 支持 |
路径带参数 | 支持 | 支持 | 支持 |
定制参数 | 支持 | X | 支持 |
带场景值 | 支持 | X | 支持 |
二维码统计(人数/次数等) | 支持 | X | 支持 |
二维码样式定制 | 支持 | 支持 | 支持 |
《参考文档》
1.微信官方文档
2.小程序二维码和小程序带参数二维码生成
3.小程序社区: 跳坑《八十五》带参数二维码,返回数据保存为图片
4.W3C-微信小程序API 获取小程序页面二维码