后台生成小程序码

工作需要,根据动态参数生成小程序二维码。

找了下开发API :https://developers.weixin.qq.com/miniprogram/dev/api/qrcode.html

选择了B接口,可以无限生成,只是参数有点限制,但是可以满足需求,开搞。

 

一、获取 access_token

这个就不啰嗦了,项目里配置唯一的接口去获取。

 

二、获取小程序码

参数需要用POST,注意下是JSON形式的参数

然后特别坑的是返回值,如果请求成功,是直接返回小程序码图片的二进制流

所以这里处理下,把流转成Base64编码

var stream = GetPostResult(); // 这里就是获取返回的流
// 下面把流转成Base64编码
using (BinaryReader binreader = new BinaryReader(stream))
{
    byte[] bytes = binreader.ReadBytes(Convert.ToInt32(stream.Length));
    var base64str = Convert.ToBase64String(bytes);
    return base64str;
}

 

三、显示图片

这里没有什么难度了,Base64编码可以直接放到img标签里,在页面上呈现图片:

<img src="data:image/png;base64,/*这里用上面生成的Base64字符串代替即可*/" />

 

四、其他

每次调用生成接口,生成的小程序码,返回的流都是不一样的,所以有心的话,最好保存下来,避免重复生成。

然而,流有点大,也就122K的样子 fu*k

posted @ 2018-08-16 21:29  零柒夭夭  阅读(2771)  评论(0编辑  收藏  举报