微信小程序二维码识别
目前市场上二维码识别的软件或者网站越来越多,可是真正方便,无广告的却少之很少。
于是,自己突发奇想做了一个微信二维码识别的小程序。
包含功能:
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:生成购物车列表圆形 ...
随机推荐
- 动态代理(JDK实现)
JDK动态代理,针对目标对象的接口进行代理 ,动态生成接口的实现类 !(必须有接口) public class ProxyDemo { //通过方法的返回值得到代理对象 方法参数 ...
- 负载均衡群集LB
负载均衡群集是目前企业用得最多的群集类型,通过主节点负载调度器(Director),使用特定的分流算法,将来自客户机的访问请求分担给多个服务器节点共同处理,从而缓解整个系统的负载压力,响应更多请求:群 ...
- win7 下如何安装 Microsoft Web Application Stress Tool
Microsoft Web Application Stress Tool是一个简单易用的性能压力测试工具,但因为其诞生的年代较早,在目前的win7系统下运行,会存在一些兼容性的问题,以下是我在实际使 ...
- ArrayList集合与List与数组的区别
import java.util.ArrayList; import java.util.Arrays; import java.util.Iterator; import java.util.Lis ...
- 社区发现SLPA算法
社区(community)定义:同一社区内的节点与节点之间关系紧密,而社区与社区之间的关系稀疏. 设图G=G(V,E),所谓社区发现是指在图G中确定nc(>=1)个社区C={C1,C2,..., ...
- 性能测试 vs 负载测试 vs 压力测试
在做一些软件测试工作时,常常会被提及性能测试.负载测试.压力测试,这也是在软件测试方面最容易混淆的三个概念.之前和一个测试大牛聊天,他和我说常常面试一些测试人员会问一些这样的问题,大多人认为负载测试等 ...
- C# ListView用法详解 很完整
一.ListView类 1.常用的基本属性: (1)FullRowSelect:设置是否行选择模式.(默认为false) 提示:只有在Details视图该属性才有意义. (2) GridLines:设 ...
- git已经删除了远程分支,本地仍然能看到
1.使用 git branch -a 命令可以查看所有本地分支和远程分支,发现很多在远程仓库已经删除的分支在本地依然可以看到. 2.使用命令 git remote show origin,可以查看re ...
- Neo4j安装&入门&一些优缺点(转)
本篇将介绍Neo4j的安装,入门,和自己使用了一段时间后发现的优点缺点,争取简洁和实用. 如果你是第一次接触Neo4j,并且之前也都没接触过类似的Graph Database的话,建议先浏览一下我之前 ...
- 【ORACLE】ID 2299494.1 安装Oracle 11g 86%报错:Error in invoking target 'agent nmhs' of makefile
参考: ID 2299494.1 In this Document Symptoms Changes Cause Solution References APPLIES TO: O ...