微信小程序前端根据内容生成二维码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

相关推荐

  • 一个科技项目的完成需要多少个步骤

    科技项目的完成需要多个步骤,这些步骤通常相互关联,并且需要团队中的不同人员协作完成。以下是一个科技项目完成的基本步骤: 1. 定义项目目标和范围:在开始项目之前,必须明确项目的目标…

    科研百科 2024年12月4日
    0
  • 2023年国企党支部党建工作总结(2023年国企党支部党建工作总结报告)

    今年以来,*有限责任公司党支部始终把深入贯彻落实党的二十大精神和新时代中国特色社会主义思想作为推进奋斗*基层党建工作的源动力,在局党组和党总支的正确领导和悉心指导下,认真思考、积极…

    科研百科 2024年6月30日
    55
  • 适合做科研的专业(哪些科研项目比较简单一点)

    科研项目的简单程度通常取决于研究者的技能水平和研究领域的复杂程度。然而,有些科研项目比其他项目更容易完成。以下是一些常见的简单科研项目: 1. 测量体温:测量体温是非常简单的一项任…

    科研百科 2024年8月5日
    36
  • 任务进度管理工具

    任务进度管理工具是现代工作中不可或缺的工具之一,能够帮助我们更好地掌控工作进度,提高生产力和工作效率。本文将介绍一款功能强大的任务进度管理工具,以帮助读者更好地使用和管理工具。 任…

    科研百科 2024年8月16日
    39
  • windows 任务管理软件

    Windows任务管理软件: 让Windows更高效 随着计算机的普及,人们越来越需要高效地管理计算机的任务。Windows任务管理软件是一个非常重要的工具,可以帮助人们更好地管理…

    科研百科 2024年9月16日
    25
  • 项目管理的九个要素(项目管理的九个要素是什么)_1

    项目管理是一项复杂的工作,涉及多个环节和流程。以下是项目管理的九大流程点,它们是项目成功的关键要素。 项目定义:在项目开始之前,明确项目的目标、范围、时间计划和预算等关键信息。这有…

    科研百科 2024年2月23日
    130
  • 协同办公系统操作手册(协同办公系统报价单)

    协同办公系统报价单 协同办公系统是一种集成了各种办公软件的操作系统,可以帮助企业实现内部信息的共享、协作和沟通。下面是一份协同办公系统报价单,帮助企业了解系统的功能和价格。 1. …

    科研百科 2024年8月28日
    30
  • 2020年A股上市公司保留意见审计报告理由及分析

    2020年A股上市公司保留意见审计报告理由及分析 近年来,随着经济社会的不断发展,A股上市公司的数量不断增加,同时也面临着越来越多的挑战。审计工作作为保证财务报表真实性和准确性的重…

    科研百科 2024年10月31日
    2
  • 国外研究生需要本科学历吗(国外研究生有必要做科研项目吗)

    国外研究生有必要做科研项目吗? 近年来,随着全球化的加速和科技的快速发展,越来越多的人选择海外留学。在国外研究生阶段,学生有机会接触到更加深入和前沿的学术研究,同时还可以积累实践经…

    科研百科 2024年4月2日
    53
  • 档案平台软件 公司

    档案平台软件公司:用技术创造价值 档案平台软件公司是一家专注于档案领域的软件开发公司。我们致力于提供最先进的档案平台软件,帮助客户高效地管理档案信息,提高数据安全性和可靠性。 作为…

    科研百科 2024年10月20日
    0