WHAT

上上签是基于html5的签到系统,用于参加齐鲁大学生软件设计大赛中的html5创意应用命题,本签到系统采用GPS定位签到+人脸认证,保证了人与手机在一起,手机在指定位置范围内,进行有效签到。

WHY

  1. H5其中的一个特性就是Geolocation,因此利用了GPS定位将教师与学生的签到划分至一定范围内进行签到
  2. 命题中有建议用百度AI,发现其中有人脸识别的功能,如果加入这一功能则能实现双重校验进行有效签到
  3. 因为命题要求PC/Mobile都能够使用,因此针对PC端对人脸照片使用Exif查询照片时间实现有效期校验

WHERE

  1. 在项目实现中发现不同手机浏览器之间的H5兼容性还是不同,因此发现不少问题,因此在GPS定位中做了两种友好的错误提示,也方便定位问题所在
  2. 为了展示更多的h5与css3特性,增加了一处MD风格的悬浮菜单,但出现iOS下无法点击的情况
  3. 在导出签到报表时通过Excel打开报表发现数字变科学计数法
  4. 通过Exif进行照片的有效期校验比对,这是我们团队头脑风暴中所想出的解决方法,真的喜欢头脑风暴
  5. 因为利用GPS定位将教师与学生的签到划分至一定范围内进行签到,所以要计算两点间的经纬度距离
  6. v2.0版本增加了花名册的功能,需要对Excel进行处理

HOW

  1. 关于GPS定位的解决方案
    查看代码:/student.html#L222-L244
  2. iOS Safari 中点击事件失效的解决方法
    查看文章:/Safari-Click.html
  3. 导出csv文件数字变科学计数法的解决方法
    查看文章:/export-csv.html
  4. 对照片与当前时间通过Exif进行时间校验
    查看代码:/student.html#L193-L209
  5. 两点间的经纬度距离算法
    查看代码:/distance.function.php
  6. 使用PHPExcel进行处理Excel
    查看代码:/api.php#L80-L95 (更多使用方法可去Github查看PHPExcel的例子)
    upSign
最后修改:2017 年 12 月 14 日
如果觉得我的文章对你有用,请随意赞赏