作者:多乐塔二维码更新时间:2025-04-26 15:08:10浏览量:21
选择接口
微信提供两种生成二维码的接口:
wxacode.get:生成有限数量(10万个/天)的二维码,适合固定场景(如活动页)。
wxacode.getUnlimited:生成无限数量二维码,支持动态参数(如用户ID),适合个性化场景。
调用接口生成二维码
javascript
const axios = require('axios'); | |
const appid = '你的小程序AppID'; | |
const secret = '你的小程序AppSecret'; | |
// 获取 Access Token | |
const getAccessToken = async () => { | |
const res = await axios.get(`https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=${appid}&secret=${secret}`); | |
return res.data.access_token; | |
}; | |
// 生成二维码(示例:wxacode.getUnlimited) | |
const generateQRCode = async (scene, page) => { | |
const access_token = await getAccessToken(); | |
const res = await axios.post( | |
`https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=${access_token}`, | |
{ scene, page } | |
); | |
// 保存返回的二进制图片数据到服务器或云存储 | |
}; | |
// 调用示例 | |
generateQRCode('user123', 'pages/index/index'); |
保存二维码
将接口返回的二进制数据保存为图片(如PNG),上传至云存储(如阿里云OSS、腾讯云COS)获取直链。
微信客户端解析用户扫描二维码后,微信会解析二维码中的信息,包括:
小程序AppID
目标页面路径(如 pages/index/index)
场景参数(如 user123)
跳转逻辑
若用户已安装小程序:直接打开指定页面,并可通过 onLoad 事件获取场景参数。
若未安装:提示用户搜索或跳转小程序(需小程序已发布)。
在小程序的页面JS中,通过 onLoad 接收场景参数:
javascript
Page({ | |
onLoad(options) { | |
const scene = decodeURIComponent(options.scene); // 解码参数(如 user123) | |
console.log('场景参数:', scene); | |
// 根据参数执行个性化逻辑(如加载用户数据) | |
} | |
}); |
路径配置
确保目标页面路径在小程序后台的「页面管理」中已注册。
版本发布
小程序需发布线上版本,否则二维码可能无法跳转。
二维码有效期
wxacode.getUnlimited 生成的二维码永久有效,适合长期场景。
合规性
避免生成违规内容二维码(如诱导分享),否则可能被微信封禁。
将生成的二维码图片发送至手机,使用微信「扫一扫」功能测试。
检查是否跳转到正确页面,并验证场景参数是否生效。
生成二维码:使用微信接口生成带参数的二维码。
用户扫描:微信自动解析并跳转至指定小程序页面。
小程序处理:通过 onLoad 接收参数,实现个性化逻辑。
按此流程操作,即可实现扫描二维码跳转小程序的功能。