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


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 jsonp 使用示例代码
Aug 12 Javascript
JavaScript去掉数组中的重复元素
Jan 13 Javascript
利用jQuery接受和处理xml数据的代码(.net)
Mar 28 Javascript
JQuery 返回布尔值Is()条件判断方法代码
May 14 Javascript
jquery datatable后台封装数据示例代码
Aug 07 Javascript
js实现编辑div节点名称的方法
Dec 17 Javascript
JavaScript中的console.profile()函数详细介绍
Dec 29 Javascript
JavaScript用JSONP跨域请求数据实例详解
Jan 06 Javascript
Angular2.js实现表单验证详解
Jun 23 Javascript
超详细动手搭建一个VuePress 站点及开启PWA与自动部署的方法
Jan 27 Javascript
qrcode生成二维码微信长按无法识别问题的解决
Apr 04 Javascript
js前端传json后台接收‘‘被转为quot的问题解决
Nov 12 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
实时抓取YAHOO股票报价的代码
2006/10/09 PHP
用Zend Encode编写开发PHP程序
2010/02/21 PHP
PHP可逆加密/解密函数分享
2012/09/25 PHP
php中session使用示例
2014/03/29 PHP
PHP实现简易计算器功能
2020/08/28 PHP
基于jquery的表头固定的若干方法
2011/01/27 Javascript
JavaScript实现url地址自动检测并添加URL链接示例代码
2013/11/12 Javascript
jsMind通过鼠标拖拽的方式调整节点位置
2015/04/13 Javascript
gameboy网页闯关游戏(riddle webgame)--仿微信聊天的前端页面设计和难点
2016/02/21 Javascript
在AngularJS中使用jQuery的zTree插件的方法
2016/04/21 Javascript
JS实现鼠标滑过显示边框的菜单效果
2016/09/21 Javascript
node.js版本管理工具n无效的原理和解决方法
2016/11/24 Javascript
JS比较两个数值的大小实例
2016/11/25 Javascript
JS中如何实现复选框全选功能
2016/12/19 Javascript
整理关于Bootstrap过渡动画的慕课笔记
2017/03/29 Javascript
JS实现侧边栏鼠标经过弹出框+缓冲效果
2017/03/29 Javascript
bootstrap table表格客户端分页实例
2017/08/07 Javascript
浅谈ajax请求不同页面的微信JSSDK问题
2018/02/26 Javascript
浅谈webpack4.x 入门(一篇足矣)
2018/09/05 Javascript
vue中前进刷新、后退缓存用户浏览数据和浏览位置的实例讲解
2018/09/21 Javascript
python list语法学习(带例子)
2013/11/01 Python
Python获取脚本所在目录的正确方法
2014/04/15 Python
Python实现的几个常用排序算法实例
2014/06/16 Python
浅谈python之新式类
2018/08/12 Python
python如何实现一个刷网页小程序
2018/11/27 Python
Python绘制热力图示例
2019/09/27 Python
python如何解析复杂sql,实现数据库和表的提取的实例剖析
2020/05/15 Python
python使用多线程+socket实现端口扫描
2020/05/28 Python
flask开启多线程的具体方法
2020/08/02 Python
ASOS比利时:英国线上零售商及自有品牌
2018/07/29 全球购物
MYSQL基础面试题
2012/05/13 面试题
学院领导推荐信
2013/10/30 职场文书
继电保护工岗位职责
2014/01/05 职场文书
后勤主管岗位职责
2014/03/01 职场文书
防邪知识进家庭活动方案
2014/08/26 职场文书
2016秋季校长开学典礼致辞
2015/11/26 职场文书