当前位置:   article > 正文

微信小程序base64实现小程序码_微信小程序 base64

微信小程序 base64

大家好,今天在做小程序时有一个推广的小程序二维码,下面我们来看看是如何制作的。

这个base64码是后台接口获取到的,所以要先将数据获取到,获取到数据后有些朋友不知道该怎么用到方法里,在方法内部获取不到base64码。

代码如下:

wxml

<canvas type="2d" id="myCanvas" style="width: 100%;height: 100vh;border-radius: 5px;" bindlongtap="save"></canvas>

js

  1. Page({
  2. data: {
  3. code: ""
  4. },
  5. /**
  6. * 生命周期函数--监听页面加载
  7. */
  8. onLoad(options) {
  9. let that = this;
  10. let userid = getApp().globalData.userid;
  11. },
  12. onReady() {
  13. let base=this.data
  14. console.log(base);
  15. const query = wx.createSelectorQuery()
  16. query.select('#myCanvas')
  17. .fields({ node: true, size: true })
  18. .exec((res) => {
  19. const canvas = res[0].node
  20. const ctx = canvas.getContext('2d')
  21. const dpr = wx.getSystemInfoSync().pixelRatio
  22. canvas.width = res[0].width * dpr // 获取宽
  23. canvas.height = res[0].height * dpr // 获取高
  24. ctx.scale(dpr, dpr)
  25. wx.request({
  26. url: ', //这里是你的接口
  27. data: {
  28. },
  29. method: 'POST',
  30. success: res=> {
  31. console.log(res);
  32. var code = res.data;
  33. let image = canvas.createImage();//创建iamge实例
  34. image.src = 'https://pic.imgdb.cn/item/63be1365be43e0d30e0e8540.jpg'; // 引入图片
  35. image.onload = function () {
  36. ctx.drawImage(image, 0, 0, 375, 610); // 背景图
  37. // 绘制base64图片
  38. //声明文件系统
  39. const fs = wx.getFileSystemManager();
  40. var times = new Date().getTime();
  41. var codeimg = wx.env.USER_DATA_PATH + '/' + times + '.png';
  42. //将base64图片写入
  43. fs.writeFile({
  44. filePath: codeimg,
  45. data: code.slice(22), // code就是接口返回的base64数据(分割掉前面的data:image/png;base64,)
  46. encoding: 'base64',
  47. success: () => {
  48. console.log(codeimg);
  49. wx.createSelectorQuery().select('#myCanvas').fields({ node: true, size: true })
  50. .exec((res) => {
  51. let ctx = res[0].node.getContext('2d');//getContext返回Canvas 的绘图上下文
  52. let canvas = res[0].node;
  53. const bg = canvas.createImage();
  54. bg.src = codeimg;
  55. bg.onload = function () {
  56. ctx.drawImage(bg, 85, 300, 210, 210);
  57. }
  58. })
  59. }
  60. });
  61. }
  62. }
  63. });
  64. // 到这里就可以直接绘制
  65. })
  66. },
  67. });

以上就是本章的全部内容了,感谢您的阅读,

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/507782
推荐阅读
相关标签
  

闽ICP备14008679号