• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

微信小程序之生成二维码

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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

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

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)
          }
        }) 
      }
    })
  },

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
java生成微信小程序码~ - 金天黑日发布时间:2022-07-18
下一篇:
微信小程序生成二维码工具 - 浅浅时光发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap