一、简介
getwxacodeunlimit接口是微信提供的一个小程序生成码的API,也就是生成微信小程序的二维码。在使用getwxacodeunlimit时,只需要传入需要生成二维码的小程序码参数,并返回对应的微信小程序码URL,支持BMP、JPEG、PNG三种格式生成。这个接口可以进一步帮助开发人员营销、普及或者推广小程序。
二、使用方法
要使用getwxacodeunlimit生成二维码,需要将scene参数传递到API中。scene参数是一个字符串,最大长度为32个字符(不传默认为空字符串),用于携带业务数据,例如小程序码中包含的产品信息、其他参数信息等。使用该接口还需满足以下条件:
(1)接口需要使用小程序的AppID和AppSecret进行授权;
(2)调用该接口的账号需要有小程序的码管理权限。
下面是调用getwxacodeunlimit的代码示例:
const wxRequest = require('request'); const qs = require('qs'); const appid = 'wx35423aa6e7a96af7'; const secret = '30f06ce1c18d211b69f45e657d051a8c'; const scene = 'a=1&b=2'; const apiURL = "https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token="; const params = { 'access_token': '', 'path': 'pages/index/index', 'width': 280, 'auto_color': true, 'line_color': '{ "r":0, "g":0, "b":0 }', 'is_hyaline': false }; const getAccessToken = () => { return new Promise((resolve, reject) => { const url = `https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=${appid}&secret=${secret}`; wxRequest.get(url, (err, res, body) => { if (err) { reject(err); return; } const token = JSON.parse(body).access_token; resolve(token); }); }); } getAccessToken().then((token) => { const requestURL = apiURL + token; params.scene = scene; wxRequest.post({ url: requestURL, encoding: null, json: params }, (err, res, body) => { const base64Img = Buffer.from(body).toString('base64'); resolve(base64Img); }); });
三、参数说明
调用getwxacodeunlimit接口时,需要传递以下参数,下面一一进行解析:
1、access_token:小程序的AccessToken,需要对小程序进行授权才能获取。
2、path:小程序的页面路径(必须是已经发布的小程序页面路径),使用”/”分隔,不能携带参数(参数请放在scene中)。
3、scene:小程序的码参数,最大长度为32个字符,不能包含特殊字符(例如 #,& 等)。
4、width:二维码的宽度,单位为像素,最小为280px,最大为1280px。
5、auto_color:是否自动设置线条的颜色(true 或 false)。
6、line_color:线条的颜色,auto_color 为 false 时必须设置线条颜色值。颜色值使用 RGB 格式,例如 {“r”:”0″,”g”:”0″,”b”:”0″} 表示黑色。
7、is_hyaline:是否需要透明底色(true 或 false)。
四、注意事项
在使用getwxacodeunlimit生成微信小程序码时,需要注意以下几点:
1、获取access_token。 请求API时,必须向微信服务器发送 AccessToken,获取AccessToken需要通过访问微信的获取Token API。Token的获取需要提供appid和secret,系统会返回Token、Token有效时间;
2、生成的小程序码有有效期。生成的小程序码有时效性,有效时长由调用接口时传入的expire_seconds参数决定,默认为30秒,最大不超过2592000秒(即30天);
3、避免相同参数生成不同的微信小程序码。 如果以相同的scene参数调用getwxacodeunlimit接口,返回的值不变;反之亦然。如果需要带参数的二维码,传入的scene参数不同,生成的二维码URL也是不同的;
4、兼容性问题。微信小程序码的兼容性还需要与具体的场景进一步考验。所以,开发人员应该在实际运用场景中进行充分测试,遗漏了再处理。
五、总结
从本文中我们了解了微信小程序码API——getwxacodeunlimit,其是微信小程序的二维码编码生成器的核心。我们也详细地阐明了API的使用方法和各参数的意义,以及使用getwxacodeunlimit过程中需要注意的几个问题。getwxacodeunlimit为小程序的推广和普及提供了极大的便利性,获得更多的用户关注和共享。我们希望这篇文章能够帮助开发人员更全面地了解微信小程序码API的使用,取得更好的效果。