微信小程序之生成二维码

最近项目中涉及到小程序的生成二维码,很是头疼,经过多次摸索,整理出了自己的一些思想方法,如有不足,欢迎指正。

首先完全按照小程序的结构依次填坑。

pages--index.wxml

<view class="wrap">
  <view>导游姓名:<text>{{guide.name}}</text></view>
</view>

<view class="wrapCode">
  <view>导游证号:<text>{{guide.id}}</text></view>
</view>

<view class="erCode">
  <canvas style="width: 650rpx;height: 650rpx;margin:80rpx auto;" canvas-id="qrcCanvas"/>
</view>

<button formType="submit" class="login-btn" hover-class="none" bindtap='saveQrImg'>保存二维码到手机相册</button>   

对于其他标签 以及结构我想应该不必多说了吧,但是canvas是重点,敲黑板。。。

pages--index.js

Page({
  data: {
      aaa:'aaa://',//这个参数根据自己不同的需求自己定义
      guide:{
        id:'',
        name:''
      },
      canvasId: "qrcCanvas",// canvas的Id 因为下面用的到
  },

由于我的页面是跳转的 也就是在上个页面输入的相关信息,然后跳转到这个页面中的,所以在onLoad()函数中接收下参数

onLoad: function (option) {
    this.setData({
      guide:option,
    })
  },

那下面就是最重要的了

onReady: function () {
    let size = this.setCanvasSize();//动态设置画布大小
    let http = this.data.hlj+this.data.guide.id;
    console.log(http);
    this.createQrCode(http, this.data.canvasId, size.w, size.h);  
  },

  setCanvasSize(){
    var size = {};
    try {
      var res = wx.getSystemInfoSync();
      var scale = 750 / 686;//不同屏幕下canvas的适配比例;设计稿是750宽  
      var width = res.windowWidth / scale;
      var height = width;//canvas画布为正方形  
      size.w = width;
      size.h = height;
    } catch (e) {
      // Do something when catch error  
      console.log("获取设备信息失败" + e);
    }
    return size;  
  },

  createQrCode(str, canvasId, cavW, cavH){
    QR.api.draw(str, canvasId, cavW, cavH);  
  },

  saveQrImg(){
    // let http = this.data.hlj + '510301198801305998';
    //把canvas转成图片 成功返回url
    wx.canvasToTempFilePath({
      canvasId: 'qrcCanvas',
      success(res) {
        wx.saveImageToPhotosAlbum({
          filePath: res.tempFilePath,
          success: function (res) {
            wx.showToast({
              title: '保存成功',
              icon: 'success',
              duration: 2000
            })
          },
          fail: function (res) {
            console.log(res)
          }
        }) 
      }
    })
  },

 

转载于:https://www.cnblogs.com/wzy0526/p/8274431.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目前SSD应用越来越广,越来越多的人开始使用SSD做回写盘,或者做游戏盘,但是随着SSD应用的普及,也发现了不少人在使用SSD的时候都会忘记做一件事,那就是开启AHCI模式,至于为什么要开,建议百度一下,但是这里可以告诉大家如果不开会怎么样,那就是使用半年以上SSD性能会衰退严重,且无法简单恢复,只能重新格式化!   但是当和大家解释其利弊之后,又会遇到另外一个麻烦,系统已经装好,磁盘模式是IDE/SATA模式,如何简单的开启AHCI呢?以前有个离线注入工具,比较简单,但是需要PE环境,今天为大家提供一个更加简单的工具,直接在Windows下更新AHCI驱动,重启后在BIOS开启AHCI磁盘模式就搞定了! 软件名: SkyIAR 软件功能: AHCI驱动安装工具SkyIARv0 1、用于拓展系统部署范围,令系统支持常见磁盘控制器 2、用于在不重装系统的条件下,变更磁盘控制器工作模式 3、用于在不重装系统的条件下,变更主板 系统支持: Windows XP (x86/x64)、 Windows 7( x86/x64) 系统兼容: Windows Server 2003 (x86/ x64)、Windows Server 2003 R2 (x86/x64)、Windows 2008 R2 (x64) 语言支持:简体文、繁體文、English 关于IAR驱动的相关理论信息见:《浅谈磁盘控制器驱动》。 文件: SkyIAR_v0.5_Dev.zip 大小: 16247764 字节 修改时间: 2012年5月11日, 9:01:00 MD5: E88D2630EEA4C9CE37B48F8F79B3D0E5 SHA1: 8F30B0730837A4EDCA390373BA26A94C94D4F38D CRC32: C72B7061 (请务必在核对文件信息后使用。本程序涉及系统关键驱动的修改,被安全软件误报实属正常!) 更新日志: [2012.5.11] v0.5 开发版发布 1、[修正] 重编译IAR驱动内核程序,改进执行效率 2、[修正] 去除Config.ini关于自动运行和其他选项的固化配置,改为命令行配置 3、[修正] 命令行参数修正为: (1)/Auto,启用自动化运行模式 (2)/TimeOut=[时间(秒)],配置自动化模式时等待时间,3~10秒有效,如/TimeOut=6 [无/Auto时无效] (3)/Reboot,自动化模式运行结束后自动重启计算机 [无/Auto时无效] (4)/WinDir="",使用参数指定Windows目录位置,如/WinDir="C:\\Windows" (5)/CleanPNP,默认选清理PNP驱动选项 (6)/CleanSRS,默认选清理SRS驱动选项

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值