index.js 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. import {
  2. createWxCode
  3. } from '~/api/global'
  4. Component({
  5. properties: {},
  6. data: {
  7. state: false,
  8. qrCode: ''
  9. },
  10. methods: {
  11. async open() {
  12. let qrCode = await createWxCode({
  13. page: "pages/index/index",
  14. scene: wx.getStorageSync('uid')
  15. })
  16. console.log(qrCode);
  17. this.setData({
  18. state: true,
  19. qrCode
  20. })
  21. },
  22. closeMediaBox() {
  23. this.setData({
  24. state: false
  25. })
  26. },
  27. savePoster() {
  28. const query = wx.createSelectorQuery().in(this);
  29. let canvas
  30. query
  31. .select('#cavansId')
  32. .fields({
  33. node: true,
  34. size: true
  35. }).exec(async (res) => {
  36. canvas = res[0].node;
  37. const ctx = canvas.getContext('2d');
  38. const dpr = wx.getSystemInfoSync().pixelRatio;
  39. canvas.width = 646;
  40. canvas.height = 959;
  41. let pic = canvas.createImage();
  42. pic.src = 'https://reader-wx.ai160.com/images/reader/pay/shareBg.jpg'
  43. pic.onload = () => {
  44. ctx.drawImage(pic, 0, 0, 646, 959);
  45. let pl = canvas.createImage();
  46. console.log(this.data.qrCode);
  47. pl.src = this.data.qrCode
  48. pl.onload = async () => {
  49. console.log('11');
  50. ctx.drawImage(pl, 29, 756, 170, 170)
  51. let {
  52. tempFilePath
  53. } = await wx.canvasToTempFilePath({
  54. canvas
  55. })
  56. wx.saveImageToPhotosAlbum({
  57. filePath: tempFilePath,
  58. success() {
  59. wx.showToast({
  60. title: '保存成功',
  61. icon: 'none'
  62. })
  63. }
  64. })
  65. }
  66. }
  67. })
  68. }
  69. }
  70. })