最近搞了一个小程序,然后要生成分享的小程序码,每个码不同,携带不同的参数,查阅了微信小程序官方的文档,最后决定在服务端升级
小程序码通常分两种,一种是路径长度可以很长(携带很多参数),但是有数量限制,貌似是一个小程序最多申请10w个码,另一种是无限制数量的,但是参数长度有限制,最大32个字符。
我后端用的python写的,其实实现还是相对容易很多的。
第一步是先获取access token
payload = {
'appid': 你的appid,
'secret': 你的appsecret,
'grant_type': 'client_credential'
}
resp = requests.get('https://api.weixin.qq.com/cgi-bin/token', params=payload)
resp_json = resp.json()
access_token = resp_json['access_token']
第二步用第一步的 access_token 加上参数获取小程序码并保存,使用的无限制的小程序码,但是参数长度最多32
url = 'https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token={}'.format(access_token)
data = {
"scene": 要携带的参数,
"page": 小程序页面路径(开头不要带/ 例如 pages/index/index),
"width": 小程序码长宽,默认430,最大1280,
"line_color": {"r": 0, "g": 0, "b": 0}, # rgb色值,默认黑色
"is_hyaline": True # 是否返回透明图
}
res = requests.post(url, json=data)
with open('code.png', 'wb') as f:
f.write(res.content)
如此就把小程序码写到code.png
了