当前位置: 首页 > news >正文

微信小程序实现预约生成二维码

业务需求:点击预约按钮即可生成二维码凭码入校参观~

一.创建页面

如下是博主自己写的wxml:


<swiper  indicator-dots indicator-color="white" indicator-active-color="blue" autoplay interval="2000" circular
>
<!-- 这部分是实现轮播图下面的小圆点,可以根据两个不同的属性来分别更改样式 -->
<swiper-item><image src="/image/1606976870484.jpg"></image>
</swiper-item>
<swiper-item><image src="/image/1606976921531.jpg"></image>
</swiper-item>
<swiper-item><image src="/image/1606976936035.png"></image>
</swiper-item>
<swiper-item><image src="/image/111.jpg"></image>
</swiper-item>
<swiper-item><image src="/image/222.jpg"></image>
</swiper-item>
</swiper><button class="mybt" bindtap="yuyue">预约参观?</button>
<canvas type="2d"id="myQrcode"></canvas>

以及wxss:

/* pages/youke/youke.wxss */
page{background-color:#f3ffff; }
swiper{margin-top: 50rpx;width: 100%;height: 430rpx;border-radius: 30rpx;
}
swiper-item {width: 100%;height: 100%;border-radius: 50rpx;}
.mybt{margin-top: 100rpx;width:300rpx;background-color: rgb(41, 113, 248);color: rgb(255, 255, 255);
}
view{font-size: 45rpx;text-align: center;margin-top: 100rpx;
}
canvas{width: 230rpx;height: 230rpx;margin-top: 100rpx;margin-left: 260rpx;
}

二.下载并配置第三方库

去Gitee下载工具包:

二维码工具包icon-default.png?t=N7T8http://​ https://gitee.com/WeiDoctor/weapp-qrcode-canvas-2d ​下载zip:

 

 

将dist文件夹中的js文件全部复制到utils目录下:

三.完成业务

如下代码必须完整的导入再页面JS的最顶部:

import drawQrcode from '../../utils/weapp.qrcode.esm.js'

 如下是完整的代码:

// pages/youke/youke.js
import drawQrcode from '../../utils/weapp.qrcode.esm.js'
Page({data: {yynum:500,randomNum:"0"},onLoad() {},onReady() {},onShow() {},onHide() {},onUnload() {},onPullDownRefresh() {},onReachBottom() {},onShareAppMessage() {},yuyue(msg){// console.log("lll")if(this.data.yynum>0&&this.data.randomNum=="0"){wx.showToast({icon: 'success',title: '预约成功~',})let y=this.data.yynum;y--;this.setData({yynum:y})let r=(Math.random()*1).toFixed(4)*10000this.setData({randomNum:r}),console.log(r);const query = wx.createSelectorQuery()query.select('#myQrcode').fields({node: true,size: true}).exec((res) => {var canvas = res[0].nodedrawQrcode({canvas: canvas,canvasId: 'myQrcode',width: 260,padding: 30,background: '#4169E1',foreground: '#ffffff',text: '个人二维码信息',})wx.canvasToTempFilePath({canvasId: 'myQrcode',canvas: canvas,x: 0,y: 0,width: 260,height: 260,destWidth: 260,destHeight: 260,})})}else if(this.data.randomNum!="0"){wx.showToast({icon: 'error',title: '禁止重复预约~',})}else{wx.showToast({icon: 'error',title: '很抱歉,已无预约名额~',})}}})

点击预约即可成功生成二维码~ 

http://www.lryc.cn/news/338817.html

相关文章:

  • 专业140+总分410+北京理工大学826信号处理导论考研经验北理工电子信息通信工程,真题,参考书,大纲。
  • 做一个后台项目的架构
  • 嵌入式单片机 TTL电平、232电平、485电平的区别和联系
  • 2024年大唐杯备考
  • Spring Boot(06):Spring Boot与MySQL搭配,打造极简高效的数据管理系统
  • Vue3 + Vite 构建组件库发布到 npm
  • Vite多环境配置与打包:灵活高效的Vue开发工作流
  • 从零实现诗词GPT大模型:数据集介绍和预处理
  • 45.HarmonyOS鸿蒙系统 App(ArkUI)创建列表(List)
  • 推荐算法之协同过滤
  • Kotlin 面试题
  • TCM(Tightly Coupled Memory)紧密耦合存储器简介
  • 《自动机理论、语言和计算导论》阅读笔记:p172-p224
  • typescript playwright 笔记
  • 从零实现诗词GPT大模型:了解Transformer架构
  • 温故知新之-TCP Keepalive机制及长短连接
  • 架构师系列-搜索引擎ElasticSearch(七)- 集群管理之分片
  • 基于Spring Boot实现的图书个性化推荐系统
  • 安全加速SCDN带的态势感知能为网站安全带来哪些帮助
  • java面向对象.day21(继承02--super)
  • 【数据结构】4.List的介绍
  • acwing算法提高之图论--最近公共祖先
  • C语言 函数——断言与防御式编程
  • 【opencv】示例-travelsalesman.cpp 使用模拟退火算法求解旅行商问题
  • 【linux深入剖析】深入理解软硬链接 | 动静态库的制作以及使用
  • xss常用标签和触发事件
  • WPF中Binding的原理和应用
  • 探索设计模式的魅力:深度挖掘响应式模式的潜力,从而精准优化AI与机器学习项目的运行效能,引领技术革新潮流
  • 《经典论文阅读2》基于随机游走的节点表示学习—Deepwalk算法
  • Java实现二叉树(下)