小程序获取带有分享者信息的小程序码

1,740 阅读2分钟

获取带有分享者信息的小程序码是用在导出朋友圈海报这个功能,踩了一些坑,记录一下。本文主要是介绍如何获取带有分享者信息的小程序码。

目标有两个,首先要获取小程序码;其次需要带有分享者信息。

获取小程序码

首先,先看看小程序文档,获取二维码。文档提供了三个接口,根据自己需求使用不同接口,本文使用了接口 B。接口 B 的特点是通过该接口生成的小程序码,永久有效,数量暂无限制

简单来说,就是调用文档提供的接口,发送必要的参数,就可以获取小程序码了。当然,一定没有那么简单。需要注意以下几点:

  • 不能前端直接调用该接口
  • base64 在手机上无效

为什么不能前端直接调用该接口?

获取二维码的接口需要传一个access_token 参数,这个参数当然也可以通过后端获取。但是access_token是公众号的全局唯一接口调用凭据,建议公众号开发者使用中控服务器统一获取和刷新Access_token。这样子就只有通过服务端获取小程序码,然后从服务端获取就行了。

base64

一开始想到的就是服务端拿到小程序码后,返回前端一个 base64 字符串。可是真机调试发现,小程序 canvas 暂不支持base64,目前只支持了本地图片和网络图片。所以,让后端同事返回一个图片链接就好了。

这里需要注意的是,获取小程序码的接口返回的是一个二进制流,需要后端读取并保存到服务器上。然后在使用完小程序码后,一定要让后端同事提供一个接口删除相应的小程序码文件哦,不然图片文件会越来越多。

小程序码带参数

获取小程序码的接口B 提供了一个参数scene,有长度限制。所以我只在里面给了用户 id,通过保存在小程序码中的用户 id 就能区分用户啦。