当前位置:   article > 正文

微信小程序码生成,wx.arrayBufferToBase64不能用了

wx.arraybuffertobase64

最近接触到微信生成小程序码的项目,依照小程序开发文档依葫芦画瓢,发现腾讯给我们留了一个大坑。

 官方接口返回给我们的小程序码是图片数据流ArrayBuffer,然后它这个wx.arrayBufferToBase64(ArrayBuffer arrayBuffer)接口就这么不能用了,法克。

几经折腾,终于可以正常实现生成小程序码了,不说废话,上代码

  1. //首先利用官方接口获取小程序码图片流数据(access_token要先拿到)
  2. wx.request({
  3. url: 'https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token='+access_token,
  4. method: 'POST',
  5. responseType: 'arraybuffer',
  6. data: {
  7. scene: 'id=1',//你的参数
  8. page: 'pages/index/index',
  9. check_path:false,
  10. env_version:'trial',
  11. width: 200,
  12. is_hyaline: true
  13. },
  14. header: {
  15. 'content-type': 'application/json'
  16. },
  17. //success: function (res)
  18. success:(res)=> {
  19. // 现在拿到的是小程序码二进制流数据buffer,将buffer写入临时文件路径,然后绑定到页面的data属性
  20. console.log(res.data);
  21. let buffer=res.data;
  22. let fileMananger=wx.getFileSystemManager();
  23. let filePath=wx.env.USER_DATA_PATH+'/qr.jpeg';
  24. console.log(filePath);
  25. fileMananger.writeFile({
  26. filePath:filePath,
  27. encoding:"binary",
  28. data:buffer,
  29. success:(res)=>{
  30. console.log(res);
  31. console.log(filePath);
  32. this.setData({
  33. qrcodeUrl:filePath
  34. })
  35. },
  36. fail: function (err) {
  37. console.log(err);
  38. }
  39. })

这样一来我就在前端就可以生成了,看效果

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/507776?site
推荐阅读
相关标签
  

闽ICP备14008679号