微信小程序将字符串生成二维码图片的操作方法


Posted in Javascript onJuly 17, 2018

最近接到这样一个需求,需要在小程序里将十几位随机字符串转换为二维码的形式展示。公众号中(另一终端)调用JSSDK扫一扫功能,去扫描小程序生成的二维码。得到字符串,然后进行接下来的逻辑处理。

下面记录的是小程序中生成二维码图片这一操作,用的是原文作者改版后的生成二维码工具weapp-qrcode.js(demo的众多文件中只需将util下的这个文件拷贝到自己项目中),可在原文地址里clone demo。

截图(copy原文)

微信小程序将字符串生成二维码图片的操作方法

使用

1、页面wxml中放置绘制二维码的canvas

加入点击改变二维码图片的按钮

<canvas class='canvas' canvas-id='canvas'></canvas>
<button bindtap='tapHandler' data-code='123abc456efg000'>转为二维码</button>  <!-- data-code为生成二维码所依据的字符串,这里将其写死了,实际应改为{{变量名}} -->
<button bindtap='tapHandler' data-code='555444333222111'>转为二维码</button>

2、页面js中引入

onload中初始化二维码 

定义按钮的事件处理函数

var QRCode = require('../../utils/weapp-qrcode.js');
var qrcode;
Page({
  onload: function(options){
    qrcode = new QRCode('canvas', {
      text: "code=0000000000000",
      width: 150,
      height: 150,
      colorDark: "#000000",
      colorLight: "#ffffff",
      correctLevel: QRCode.CorrectLevel.H,
    });
  },
  tapHandler: function(e){
    qrcode.makeCode(e.target.dataset.code); //用元素对应的code更新二维码
  }
});

参数说明

usingIn 为可选参数,详情清查卡在自定义组件使用时失效及解决思路 #1

text 为需要转化为二维码的字符串;

width 和 height为绘制出的二维码长宽,这里设置为跟canvas同样的长宽;

colorDark 和 colorLight 为二维码交替的两种颜色;

correctLevel 没有细看源码,命名上看应该是准确度;

如果需要再次生成二维码,调用 qrcode.makeCode('text you want convert')

总结

以上所述是小编给大家介绍的微信小程序将字符串生成二维码图片的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jquery实现简单的拖拽效果实例兼容所有主流浏览器(优化篇)
Jun 28 Javascript
js利用prototype调用Array的slice方法示例
Jun 09 Javascript
超实用的JavaScript代码段 附使用方法
May 22 Javascript
BootStrap table使用方法分析
Nov 08 Javascript
详解Javascript几种跨域方式总结
Feb 27 Javascript
JS 学习总结之正则表达式的懒惰性和贪婪性
Jul 03 Javascript
JavaScript实现多重继承的方法分析
Jan 09 Javascript
vue.js分页中单击页码更换页面内容的方法(配合spring springmvc)
Feb 10 Javascript
vue中实现移动端的scroll滚动方法
Mar 03 Javascript
jQuery实现的页面详情展开收起功能示例
Jun 11 jQuery
JS实现根据指定值删除数组中的元素操作示例
Aug 02 Javascript
vue实现键盘输入支付密码功能
Aug 18 Javascript
使用Vue实现图片上传的三种方式
Jul 17 #Javascript
vue的token刷新处理的方法
Jul 17 #Javascript
vue 权限认证token的实现方法
Jul 17 #Javascript
vue 实现axios拦截、页面跳转和token 验证
Jul 17 #Javascript
详解webpack import()动态加载模块踩坑
Jul 17 #Javascript
vue-router中的hash和history两种模式的区别
Jul 17 #Javascript
JS使用tween.js动画库实现轮播图并且有切换功能
Jul 17 #Javascript
You might like
php 日期时间处理函数小结
2009/12/18 PHP
ThinkPHP自动验证失败的解决方法
2011/06/09 PHP
PHP判断远程图片是否存在的几种方法
2014/05/04 PHP
Yii2如何批量添加数据
2016/05/17 PHP
laravel框架实现敏感词汇过滤功能示例
2020/02/15 PHP
关于Mozilla浏览器不支持innerText的解决办法
2011/01/01 Javascript
JavaScript 大数据相加的问题
2011/08/03 Javascript
javascript阻止scroll事件多次执行的思路及实现
2013/11/08 Javascript
jquery对象和javascript对象即DOM对象相互转换
2014/08/07 Javascript
浅谈JavaScript中的对象及Promise对象的实现
2015/11/15 Javascript
前端微信支付js代码
2016/07/25 Javascript
JS实现的驼峰式和连字符式转换功能分析
2016/12/21 Javascript
详解JS中遍历语法的比较
2017/04/07 Javascript
JS动态修改网页body的背景色实例代码
2017/10/07 Javascript
JavaScript中的一些隐式转换和总结(推荐)
2017/12/22 Javascript
vue router 配置路由的方法
2018/07/26 Javascript
微信小程序实现图片滚动效果示例
2018/12/05 Javascript
微信小程序实现多个按钮的颜色状态转换
2019/02/15 Javascript
全面了解JavaScript的作用域链
2019/04/03 Javascript
vue项目引入ts步骤(小结)
2019/10/31 Javascript
vue导航栏部分的动态渲染实例
2019/11/01 Javascript
微信小程序实现吸顶效果
2020/01/08 Javascript
详解vue中使用transition和animation的实例代码
2020/12/12 Vue.js
Python利用多进程将大量数据放入有限内存的教程
2015/04/01 Python
Python的Socket编程过程中实现UDP端口复用的实例分享
2016/03/19 Python
Python爬虫实现全国失信被执行人名单查询功能示例
2018/05/03 Python
Python模拟简单电梯调度算法示例
2018/08/20 Python
简单了解python gevent 协程使用及作用
2019/07/22 Python
使用python 的matplotlib 画轨道实例
2020/01/19 Python
keras输出预测值和真实值方式
2020/06/27 Python
pycharm激活方法到2099年(激活流程)
2020/09/22 Python
html5 自定义播放器核心代码
2013/12/20 HTML / CSS
仓库管理制度
2014/01/21 职场文书
社区党员干部承诺书
2015/05/04 职场文书
读《解忧杂货店》有感:请相信一切都是最好的安排
2019/11/07 职场文书
SpringBoot集成Druid连接池连接MySQL8.0.11
2021/07/02 Java/Android