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


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 相关文章推荐
javascript document.execCommand() 常用解析
Dec 14 Javascript
jquery调用wcf并展示出数据的方法
Jul 07 Javascript
常见浏览器多长时间会提示“脚本运行时间过长”总结
Apr 29 Javascript
javascript解析json数据的3种方式
May 08 Javascript
iframe里的页面禁止右键事件的方法
Jun 10 Javascript
jQuery验证表单格式的使用方法
Jan 10 Javascript
mui上拉加载更多下拉刷新数据的封装过程
Nov 03 Javascript
使用vuex的state状态对象的5种方式
Apr 19 Javascript
vue二级菜单导航点击选中事件的方法
Sep 12 Javascript
Javascript删除数组里的某个元素
Feb 28 Javascript
微信小程序如何实现五星评价功能
Oct 15 Javascript
浅谈node.js中间件有哪些类型
Apr 29 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输出1000以内质数(素数)示例
2014/02/16 PHP
Discuz7.2版的faq.php SQL注入漏洞分析
2014/08/06 PHP
php5.3不能连接mssql数据库的解决方法
2014/12/27 PHP
PHP正则表达式过滤html标签属性(DEMO)
2016/05/04 PHP
PHP+Oracle本地开发环境搭建方法详解
2019/04/01 PHP
innerHTML在IE中报错解决方案
2014/12/15 Javascript
js控制文本框只输入数字和小数点的方法
2015/03/10 Javascript
Jquery判断radio、selelct、checkbox是否选中及获取选中值方法总结
2015/04/15 Javascript
Js实现无刷新删除内容
2015/04/29 Javascript
Angularjs中UI Router的使用方法
2016/05/14 Javascript
AngularJS入门教程之数据绑定原理详解
2016/11/02 Javascript
整理关于Bootstrap表单的慕课笔记
2017/03/29 Javascript
详解Javascript获取缓存和清除缓存API
2017/05/25 Javascript
微信小程序功能之全屏滚动效果的实现代码
2018/11/22 Javascript
antd-DatePicker组件获取时间值,及相关设置方式
2020/10/27 Javascript
[49:58]完美世界DOTA2联赛PWL S3 Magma vs DLG 第一场 12.18
2020/12/19 DOTA
python实现根据图标提取分类应用程序实例
2014/09/28 Python
对于Python装饰器使用的一些建议
2015/06/03 Python
python:socket传输大文件示例
2017/01/18 Python
使用Python对Excel进行读写操作
2017/03/30 Python
python中Switch/Case实现的示例代码
2017/11/09 Python
解决新版Pycharm中Matplotlib图像不在弹出独立的显示窗口问题
2019/01/15 Python
python中import与from方法总结(推荐)
2019/03/21 Python
python中的decimal类型转换实例详解
2019/06/26 Python
python实现ip代理池功能示例
2019/07/05 Python
Django表单提交后实现获取相同name的不同value值
2020/05/14 Python
Python闭包及装饰器运行原理解析
2020/06/17 Python
CSS3 @media的基本用法总结
2019/09/10 HTML / CSS
戴尔美国官方折扣店:Dell Outlet
2018/02/13 全球购物
大学旷课检讨书
2014/01/28 职场文书
合同协议书格式
2014/04/18 职场文书
职务说明书范文
2014/05/07 职场文书
处级干部考察材料
2014/12/24 职场文书
北京英语导游词
2015/02/12 职场文书
2016年公司中秋节致辞
2015/11/26 职场文书
springboot 全局异常处理和统一响应对象的处理方式
2022/06/28 Java/Android