微信生成小程序码 参数

微信生成小程序码 参数

当然,以下是一份关于如何生成微信小程序码的详细文档,包括所需的参数及其说明。

微信小程序码生成指南

一、概述

微信小程序码是一种用于快速打开小程序的二维码。通过调用微信提供的接口,开发者可以生成包含特定路径和场景值的小程序码,用户扫描后可以直接跳转到指定页面。

二、接口说明

微信小程序提供了多个API来生成小程序码,其中最常用的是wxacode.get和wxacode.getUnlimit。以下是这两个接口的详细说明:

  1. wxacode.get

    • 功能:生成小程序码(有限制)。
    • 请求地址:https://api.weixin.qq.com/wxa/getwxacode?access_token=ACCESS_TOKEN
    • 请求方式:GET
  2. wxacode.getUnlimit

    • 功能:生成无限制的小程序码(大小可达430*430)。
    • 请求地址:https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=ACCESS_TOKEN
    • 请求方式:POST

三、参数说明

无论是wxacode.get还是wxacode.getUnlimit,都需要用到access_token来获取授权信息。此外,wxacode.getUnlimit还支持更多的自定义参数。以下是参数的详细说明:

  1. access_token

    • 类型:String
    • 必填:是
    • 描述:调用接口凭证,需要通过appid和secret获取。
  2. path

    • 类型:String
    • 必填:是(对于wxacode.get);非必填(对于wxacode.getUnlimit,但建议填写)
    • 描述:需要打开的页面路径,默认为首页。路径后可以带参数,如/pages/index/index?foo=bar。
  3. width

    • 类型:Int
    • 必填:否
    • 默认值:430(对于wxacode.getUnlimit)
    • 描述:生成的二维码图片的宽度(单位:px),仅对wxacode.getUnlimit有效。
  4. auto_color

    • 类型:Boolean
    • 必填:否
    • 默认值:false
    • 描述:是否自动配置颜色,仅对wxacode.getUnlimit有效。如果为true,则生成的二维码前景色将随机生成。
  5. line_color

    • 类型:Object
    • 必填:否
    • 描述:线条的颜色,仅对wxacode.getUnlimit有效。格式为{"r":"xxx","g":"xxx","b":"xxx"},其中xxx表示颜色的十六进制值。
  6. is_hyaline

    • 类型:Boolean
    • 必填:否
    • 默认值:false
    • 描述:是否需要透明底色,仅对wxacode.getUnlimit有效。如果为true,则生成的二维码背景将为透明。

四、示例代码

1. 获取access_token
import requests def get_access_token(appid, secret): url = f"https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={appid}&secret={secret}" response = requests.get(url) data = response.json() return data['access_token']
2. 生成小程序码(使用wxacode.getUnlimit)
import requests import json def generate_wxacode_unlimit(access_token, path="/pages/index/index", width=430, auto_color=False, line_color=None, is_hyaline=False): url = f"https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token={access_token}" payload = { "path": path, "width": width, "auto_color": auto_color, "is_hyaline": is_hyaline } if line_color: payload["line_color"] = line_color headers = {'Content-Type': 'application/json'} response = requests.post(url, headers=headers, data=json.dumps(payload)) # 注意:这里返回的是二进制数据,需要保存为图片文件 with open("wxacode.png", "wb") as f: f.write(response.content) # 使用示例 appid = "your_appid" secret = "your_secret" access_token = get_access_token(appid, secret) generate_wxacode_unlimit(access_token, path="/pages/mypage/mypage")

五、注意事项

  1. access_token的有效期为2小时,过期需要重新获取。
  2. wxacode.get生成的小程序码有数量限制(目前为10万个),而wxacode.getUnlimit没有此限制。
  3. 生成的二维码图片需要保存到服务器或本地进行分发。

希望这份文档能够帮助你更好地理解和使用微信小程序码的生成功能。如果有任何疑问或需要进一步的帮助,请随时联系我们。