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

* 可支持输入中文文本
## 安装
``` bash
git clone https://github.com/demi520/wxapp-qrcode.git
```
## 使用
1.创建canvas节点,以及设置canvas-id。(可以控制该区域不显示,但是必须要存在)
```html
<canvas style="width: 686rpx;height: 686rpx;background:#f1f1f1;" canvas-id="mycanvas"/>
```
2.引入qrcode.js,将`utils/qrcode.js` 文件复制到自己工程里,并引入。
```javascript
// 注意: 这里xxx是你自己的路径
let QR = require("xxxx/qrcode.js") // require方式
import QR from 'xxxx/qrcode.js' // es6的方式
```
3.在js文件中,定义相关的方法,**要注意在data中创建imagePath(最终生成的图片路径),可以将img的src属性绑定imagePath**
```javascript
createQrCode: function (content, canvasId, cavW, cavH) {
//调用插件中的draw方法,绘制二维码图片
//this.canvasToTempImage 为绘制完成的回调函数,可根据自己的业务添加
QR.api.draw(content, canvasId, cavW, cavH, this, this.canvasToTempImage);
},
//获取临时缓存图片路径,存入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,生成二维码
```javascript
createQrCode ('wxapp-qrcode', 'mycanvas', 300, 300)
```
## FAQ
### 自定义组件中不能生成qrcode?
封装方法时: 添加上this, `QR.api.draw(url, canvasId, cavW, cavH, this);` 可参考qrcode.js 768行,*[wx.createCanvasContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/wx.createCanvasContext.html)*
### 如何适配不同屏幕大小的canvas?
可参考 `pages/main/index.js` 中的 `setCanvasSize` 方法。
## Ps
感谢[微信小程序|联盟](http://www.wxapp-union.com/) [@amis](http://www.wxapp-union.com/home.php?mod=space&uid=310)提供的素材和创意;
测试有其他问题请回帖哦,感激!!

极致人生-010
- 粉丝: 4677
最新资源
- 操作系统PV操作习题.doc
- 云计算服务信任度的探索.docx
- 生产网络调整促进中国产业升级.docx
- 楼宇智能化系统集成及小区智能化系统.ppt
- 如何批量提取wordexcel文档中的邮件地址.doc
- 人事考勤管理系统c++课程研究设计文档.doc
- 论网络著作权的合理使用.docx
- 设计变更通知单模板(Excel表格通用模板).xls
- XX公司竞争对手的集团战略基准比较和竞争咨询项目管理建议书.doc
- 智慧交通背景下的高职物联网专业课群建设与校企协同创新机制研究.docx
- 信息化环境下体验式学习探索.docx
- 区块链为税收征管难题提供解决方案.docx
- Oracle-RAC技术详解-scan-ip.doc
- 基于JAVA的图书管理系统的方案设计书与实现.doc
- 软件项目上线发布流程.docx
- 5G推动智慧城市快速发展.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈


