微信公众号开发之课堂考勤

要求:导入班级花名册Excel,发起考勤,生成考勤码,获取微信定位,签到后可以看到考勤结果,特殊情况老师可以手动帮学生签到。

数据库设计:分别为花名册表,没签到的人,签到的人,考勤信息设置表,学生表,老师表。
1
花名册表,groupid为老师的openid加六位随机数字,stuNum为学号,name为名字,cla为班级,state为签到状态。
在这里插入图片描述
没签到人表:day日期,courceTime课程节数,roomNum教室号这三个属性可以唯一定位一场考勤。用于后续查找考勤历史。
1
签到人表:
1
考勤信息设置表:
time为考勤截止时间,latitude为维度,longitude为经度,ma为考勤码,随机生成六位数字。
1
学生表:
1
老师表:
1
当时设计数据库时,主要感觉困难在于考勤信息的历史记录查询和最近一次考勤记录。开始想的是老师之间通过openid识别,同一老师的不同花名册通过groupid识别,hcmState用来标识同一老师的哪个花名册在使用。后面写代码做这个发现果然理想是美好的,现实是骨感的。这样,做历史和最近有点麻烦,后来就用day日期,courceTime课程节数,roomNum教室号这三个属性来做历史。最近是靠老师表的grouid和hmcstate来定位最近考勤的。

考勤成功是要在规定时间内和规定距离内才能做到。时间我是简单化处理的,当时设置考勤信息时,我就把考勤信息设置时间加有效时间作为截止时间,后面学生点击签到按钮时会判定距离是不是在50m内(微信定位我用着有点误差),在50m内,就判定当前时间是不是小于截止时间,小于就可以签到成功,并返回签到成功提示,失败就返回迟到提示。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值