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

数据库设计:分别为花名册表,没签到的人,签到的人,考勤信息设置表,学生表,老师表。

花名册表,groupid为老师的openid加六位随机数字,stuNum为学号,name为名字,cla为班级,state为签到状态。

没签到人表:day日期,courceTime课程节数,roomNum教室号这三个属性可以唯一定位一场考勤。用于后续查找考勤历史。

签到人表:

考勤信息设置表:
time为考勤截止时间,latitude为维度,longitude为经度,ma为考勤码,随机生成六位数字。

学生表:

老师表:

当时设计数据库时,主要感觉困难在于考勤信息的历史记录查询和最近一次考勤记录。开始想的是老师之间通过openid识别,同一老师的不同花名册通过groupid识别,hcmState用来标识同一老师的哪个花名册在使用。后面写代码做这个发现果然理想是美好的,现实是骨感的。这样,做历史和最近有点麻烦,后来就用day日期,courceTime课程节数,roomNum教室号这三个属性来做历史。最近是靠老师表的grouid和hmcstate来定位最近考勤的。

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

微信公众号开发之课堂考勤相关推荐

  1. 微信公众号开发-java版 腾讯课堂(开发接入)

    微信公众号开发-java版 腾讯课堂 微信测试号申请地址: 微信二维码直接扫描登录 1.新建web项目 2.内网穿透映射公网ip  (免费隧道需要支付宝实名认证) 3.微信接入验证签名 TOKEN自己 ...

  2. 微信公众号开发C#系列-7、消息管理-接收事件推送

    1.概述 在微信用户和公众号产生交互的过程中,用户的某些操作会使得微信服务器通过事件推送的形式通知到开发者在开发者中心处设置的服务器地址,从而开发者可以获取到该信息.其中,某些事件推送在发生后,是允许 ...

  3. 基于Vue+SpringCloudAlibaba微服务电商项目实战-技术选型-004:快速整合微信公众号开发

    004:快速整合微信公众号开发 1 微信公众号开发项目演示 2 微信公众号开发设计原理 3 基于natapp将本地项目发布到外网 4 对接微信公众号测试平台 5 第三方微信框架快速实现微信开发 6 微 ...

  4. 微信公众号开发本地环境开发_如何在5分钟内使HTTPS在本地开发环境上工作

    微信公众号开发本地环境开发 Almost any website you visit today is protected by HTTPS. If yours isn't yet, it shoul ...

  5. 微信公众号开发用书php,php微信公众号开发(3)php实现简单微信文本通讯

    <PHP实战:PHP微信公众号开发(3)PHP实现简单微信文本通讯>要点: 本文介绍了PHP实战:PHP微信公众号开发(3)PHP实现简单微信文本通讯,希望对您有用.如果有疑问,可以联系我 ...

  6. 【微信公众号开发】获取并保存access_token、jsapi_ticket票据(可用于微信分享、语音识别等等)...

    步骤一:首先得开通公众号(目的是 获得appid.AppSecret.设置安全域名)~ [公众号设置]→[功能设置] 设置相应的域名 步骤二:编写帮助类WeixinLuyinHelper中的代码 #r ...

  7. 微信公众号开发Django-网页授权

    原文链接 对于基础的微信公众号开发,网页授权,JSSDK,图片处理应该是最重要的三部分了 根本上也是按照文档开发,技术含量并不高. (选Django=很多权限控制模块已经做好了,比较省力) 在开始之前 ...

  8. 慕课网_《Java微信公众号开发进阶》学习总结

    时间:2017年08月12日星期六 说明:本文部分内容均来自慕课网.@慕课网:http://www.imooc.com 教学源码:http://img.mukewang.com/down/... 学习 ...

  9. 微信公众号开发之准备工作

    这是微信公众号开发的第一步.是网页授权的那章的前提. 工作室有关一个订餐系统的开发,我对公众号开发比较感兴趣,所以参与这方面的学习. 本章主要讲述两个方面的内容,一是工具的准备,二是环境的配置. -- ...

  10. java微信公众号开发token验证失败的问题及解决办法

    java微信公众号开发token验证失败的问题及解决办法 参考文章: (1)java微信公众号开发token验证失败的问题及解决办法 (2)https://www.cnblogs.com/beardu ...

最新文章

  1. 对Android GPS获取位置信息的新研究.
  2. 神经网络中的激活函数的比较
  3. 6 个对所有 Web 开发者都有用的 GitHub 仓库
  4. 高手与菜鸟,思想与技术
  5. AUTOSAR从入门到精通100讲(九)-汽车Tbox
  6. 一杯水怎么测试_一杯水就能鉴别翡翠真假的高招
  7. Java系列笔记(4) - JVM监控与调优【转】
  8. C#中的控制台进度条
  9. python软件源 临时使用清华源
  10. 用cxf编写基于spring的webservice之上篇
  11. [推荐书籍]Flex 4 in Action MEAP Edition
  12. python读取图像属性并显示_图像读取和显示(Python实现),Opencv,基础,之
  13. 今天中午还收到了,一条诈骗短信,说是中奖了
  14. 线性同余法产生1000个随机数
  15. FastFDS文件服务部署
  16. sir模型 python_SIR传染病模型(附Python代码)
  17. 2021年广东工业大学第11届腾讯杯新生程序设计竞赛(同步赛)F osu
  18. mysql数据库物理结构_MySQL数据库结构设计(物理设计)
  19. c语言中cap是什么缩写,ACID中C与CAP定理中C的区别
  20. 湖南大学与四川大学计算机,四川大学和湖南大学哪个更好一点?都是高校吗?...

热门文章

  1. Mac如何清理应用软件
  2. java中refresh是什么_JavaWeb Refresh响应头代码实例详解
  3. linux脚本回车键是什么,回车是什么意思 回车键功能介绍
  4. 计算机系统无法启动 错误恢复怎么办,win7系统无法启动 安全模式也进入不了怎么办-win7启动失败,win7错误恢复无法开机...
  5. android 8.0自定义全局对话框,Android 8.0如何完美适配全局dialog悬浮窗弹出
  6. 常见十大算法 冒泡算法
  7. 小程序 怎样判断数据的类型
  8. 从辉煌到困局,奥康还能不能绝地反击?
  9. 物理学家用AI改写教科书!质子中发现新的夸克,可能性高达99.7%
  10. 这学期她选修了英语 计算机 驾驶三门课程,大一英语翻译答案