加载中...
  • 微信小程序使用第三方插件生成二维码

    微信小程序并没有提供官方二维码生成功能,所以这个就只能自己去找插件实现了。对于网上的插件,有很大一部分都是根据qrcode.js改进的。而qrcode.js是基于小程序的cavas生成二维码。

    在小程序里画布是原生组件无法被遮盖,这会导致开发中很多问题的出现,最理想的情况,希望二维码是张图片,那就最好不过,索性,weapp-qrcode-base64 这个插件挺好返回的base64格式,而且在多种机型里进测试可正常使用,

    下面我们来看看如何使用它:

    1.先下载文件库放入小程序对应文件引入

    1
    const QR = require('../../utils/weapp-qrcode.js')

    2.js使用

    1
    2
    3
    4
    5
    6
    var imgData = QR.drawImg(this.data.codeText, {
    typeNumber: 4,
    errorCorrectLevel: 'M',
    size: 500
    })
    // 返回输出base64编码imgData
    1
    <image src="{{qrcodeURL}"> </image>

    级别操作是这样的。
    下面来个全的吧
    js

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    //index.js
    //获取应用实例
    const app = getApp()

    const QR = require('../../utils/weapp-qrcode.js')

    Page({
    data: {
    codeText:'12345678',
    qrcodeURL:''
    },

    onLoad: function () {
    var imgData = QR.drawImg(this.data.codeText, {
    typeNumber: 4,
    errorCorrectLevel: 'M',
    size: 500
    })
    this.setData({
    qrcodeURL: imgData
    })
    }
    })

    1
    2
    3
    4
    <!--index.wxml-->
    <view class="container">
    <image class="image" src="{{qrcodeURL}}"></image>
    </view>

    RCpyJP.png

    至此,代码就生成了

    但是这里有个弊端,上图可以看到我加了个边框,在数据量不多的情况下是这样的,但是数据量多呢,看下图
    RCp6Rf.png
    会有边距产生,在我们的项目需求中,会随时对数据进行变动,这样在体验上二维码忽大忽小,就没有用户体验感,看各位的需要吧,毕竟也挺好用的

    上一篇:
    uQRCode 二维码生成插件
    下一篇:
    css改变复选框单选框样式
    本文目录
    本文目录