微信小程序 Canvas 动态生成二维码并保存到本地

简介: 微信小程序 Canvas 动态生成二维码并保存到本地
let drawQrcode = require("../../../utils/erweima.js");

wxml中:

   <canvas class="code" canvas-id="myQrcode"></canvas>
   <button class='downCode' bindtap='downloadCode'>下载二维码</button>
   <view class="code-content">{{text}}<view class="copy" bindtap="clickCopy">复制</view></view> 

js文件中数据:

data: {
    text: '', // 生成二维码的数据
    imagePath: "" // 保存图片的临时路径
},

通过后台接口拿到数据 text

  // 生成二维码
  draw() {
    drawQrcode({
      width: 200, // 画出的二维码的宽高,单位为px
      height: 200,
      x:20, // 开始画的位置,x轴y轴
      y:20,
      canvasId: 'myQrcode', // 拿到canvas节点
      text: this.data.text // 文本数据
    })
    this.canvasToTempImage() // 画完之后获取临时路径
  },
  
  // 复制文本数据
  clickCopy(e) {
    var that = this;
    wx.setClipboardData({
      data: that.data.text,
      success: function (res) {
        wx.showToast({
          title: '复制成功',
          icon: 'none'
        });
      }
    });
  },
        
  // 获取二维码图片的临时路径
  canvasToTempImage: function () {
    var that = this;
    wx.canvasToTempFilePath({
      canvasId: 'myQrcode',
      success: function (res) {
        var tempFilePath = res.tempFilePath;
        that.setData({
          imagePath: tempFilePath,
        });
      },
      fail: function (res) {
        console.log(res);
      }
    });
  },
 
 // 下载图片
 downloadCode: function (res) {
    var filePath = this.data.imagePath
    console.log('下载中' + filePath)
    wx.saveImageToPhotosAlbum({
      filePath: filePath,
      success: function(res) {
        wx.showToast({
           title: '图片保存成功',
           icon: 'success',
           duration: 2000 //持续的时间
        })
      },
      fail: function (err) {
         console.log(err)
         wx.showToast({
         title: '图片保存失败',
         icon: 'none',
         duration: 2000//持续的时间
         })
      }
    })
  } 
相关文章
|
3月前
|
Java API
wxid添加微信好友工具,免费微信wxid转换器二维码,jar实现仅供学习参考
本项目实现微信ID与wxid的转换及二维码生成功能,核心逻辑基于ZXing库完成QR编码,支持文件批量导入导出。
|
3月前
|
编解码 Java
wxid加微信好友工具,二维码转换工具,微信号转wxid插件【仅供学习参考】
本工具基于JAVA实现微信ID转换功能,支持wxid、微信号与二维码之间的相互转换。开发中使用ZXing库(版本3.5.1)完成二维码编解码,并设计核心类`WxidConverter`实现关键转换逻辑。
|
小程序 数据库
【微信小程序-原生开发】实用教程10 - 动态的新增、修改、删除(含微信云数据库的新增、修改、删除,表单弹窗、确认弹窗、日期选择器、单行输入框、多行输入框、滑动组件的使用)
【微信小程序-原生开发】实用教程10 - 动态的新增、修改、删除(含微信云数据库的新增、修改、删除,表单弹窗、确认弹窗、日期选择器、单行输入框、多行输入框、滑动组件的使用)
593 0
|
11月前
|
前端开发 小程序 JavaScript
小程序 canvas 生成海报 一次搞掂
小程序 canvas 生成海报 一次搞掂
182 1
|
小程序 JavaScript
小程序生成二维码
小程序生成二维码
295 11
|
11月前
|
前端开发 小程序 JavaScript
微信小程序 canvas 备忘
微信小程序 canvas 备忘
118 0
|
11月前
|
算法 小程序 Java
java制作海报三:获取微信二维码详情,并改变大小,合成到海报(另一张图片)上
这篇文章介绍了如何使用Java获取微信小程序的二维码,并将其调整大小后合成到海报(另一张图片)上。
209 0
|
11月前
|
小程序 前端开发 Java
java 生成小程序二维码
java 生成小程序二维码
159 0
|
小程序 数据挖掘 UED
餐饮店小程序开发定制桌边二维码点餐系统
随着技术不断进步,各行各业都在使用新工具来提高效率和服务质量。餐饮业也不例外。餐饮点餐小程序系统是基于微信公众平台开发的在线点餐方式。顾客可以通过手机微信扫描餐桌上的二维码,进入餐厅的点餐小程序,选择菜品、数量和口味,直接完成点餐。点餐系统会自动保存并发送给厨房,避免了传统手工点餐容易出错的问题。

热门文章

最新文章