1 Star 0 Fork 0

huyongjie / wxapp-qrcode

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

微信小程序-二维码生成器

本项目用于在微信小程序中生成二维码,也可用于第三方框架Mpvue,Taro等。

生成预览

jsh5css.cn

  • 可支持输入中文文本

安装

git clone https://github.com/demi520/wxapp-qrcode.git

使用

1.创建canvas节点,以及设置canvas-id。(可以控制该区域不显示,但是必须要存在)

<canvas style="width: 686rpx;height: 686rpx;background:#f1f1f1;" canvas-id="mycanvas"/>

2.引入qrcode.js,将 utils/qrcode.js 文件复制到自己工程里,并引入。

// 注意: 这里xxx是你自己的路径
let QR = require("xxxx/qrcode.js")  // require方式
import QR from 'xxxx/qrcode.js'    // es6的方式

3.在js文件中,定义相关的方法,要注意在data中创建imagePath(最终生成的图片路径),可以将img的src属性绑定imagePath

createQrCode: function (content, canvasId, cavW, cavH) {
  //调用插件中的draw方法,绘制二维码图片
  QR.api.draw(content, canvasId, cavW, cavH);
  this.canvasToTempImage(canvasId);
},

//获取临时缓存图片路径,存入data中
canvasToTempImage: function (canvasId) {
  let that = this;
  wx.canvasToTempFilePath({
    canvasId,   // 这里canvasId即之前创建的canvas-id
    success: function (res) {
      let tempFilePath = res.tempFilePath;
      console.log(tempFilePath);
      that.setData({       // 如果采用mpvue,即 this.imagePath = tempFilePath
        imagePath:tempFilePath,     
      });
    },
    fail: function (res) {
      console.log(res);
    }
  });
}

4.绑定事件,调用createQrCode,生成二维码

createQrCode ('wxapp-qrcode', 'mycanvas', 300, 300)

FAQ

自定义组件中不能生成qrcode?

封装方法时: 添加上this, QR.api.draw(url, canvasId, cavW, cavH, this); 可参考qrcode.js 768行,wx.createCanvasContext

如何适配不同屏幕大小的canvas?

可参考 pages/main/index.js 中的 setCanvasSize 方法。

空文件

简介

微信小程序--二维码生成器 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/hyjweb/wxapp-qrcode.git
git@gitee.com:hyjweb/wxapp-qrcode.git
hyjweb
wxapp-qrcode
wxapp-qrcode
master

搜索帮助