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


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 相关文章推荐
个人总结的一些关于String、Function、Array的属性和用法
Jan 10 Javascript
Javascript学习笔记2 函数
Jan 11 Javascript
JS的get和set使用示例
Feb 20 Javascript
简单谈谈javascript代码复用模式
Jan 28 Javascript
JavaScript中的this使用详解
Jul 27 Javascript
jQuery实现的放大镜效果示例
Sep 13 Javascript
JavaScript中数据类型转换总结
Dec 25 Javascript
Vue.js系列之项目结构说明(2)
Jan 03 Javascript
JavaScript实现左右下拉框动态增删示例
Mar 09 Javascript
js实现一个简单的MVVM框架示例
Jan 15 Javascript
Node.js 利用cheerio制作简单的网页爬虫示例
Mar 01 Javascript
原生js实现Flappy Bird小游戏
Dec 24 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密码生成类实例
2014/09/24 PHP
10个超级有用值得收藏的PHP代码片段
2015/01/22 PHP
Yii框架数据库查询、增加、删除操作示例
2019/10/14 PHP
js版本A*寻路算法
2006/12/22 Javascript
一个简单的javascript类定义例子
2009/09/12 Javascript
Json对象替换字符串占位符实现代码
2010/11/17 Javascript
一个简单的Ext.XTemplate的实例代码
2012/03/18 Javascript
javascript学习笔记(二十) 获得和设置元素的特性(属性)
2012/06/20 Javascript
jQuery判断元素是否存在的可靠方法
2014/05/06 Javascript
vue,angular,avalon这三种MVVM框架优缺点
2016/04/27 Javascript
AngularJS基础 ng-keydown 指令简单示例
2016/08/02 Javascript
Three.js学习之网格
2016/08/10 Javascript
javascript 解决浏览器不支持的问题
2016/09/24 Javascript
vue实现添加标签demo示例代码
2017/01/21 Javascript
js 递归和定时器的实例解析
2017/02/03 Javascript
基于JS实现限时抢购倒计时间表代码
2017/05/09 Javascript
Web开发使用Angular实现用户密码强度判别的方法
2017/09/27 Javascript
详解让sublime text3支持Vue语法高亮显示的示例
2017/09/29 Javascript
JavaScript布尔运算符原理使用解析
2020/05/06 Javascript
vue实现用户长时间不操作自动退出登录功能的实现代码
2020/07/23 Javascript
pandas.DataFrame 根据条件新建列并赋值的方法
2018/04/08 Python
对pandas中Series的map函数详解
2018/07/25 Python
Pycharm连接远程服务器并实现远程调试的实现
2019/08/02 Python
解决Python使用列表副本的问题
2019/12/19 Python
Python3变量与基本数据类型用法实例分析
2020/02/14 Python
css3 border-image使用说明
2010/06/23 HTML / CSS
优衣库澳大利亚官网:UNIQLO澳大利亚
2017/01/18 全球购物
Nike香港官网:Nike HK
2019/03/23 全球购物
MyHeritage美国:家族史研究和DNA测试的领先服务
2019/05/27 全球购物
巴塞罗那观光通票:Barcelona Pass
2019/10/30 全球购物
Harman Audio官方商店:购买JBL、Harman Kardon、Infinity和AKG
2019/12/05 全球购物
高二政治教学反思
2014/02/01 职场文书
春游踏青活动方案
2014/08/14 职场文书
解除劳动合同协议书(样本)
2014/10/02 职场文书
党员自我剖析材料(群众路线)
2014/10/06 职场文书
幼儿园亲子活动通知
2015/04/24 职场文书