miniprogram-qrcode
碉堡了的小程序码生成插件。
-
支持三种小程序码获取方式
-
自动缓存
access_token
,过期后自动重新生成 -
将小程序码合成到指定模板图片上功能已经迁移到 miniprogram-qrcode-image
正常情况下,批量生成
100
张需要62.556秒
,平均每张需要0.62556秒
,1万张大概需要1.73小时
。 批量示例代码
安装
npm install miniprogram-qrcode --save
使用
let miniprogramQrcode = let qrocode = appId: 'your appid' appSecret: 'your appSecret';
Api List
- miniprogramQrcode
getWxQrcodeInfo
二维码渲染函数,一共有三种生成模式。
- createWXAQRCode
- getWXACode
- getWXACodeUnlimit
createWXAQRCode
获取
小程序二维码
,适用于需要的码数量较少的业务场景。通过该接口生成的小程序码,永久有效,有数量限制。 官方说明
let info = await qrocode
getWXACode
获取
小程序码
,适用于需要的码数量较少的业务场景。通过该接口生成的小程序码,永久有效,有数量限制。 官方说明
let info = await qrocode
getWXACodeUnlimit
获取
小程序码
,适用于需要的码数量极多的业务场景。通过该接口生成的小程序码,永久有效,数量暂无限制。 官方说明
let info = await qrocode
返回值格式
code: 200 // 200: 成功,500:失败 error: null // 当出错的时候的错误信息 image: BufferArray // 二维码buffer数组
关于调试
微信开发者工具
使用微信开发者工具可以进行模拟参数调试
测试接口
这里我提供了一个测试接口,可以带参数生成线上的小程序码,用来调试
[get]
http://wx.toolos.cc
参数
mode
必传 [createWXAQRCode | getWXACode | getWXACodeUnlimit] 之一
注意
- 其他参数对应上面的文档的
mode
对应的参数,path
或者page
需要encodeURIComponent
一下 - 目前小程序只有一个路径
pages/index/main
- 线上服务器配置低
示例
http://wx.toolos.cc/?mode=createWXAQRCode&path=pages%2Findex%2Fmain
参数模式
createWXAQRCode & getWXACode
这两种生成的参数,生成二维码数量有限,参数直接跟在path路径后面,例如:
let info = await qrocode
扫一扫查看结果,注:这是线上版本(我留了一个彩蛋)可以用来模拟调试,长按红色圈出区域两次
即可调出控制套模拟
getWXACodeUnlimit
这个可以生成无限个,但是只能携带有局限性的参数scene
,在这里推荐一种解析方式 key:value-key:value
let info = await qrocode
解析示例
{ // scene 需要使用 decodeURIComponent 才能获取到生成二维码时传入的 scene thisscene = thisqueryJson = JSON // 尝试解析 scene 格式: shop:1-id:2 try let oneArr = thisscene let twoJson = {} forlet i=0; i<oneArrlength; i++ let target = oneArri twoJsontarget0 = target1 thistwoJson = JSON catche thistwoJson = e }
在开发者工具中例如下面模拟