微信小程序前端根据内容生成二维码Qrcode(小程序开发 生成二维码)

在微信小程序开发项目中,后端返回的api接口数据中,有一个支付页面,这个支付页面网址在小程序中是打不开的,需要生成二维码让客户扫描支付,客户扫描二维码就会打开支付页面,支付项目金额!

微信小程序前端根据内容生成二维码Qrcode(小程序开发 生成二维码)

项目中生成的样例

1、需要下载封装好的qrcode的js文件,下载地址:夸克网盘分享

2、在我们需要在使用的页面将qrcode.js文件引入

import * as QRCode from '../../utils/qrcode.js'

3、首先微信小程序wxml文件中写入canvas标签

<canvas canvasId="myCanvas" style="width: 450rpx;height: 450rpx;background:#fff;margin: 0 auto;"></canvas>

4、如果有中文的话,需要一个方法来解决中文乱码的问题(没有可不写)

toUtf8(str) { //解决中文乱码的问题 var out, i, len, c; out = ""; len = str.length; //文本域值的长度 for (i = 0; i < len; i ) { c = str.charCodeAt(i); //返回值是UTF-16的代码单元值 0-65535之间的整数 参数:大于等于0(如果小于0或者等于大于字符串的长度 则返回nan) // console.log('cc',c); if ((c >= 0x0001) && (c <= 0x007F)) { out = str.charAt(i); // 从一个字符串中返回指定的字符 // console.log('out',out); //就是文本域的值 } else if (c > 0x07FF) { out = String.fromCharCode(0xE0 | ((c >> 12) & 0x0F)); out = String.fromCharCode(0x80 | ((c >> 6) & 0x3F)); out = String.fromCharCode(0x80 | ((c >> 0) & 0x3F)); } else { out = String.fromCharCode(0xC0 | ((c >> 6) & 0x1F)); out = String.fromCharCode(0x80 | ((c >> 0) & 0x3F)); } } return out; },

5、 获取可使用屏幕的宽高度的方法(px)

// 获取可使用窗口的框高度getWindowWH(){ var seeWH = {} // 往seeWH对象中新增窗口宽高度两个属性 try { const res = wx.getSystemInfoSync()// 获取设备信息 var w = res.windowWidth / (750 / 450) //可使用窗口的宽度 var h = res.windowWidth / (750 / 450) //可使用窗口的高度 seeWH.w = w seeWH.h = h } catch (e) { // Do something when catch error console.log('获取设备信息失败', e); } return seeWH},

6、创建画布的方法

// 创建画布 接收传递过来的几个实参drawCanvas(e,n,t,i){ var that=this // e:代表文本域的值 // n:canvasID // t:可使用窗口的宽度 // i:可使用窗口的高度 // that.data.bgVal:背景颜色 默认:#fff // that.data.clVal :前景颜色 默认:#000 //这里的 drawQrcode.api.draw 是引入封装好的js文件进来里面 的 draw方法 QRCode.api.draw(e,n,t,i,"","", that.data.bgVal, that.data.clVal)},

7、 用画布内容区域生成导出一个指定的大小图片 的方法

createImage(){ var that = this wx.canvasToTempFilePath({ canvasId:"myCanvas", //必选 success(res){ // 生成好了关闭loading效果 wx.hideLoading() console.log(res.tempFilePath) } })},

8、点击生成二维码按钮事件

// 点击生成二维码 createQRCode() { var that=this // 有文本域的值 提示loading效果 wx.showLoading({ title: "生成中" }) // 获取可使用宽高度 let obj= that.getWindowWH() // 调用创建画布的方法,传递参数 that.drawCanvas('https://www.vipshare8.com/', "myCanvas", obj.w, obj.h) setTimeout(()=>{ //调用 把当前画布内容导出生成指定大小的图片 that.createImage() },300) } },

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2024年5月9日 下午5:35
下一篇 2024年5月10日 上午8:03

相关推荐

  • 聚焦社区增值服务 物业管理行业探索发展新空间

    来源:人民网 人民网北京3月30日电(记者许维娜)社区是城市居民的生活场所,也是基层治理的基本单元,其物业服务水平的优劣在很大程度上影响着居民生活的幸福感、基层社会的和谐度。 物业…

    科研百科 2022年7月1日
    131
  • “软著”是什么?有什么用?怎么申请?(软著是什么意思)

    软著在这个互联网时代十分重要,既能给自己的劳动成果一份保障,还能带来很多附加价值,不管是个人还是公司,都很有必要申请软著。天钥企服今天就给大家详细介绍一下软著。 一、什么是软著 软…

    科研百科 2024年5月16日
    68
  • 免费的图书管理软件最好不要用,一不小心就掉进陷阱里

    管理一家书店相信对于书店经营者而言,最烦的就是进销存数据地记录了。书店规模不大的话人工报表记录可能勉强能实现,但是当效率也不高。如果书店有一点规模的话,管理这些数据是非常吃力的。因…

    科研百科 2022年11月24日
    110
  • 在敏捷scrum项目怎样布置团队空间显得很重要(scrum敏捷团队特征)

    准备敏捷项目必备的“昂贵”的工具 一定要想法设法说服老板买下面几个工具,虽然昂贵但一般公司都能买的起! 2米的大白板一个 我们一般选用2米的大白板一块用作设计墙,方便敏捷团队讨论时…

    科研百科 2024年4月24日
    83
  • ERP系统定制开发(erp管理系统定制开发)

    随着业务管理的精细化、精深化以及个性化的发展趋势,定制ERP模式,已经成为企业进行企业信息化的主流趋势。现在,越来越多的企业用户开始倾向于选择定制ERP方式,相比于选择ERP系统产…

    科研百科 2023年5月14日
    218
  • 总结好运用好“千万工程”的好做法好经验(“千万工程”)_1

    来源:人民网-人民日报 内容提要 “千万工程”探索出一条加强农村人居环境整治、全面推进乡村振兴、建设美丽中国的科学路径,造就万千美丽乡村、造福万千农民群众,成效显著,影响深远。要系…

    科研百科 2023年8月4日
    121
  • 2024年市应急管理局工作总结

    2024年市应急管理局工作总结 2023年已经过去了,回首过去一年,市应急管理局在市政府的正确领导下,认真履行职责,积极开展工作,为维护社会稳定和人民生命财产安全作出了积极的贡献。…

    科研百科 2024年10月4日
    58
  • 《国有企业参股管理暂行办法

    国有企业参股管理暂行办法 为加强国有企业参股的规范化管理,提高参股公司的运营效率和质量,根据《中华人民共和国合同法》和相关法律法规,制定本管理暂行办法。 第一章 总则 第一条 为加…

    科研百科 2024年10月16日
    6
  • haoerp客户关系管理系统

    haoerp客户关系管理系统: 提升客户体验的利器 客户关系管理(CRM)是企业发展的重要一环,它可以帮助企业更好地了解客户需求,提高客户满意度,从而促进企业的发展。而haoerp…

    科研百科 2024年9月30日
    20
  • 前期科研基础

    前期科研基础的重要性 科研是一个不断探究未知领域的过程,而前期科研基础则是确保后续研究顺利进行的基础。在科学研究中,实验数据的收集和分析是至关重要的,而前期科研基础则是实验数据的来…

    科研百科 2024年10月9日
    16