首页 / 二维码 / 微信小程序动态生成二维码的实现代码
微信小程序动态生成二维码的实现代码
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了微信小程序动态生成二维码的实现代码,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2488字,纯文字阅读大概需要4分钟。
内容图文
效果图如下:
实现
wxml
<!-- 存放二维码的图片--> <view class='container'> <image bindtap="previewImg" mode="scaleToFill" src="{{imagePath}}"></image> </view> <!-- 画布,用来画二维码,只用来站位,不用来显示--> <view class="canvas-box"> <canvas hidden="{{canvasHidden}}" style="width: 686rpx;height: 686rpx;background:#f1f1f1;" canvas-id="mycanvas" /> </view>
wxss
.container { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; } .container image { width: 686rpx; height: 686rpx; background-color: #f9f9f9; } .canvas-box { position: fixed; top: 999999rpx; left: 0; }
js
var QR = require("../../../lib/qrcode.js"); Page({ /** * 页面的初始数据 */ data: { canvasHidden: false, imagePath: '', }, /** * 生命周期函数--监听页面加载 */ onLoad: function(options) { //option为上个页面传递过来的参数 var jiaoyanCode = 'sorry,jiaoyanCode is loss'; if (options) { jiaoyanCode = options.jiaoyanCode; } console.log(jiaoyanCode); var size = this.setCanvasSize(); //动态设置画布大小 this.createQrCode(jiaoyanCode, "mycanvas", size.w, size.h); }, //适配不同屏幕大小的canvas setCanvasSize: function() { var size = {}; try { var res = wx.getSystemInfoSync(); var scale = 750 / 686; //不同屏幕下canvas的适配比例;设计稿是750宽 686是因为样式wxss文件中设置的大小 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: function(url, canvasId, cavW, cavH) { //调用插件中的draw方法,绘制二维码图片 QR.api.draw(url, canvasId, cavW, cavH); setTimeout(() => { this.canvasToTempImage(); }, 1000); }, /** * 获取临时缓存照片路径,存入data中 */ canvasToTempImage: function() { var that = this; //把当前画布指定区域的内容导出生成指定大小的图片,并返回文件路径。 wx.canvasToTempFilePath({ canvasId: 'mycanvas', success: function(res) { var tempFilePath = res.tempFilePath; console.log(tempFilePath); that.setData({ imagePath: tempFilePath, // canvasHidden:true }); }, fail: function(res) { console.log(res); } }); }, /** * 点击图片进行预览 */ previewImg: function (e) { var img = this.data.imagePath; console.log(img); wx.previewImage({ current: img, // 当前显示图片的http链接 urls: [img] // 需要预览的图片http链接列表 }); }, })
qrcode.js 可以去 这里 下载。
详细源码请查看 https://github.com/demi520/wxapp-qrcode
总结
以上所述是小编给大家介绍的微信小程序动态生成二维码的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
内容总结
以上是互联网集市为您收集整理的微信小程序动态生成二维码的实现代码全部内容,希望文章能够帮你解决微信小程序动态生成二维码的实现代码所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。