微信小程序二维码识别
目前市场上二维码识别的软件或者网站越来越多,可是真正方便,无广告的却少之很少。
于是,自己突发奇想做了一个微信二维码识别的小程序。
包含功能:
1、识别二维码
①普通二维码
②条形码
③只是复制解析出来的数据
2、生成二维码
①只是从粘贴板生成二维码
软件截图:

体验二维码:

以下为主要代码
index.js
// pages/main/index.js
var QR = require("../../utils/qrcode.js");
Page({
data: {
canvasHidden: false,
maskHidden: true,
imagePath: '',
placeholder: 'https://www.mojxtang.club/',//默认二维码生成文本
placeholder_data:"点击自动获取剪切板的内容!",
QRcode:"",
bindfocus_value:"",
input_state:0
},
onLoad: function (options) {
// 页面初始化 options为页面跳转所带来的参数
var size = this.setCanvasSize();//动态设置画布大小
var initUrl = this.data.placeholder;
this.createQrCode(initUrl, "mycanvas", size.w, size.h);
},
onReady: function () {
},
onShow: function () {
var that = this;
that.setData({
input_state:0
})
// 页面显示
},
onHide: function () {
// 页面隐藏
},
onUnload: function () {
// 页面关闭
},
//适配不同屏幕大小的canvas
setCanvasSize: function () {
var size = {};
try {
var res = wx.getSystemInfoSync();
var scale = 750 / 686;//不同屏幕下canvas的适配比例;设计稿是750宽
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链接列表
})
},
formSubmit: function (e) {
var that = this;
var url = e.detail.value.url;
that.setData({
maskHidden: false,
QRcode:""
});
wx.showToast({
title: '生成中...',
icon: 'loading',
duration: 2000
});
var st = setTimeout(function () {
wx.hideToast()
var size = that.setCanvasSize();
//绘制二维码
that.createQrCode(url, "mycanvas", size.w, size.h);
that.setData({
maskHidden: true
});
clearTimeout(st);
}, 2000)
},
rq_jiema:function(evt){
var that = this;
console.log(evt);
wx.scanCode({
success: function (res) {
console.log(res);
that.setData({
QRcode: res.result
})
}
})
},
Copy_to_clipboard:function(evt){
var that = this;
wx.setClipboardData({
data: evt.currentTarget.dataset.text,
success(res) {
}
})
},
bindfocus_value:function(){
var that = this;
if (that.data.input_state == 0){
wx.showModal({
title: '提示',
content: '是否将剪切板的内容,制作成二维码?',
success: function (res) {
if (res.confirm) {
wx.getClipboardData({
success(res) {
that.setData({
input_state:0,
bindfocus_value: res.data
})
}
})
} else {
that.setData({
input_state: 1,
bindfocus_value: ""
})
}
}
})
}
}
})
微信小程序二维码识别的更多相关文章
- 图片的URL上传至阿里云OSS操作(微信小程序二维码返回的二进制上传到OSS)
当我们从网络中获取一个URL的图片我们要存储到本地或者是私有的云时,我们可以这样操作 把url中的图片文件下载到本地(或者上传到私有云中) public String uploadUrlToOss ...
- Java 获取微信小程序二维码(可以指定小程序页面 与 动态参数)
一.准备工作 微信公众平台接口调试工具 小程序的唯一标识(appid) 小程序的密钥(secret) 二.获取access_token 打开微信公众平台接口调试工具,在参数列表中输入小程序的appid ...
- 微信小程序-二维码汇总
小程序二维码在生活中的应用场景很多,比如营销类一物一码,扫码开门,扫码付款等...小程序二维码分两种? 1.普通链接二维码 即跟普通的网站链接生成的二维码是一个意思,这种二维码的局限性如下: 对于普通 ...
- 微信小程序二维码推广统计
微信小程序可以通过生成带参数的二维码,那么这个参数是可以通过APP的页面进行监控的 这样就可以统计每个二维码的推广效果. 今天由好推二维码推出的小程序统计工具HotApp小程序统计也推出了带参数二维码 ...
- php生成微信小程序二维码源码
目前有3个接口可以生成小程序码,开发者可以根据自己的需要选择合适的接口.第一步:获取 access_token public function getWxAccessToken(){ $appid ...
- 微信小程序二维码是无法识别二维码跳转到小程序
今天测试了一下,微信小程序圆形二维码是不能直接识别跳转到小程序: 但h5页面的那种微信公众号二维码是可以直接识别
- Java获取微信小程序二维码
tip:通过该接口,仅能生成已发布的小程序的二维码. tip:可以在开发者工具预览时生成开发版的带参二维码. tip:接口A加上接口C,总共生成的码数量限制为100,000,请谨慎调用. tip: P ...
- 微信小程序参数二维码6问6答
微信小程序参数二维码[基础知识篇],从6个常见问题了解小程序参数二维码的入门知识. 1.什么是小程序参数码? 微信小程序参数二维码:针对小程序特定页面,设定相应参数值,用户扫描后进入相应的页面. 2. ...
- node 无脑生成小程序二维码图
RT 新建createwxaqrcode.js: const request = require('request') const fs = require('fs') // eg:生成购物车列表圆形 ...
随机推荐
- C# RDLC报表不出现预览窗体直接输出到打印机
#region 直接打印区域 /// <summary> /// 直接打印到打印机 /// </summary> /// <param name="report ...
- scrapy入门例子
使用爬取http://quotes.toscrape.com/内容,网站内容很简单 一. 使用scrapy创建项目 scrapy startproject myscrapy1 scrapy gensp ...
- springboot集成JsonRpc2.0
导入依赖的jar: 配置AutoJsonRpcServiceImplExporter: 接口文件: 实现类: 测试:
- 4.1.1 Choosing the SST Donor
摘要: 出处:黑洞中的奇点 的博客 http://www.cnblogs.com/kelvin19840813/ 您的支持是对博主最大的鼓励,感谢您的认真阅读.本文版权归作者所有,欢迎转载,但请保留该 ...
- CODEVS-1215迷宫
迷宫 原题:传送门 题目描述 Description 在N*N的迷宫内,“#”为墙,“.”为路,“s”为起点,“e”为终点,一共4个方向可以走.从左上角((0,0)“s”)位置处走到右下角((n-1, ...
- 基础概念——何为GNU与GCC
GNU:GNU 是一个自由软件操作系统.全称是GNU‘s Not Unix. GNU 是一款类似Unix的操作系统,它所采用的的典型内核是Linux. 该组合叫作GNU/Linux操作系统: GNU网 ...
- Groovy 反序列化漏洞分析(CVE-2015-3253)
0x00 前言 Java反序列化的漏洞爆发很久了,此前一直想学习一下.无奈Java体系太过于复杂,单是了解就花了我很久的时间,再加上懒,就一直拖着,今天恰好有空,参考@iswin大佬两年前的分析, ...
- hzjs颠覆jquery,按照中国人思维开发的最简洁的JQUERY替代品更简洁更高效
颠覆jquery,按照中国人思维开发的最简洁的JQUERY替代品 实现了类似JQUERY的选择器最核心的基本功能 如:$('#image2').attr("src") 另外提供了 ...
- cookies session filter 自动登录
webxml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi=" ...
- 【转载】log4j详解使用
log4j详解 日志论 在应用程序中输出日志有有三个目的:(1)监视代码中变量的变化情况,把数据周期性地记录到文件中供其他应用进行统计分析工作. (2)跟踪代码运行进轨迹,作为日后审计的依据. ...