微信小程序和支付宝小程序生成二维码

描述:前端生成二维码

一、页面
<canvas type="2d" style="width: 312px; height: 312px;" id="myQrcode"></canvas>
二、微信小程序

安装 weapp-qrcode-canvas-2d
官方文档传送门

const query = wx.createSelectorQuery()
query.select(canvasId)
  .fields({
    node: true,
    size: true
  })
  .exec((res) => {
    const canvas = res[0].node

    // 调用方法drawQrcode生成二维码
    drawQrcode({
      canvas: canvas,
      canvasId,
      width,
      padding: 0, // 码的白边
      background: '#ffffff',
      foreground: '#000000',
      text: '这里是二维码上的内容',
    }).then(res => {
      wx.canvasToTempFilePath({
        canvasId,
        canvas: canvas,
        x: 0,
        y: 0,
        width,
        height,
        destWidth: width,
        destHeight: height,
        success(res) {
          console.log('二维码临时路径:', res.tempFilePath)
        },
        fail(err) {
          console.error(err)
        }
      })
    })
  })
三、支付宝小程序
my.generateImageFromCode ({
   code: '这里是二维码上的内容',
   format: 'QRCODE',
   width,
   correctLevel: 'H',
   codeColor: '#e70b0b',
   backgroundColor: '#ffffff',
   success: function (res) {
     console.log('二维码临时路径:', res.image) // 这里是base64
   },
   fail: function (err) {
     console.log (err)
   }
 })
四、注意:

1、画出的二维码大小如果跟设计稿的一样,需要各种计算,为了方便,我这里是直接用的image显示的路径,然后设置image的样式

2、支付宝生成的是base64

3、ios微信小程序报错 (in promise) MiniProgramError
{“errMsg”:“canvasToTempFilePath:fail image size is 0x0”}
Object
解决:发现是canvas写了display: none

4、如果需要隐藏canvas, 不能用display:none, 也不能用transform(会占位), 我用的是fixed

相关推荐

  1. 程序支付程序生成

    2024-06-08 08:06:05       28 阅读
  2. 程序生成海报并分享

    2024-06-08 08:06:05       60 阅读
  3. 程序显示

    2024-06-08 08:06:05       57 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-08 08:06:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-08 08:06:05       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-08 08:06:05       82 阅读
  4. Python语言-面向对象

    2024-06-08 08:06:05       91 阅读

热门阅读

  1. mysql 如何分布式部署

    2024-06-08 08:06:05       30 阅读
  2. 公司面试题总结(一)

    2024-06-08 08:06:05       25 阅读
  3. 正则表达式

    2024-06-08 08:06:05       30 阅读
  4. Spring Boot 常用注解

    2024-06-08 08:06:05       27 阅读
  5. Ajax + Easy Excel 通过Blob实现导出excel

    2024-06-08 08:06:05       29 阅读
  6. ARCGIS 几种SHP融合、拼接等方法

    2024-06-08 08:06:05       31 阅读
  7. 【微信小程序】连接蓝牙设备

    2024-06-08 08:06:05       32 阅读
  8. amis 事件动作 和 行为按钮 常用用法

    2024-06-08 08:06:05       28 阅读