微信小程序实现二维码签到考勤系统微信小程序实现二维码签到考勤系统
一。手动生成二维码的一。手动生成二维码的.js代码代码
这里要引入一个官方文档wxapp.qrcode.min.js
let drawQrcode = require('../utils/wxapp.qrcode.min.js');//引入wxapp.qrcode.min.js文件
createQRcode(canvasWidth, canvasHeight, canvasId, url) {
// 调用qrcode.js里的方法,传入对应参数
drawQrcode({
width: canvasWidth,
height: canvasHeight,
canvasId: canvasId,
text: url
})
console.log(drawQrcode.width)
},
setCanvasSize() {
let size = {};
// getSystemInfoSync 微信小程序提供getSystemInfoSync获取设备的信息
let res = wx.getSystemInfoSync();
// console.log(res);
// 获取比例
let scale = 686 / 750;
let width = res.windowWidth * scale;
let height = width;
size.w = width;
size.h = height;
return size;
},
formsubmit(e) {
let url = e.detail.value.url || this.data.placeholder;
// let url = e.detail.value.url ? e.detail.value.url : this.data.placeholder;
wx.showToast({
title: '生成中',
icon: 'loading',
duration: 2000
})
let that_ = this;
let timer = setTimeout(() => {
let size = that_.setCanvasSize();
//调用createQRcode方法
that_.createQRcode(size.w, size.h, 'mycanvars', url);
wx.hideToast();
clearTimeout(timer);
}, 2000)},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
//setCanvasSize 拿到画布区域的尺寸(微信小程序不支持dom的操作,所以单独定义方法去获取)
let size = this.setCanvasSize();
// console.log(size);
let url = this.data.placeholder;
//调用createQRcode方法
this.createQRcode(size.w, size.h, 'mycanvars', url);
},
二。准备工作,导入数据库表,和二。准备工作,导入数据库表,和unit.js。获取时间。获取时间
const DB = wx.cloud.database().collection("cows")
const TB = wx.cloud.database().collection("log")
let i = 0
let id=''
var util = require('../utils/util.js');
三。写入签到签退按钮的三。写入签到签退按钮的.js代码代码
now(){