想要生成二维码,阅读官方文档,首先要获取小程序权限access_token,如下图。返回data 就看到access_token了,access_token时效就2小时,并且重复请求后,上一个会失效!

当我们拿到access_token参数后,就可以去生成二维码了。参数scene是二维码中的重要参数,它最大32个可见字符,只支持数字,大小写英文以及部分特殊字符:!#$&'()*+,/:;=?@-._~,其它字符请自行编码为合法字符(因不支持%,中文无法使用 urlencode 处理,请使用其他编码方式)。在此处,有几个坑。
总结如下,1、在网络请求时,必须使用post请求;
2、官方文档中的page指明,必须要已经发布了的小程序页面,不然会找不到;
3、参数scene为二维码进入小程序页面场景的参数;
4、最开始获取的access_token参数,必须跟在请求地址的后面。
进入页面后,首先获取参数
let scene = decodeURIComponent(option.scene);
let itemId = scene.split(',')[0];
let activeId = scene.split(',')[1];

当然,成功生成二维码后,我们可以使用Canvas绘制图片,并且将图片保存,具体代码如下:


网友评论