微信小程序> 微信小程序中生成二维码

微信小程序中生成二维码

浏览量:702 时间: 来源:qq_41981057

先前上传了一个微信小程序中生成二维码的文件:wxapp.qrcode.js,现在补充此文件的使用方法

此文件的下载链接:https://download.csdn.net/download/qq_41981057/10817093

首先将wxapp.qrcode.js放入到项目中,然后在wxml文件中写好布局,代码如下

<view class='container-box'>  <view class='img-box'>    <canvas style="width: 686rpx; height: 686rpx;" canvas-id="mycanvars"></canvas>  </view>  <form bindsubmit='formsubmit'>    <view class='input-row'>      <label>网址</label>      <input name="url" type='text' maxlength='255' placeholder='{{placeholder}}'></input>    </view>    <button form-type='submit' class='mybtn' type='primary'>生成二维码</button>  </form></view>

然后在wxss文件中写好样式,代码如下

.img-box{  width: 686rpx;  height: 686rpx;  background: #f1f1f1;  margin: 0 auto;}.input-row{  width: 686rpx;  margin: 43rpx auto;  border: 1px solid #e5e5e5;  display: flex;  height: 100rpx;  line-height: 100rpx;  padding-left: 10rpx;  box-sizing: border-box;}.input-row input{  height: 100%;  margin-left: 20rpx;}.mybtn{  width: 686rpx;  margin: 60rpx auto;}

最后在js文件中写好逻辑处理部分,代码如下

let drawQrcode = require('../../utils/wxapp.qrcode.min.js');//引入wxapp.qrcode.min.js文件Page({  /**   * 页面的初始数据   */  data: {    placeholder:'http://baidu.com'  },  /**   * 生命周期函数--监听页面加载   */  onLoad: function (options) {    //setCanvasSize  拿到画布区域的尺寸(微信小程序不支持dom的操作,所以单独定义方法去获取)    let size = this.setCanvasSize();    // console.log(size);    let url = this.data.placeholder;    //调用createQRcode方法    this.createQRcode(size.w, size.h, 'mycanvars',url);  },  createQRcode(canvasWidth, canvasHeight,canvasId,url){    // 调用qrcode.js里的方法,传入对应参数    drawQrcode({      width: canvasWidth,      height: canvasHeight,      canvasId: canvasId,      text: url    })    console.log(drawQrcode.width)  },  setCanvasSize(){    let size = {};     // getSystemInfoSync  微信小程序提供getSystemInfoSync获取设备的信息    let res = wx.getSystemInfoSync();    // console.log(res);    // 获取比例    let scale = 686/750;    let width = res.windowWidth*scale;    let height = width;    size.w = width;    size.h = height;    return size;  },  formsubmit(e){    let url = e.detail.value.url || this.data.placeholder;    // let url = e.detail.value.url ? e.detail.value.url : this.data.placeholder;    wx.showToast({      title: '生成中',      icon: 'loading',      duration: 2000    })    let that_ = this;    let timer = setTimeout(() =>{      let size = that_.setCanvasSize();      //调用createQRcode方法      that_.createQRcode(size.w, size.h, 'mycanvars', url);      wx.hideToast();      clearTimeout(timer);    },2000)})
小程序

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

最新资讯

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎