专业的短链接生成工具
链接域名
短网址有效期
小程序二维码生成链接
更新时间:2025-4-30 18:47:52 作者:爱短链
以下是微信小程序二维码生成的几种实用方法,结合官方API、第三方工具及操作示例,供您根据场景选择:
一、官方API接口生成(需后端配合)
1. 接口选择
接口A(getwxacode)
适用场景:少量、固定页面二维码(如活动页、商品详情页)。
特点:生成的小程序码永久有效,但总数量限制为10万,需谨慎使用。
参数示例:
json
{ | |
"path": "pages/detail/detail?id=123", // 必填,小程序页面路径 | |
"width": 430 // 可选,二维码宽度 | |
} |
接口B(getwxacodeunlimit)
适用场景:大量或动态参数二维码(如邀请码、分销链接)。
特点:数量无限制,通过scene字段传递参数(需URL编码),用户扫描后需在页面解析。
参数示例:
json
{ | |
"scene": "invite_code=ABC123", // 自定义参数(需编码) | |
"page": "pages/index/index", // 可选,默认首页 | |
"width": 430 | |
} |
2. 实现步骤
获取access_token调用微信接口:
bash
GET https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET |
返回的access_token有效期2小时,需缓存并自动刷新。
调用生成接口
以接口B为例(推荐):
bash
POST https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=ACCESS_TOKEN |
返回二进制图片数据,需转为Base64或保存为文件。
前端展示二维码
将返回的二进制数据转为Base64:
javascript
// 示例:使用wx.arrayBufferToBase64(需微信基础库2.1.0+) | |
wx.request({ | |
url: 'API_URL', | |
responseType: 'arraybuffer', | |
success: (res) => { | |
const base64 = 'data:image/png;base64,' + wx.arrayBufferToBase64(res.data); | |
this.setData({ qrcode: base64 }); | |
} | |
}); |
二、前端直接生成(无需后端)
1. 第三方库:weapp-qrcode
特点:轻量级JavaScript库,支持自定义颜色、尺寸、纠错级别,适合快速集成。
使用步骤:
下载库文件:
bash
git clone https://github.com/yingye/weapp-qrcode.git |
在页面中引入并调用:
javascript
import drawQrcode from '../../utils/weapp-qrcode.js'; | |
Page({ | |
data: { qrcode: '' }, | |
onLoad() { | |
drawQrcode({ | |
width: 200, | |
height: 200, | |
canvasId: 'myQrcode', | |
text: 'https://your-page-path?param=123', // 二维码内容 | |
background: '#ffffff', | |
foreground: '#000000' | |
}); | |
} | |
}); |
WXML中添加Canvas:
html
<canvas canvas-id="myQrcode" style="width: 200px; height: 200px;" /> |
三、手动生成(非开发场景)
登录微信公众平台
进入「小程序管理」→ 选择目标小程序 →「设置」→「小程序码及线下物料下载」。
选择尺寸/颜色
提供多种预设尺寸(如1:1正方形、圆形logo款)和颜色方案,下载后可直接使用。
四、第三方平台生成(可视化定制)
工具推荐:
https://cli.im/:支持LOGO嵌入、渐变色、艺术二维码生成。
https://weixin.hotapp.cn/:专注小程序码生成,提供数据统计功能。
操作步骤:
输入小程序APPID及页面路径。
自定义样式(如颜色、尺寸、LOGO)。
生成并下载二维码。
注意事项
小程序需已发布:未发布的小程序无法通过API生成二维码。
参数编码:动态参数需通过encodeURIComponent处理(如scene=invite%3D123)。
页面路径限制:路径需在app.json中预先定义,否则扫描后可能无法跳转。
安全风险:保护appid和secret,避免泄露导致恶意调用接口。
根据需求选择合适的方法:
少量固定页面 → 官方API接口A。
大量动态参数 → 官方API接口B。
快速原型开发 → 前端库weapp-qrcode。
非技术用户 → 微信公众平台或第三方工具。