微信小程序生成二维码

https://www.jianshu.com/p/e6021798cd40

http://www.5imoban.net/jiaocheng/weixin/2020/0317/3778.html  推荐  下载weapp-qrcode.js

https://github.com/tomfriwel/weapp-qrcode

github地址

weapp-qrcode 点击查看(欢迎star),其中附有源工程地址

使用

在github上下载工程,主要用到的文件是/utils/weapp-qrcode.js文件

引入文件:
可以将文件直接放在自己工程下面引入使用

import QRCode from '/utils/weapp-qrcode.js'

使用: https://dujian.blog.csdn.net/article/details/107729981  小程序上下滑动页面时canvas绘制的图出现抖动的情况 解决

<canvas class="canvas-code"canvas-id="myQrcode" style="background:#fff;width: 200px;height: 200px;"/>


<canvas class="canvas-code" canvas-id="myQrcode" 
disable-scroll="true" bindtouchstart="touchStart" 
bindtouchmove="touchMove" bindtouchend="touchEnd" style="background:#fff;margin:auto;margin-left: 70px;opacity:0;
position:absolute;top: 71px;left: 11px;"/>

<!--这里是生成的路径用图片显示-->
<image src="{{qrCode}}" style="background:#fff;width: 190px;height: 193px;margin:auto;"></image>
var qrcode = new QRCode('myQrcode',{
  text: 'http://www.tongxingschool.com',
  width: 200,
  height: 200,
  padding: 12, // 生成二维码四周自动留边宽度,不传入默认为0
  correctLevel: QRCode.CorrectLevel.L, // 二维码可辨识度
  callback: (res) => {
    console.log(res.path)
    // 接下来就可以直接调用微信小程序的api保存到本地或者将这张二维码直接画在海报上面去,看各自需求
    //也可以用 <image src="res.path"></image>
  }
})

colorDark: "#000000",
colorLight: "#ffffff",

//生成二维码
  productqrcode(val) {
    new QRCode('myQrcode', {
       //这样也行
    })
  },

// 用户二维码保存到本地相册
saveQrcode: function () {
    var that = this;
    wx.getImageInfo({
        src: that.data.qrcodePath,
        success: function (ret) {
            var path = ret.path;
            wx.saveImageToPhotosAlbum({
                filePath: path,
                success(result) {
                    if (result.errMsg === 'saveImageToPhotosAlbum:ok') {
                        wx.showToast({
                          title: '保存成功',
                        })
                    }
                }
            })
        }
    })
},

5、将rpx转px。由于二维码的canvas在页面中,显示,为了适应屏幕,采用了rpx作为单位。但是创建二维码new QRCode时,传入的是px,所以,为了传入的尺寸和canvas一样大,需要使用createRpx2px方法,将rpx转为px:

createRpx2px(rpx) {
    return wx.getSystemInfoSync().windowWidth / 750 * rpx
},


注意事项

  • 二维码宽高,js代码和结构中的宽高需要一致,宽高的样式一定要写成内联样式,不然会有意想不到的效果😁
  • padding的颜色自己控制即可,canvas的背景色就是留边的颜色
  • correctLevel是生成二维码可辨识度的级别,级别越高可辨识度越高,从低到高依次是M、L、H、Q
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值