手机签到应用的设计与手机定位方法浅析

      上班签到、打卡是企业的基本管理方式,传统的签到方式在适用性、便捷性等方面存在一定的局限,比如对于外出员工的签到管理,传统的方式就难以实现,另外传统的签到设备,签到记录不便于实时获取,统计时需要先从设备上导出考勤记录,再进行分析、统计,这些都无疑增加了考勤人员的负担。同时与考勤密切相关的员工请假、领导审批功能,需要单独实现,难以无缝对接,针对这些问题,我们特设计了“爱签到”应用。该应用主要的功能设计如下:

一、签到/签退
      实现签到、签退功能。每天未签到时默认显示签到按钮,已经签到的,显示签退按钮。对于每天需要多时段签到、签退的,依次循环显示签到、签退按钮。

二、通知公告
      实现通知公告的发布、查看功能,使用户在签到是第一时间看到相关内容,可以设置通知范围,主要内容包括:通知内容、发布人、时间以及通知范围(某部门/某些部门/外出人员或全体人员)

三、请假/审批
      员工通过这个模块填写请假单,请假单内容包括:日期(段)、事由、附件、[工号、姓名、部门、申请时间、审批状态];用于HR实现对请假申请的审批功能,审批时将记录如下内容:审批结果(同意/拒绝,拒绝时可以添加拒绝原因)、[审批人、审批时间]。

四、签到定位方式分析

      通过手机APP进行签到,核心的技术点在于现场定位,这里探讨几种可能的定位方式及实现原理,供大家参考。

     1、企事业单位签到定位方式
     (1)IP定位法
     应用场景:签到的地点有无线网络,且开放给员工,可以通过移动端接入当前WiFi网络。
     定位原理:首先,在局域网内安装一个小程序,用于检测局域网的对外IP地址,当对外IP地址变化后,自动提交到服务器,作为IP定位法的基准IP地址。其次,当员工达到公司后,打开签到APP,根据后台的设置,自动链接上公司局域网,点击“签到/签退”按钮,服务端获取当前用户的IP地址,并与存储在服务器端的基准IP地址进行对比,如果两种一致,则判定签到位置正确,否则提示用户,定位不正确,无法签到。
     其它说明:IP定位法的核心就是签到用户的IP地址与公司的网络外部IP是否一致,由于大部分单位采用的网络接入方式,对外的IP属于动态IP,经常变化,所以,需要一个小程序(IP更新程序)定时检测公司的外部IP地址,这个小程序可以安装在公司某台电脑上,也可以用一个平板电脑或者树莓派开发板,作为一个低成本的固定终端,长期打开,安装IP更新程序,实时获得新IP,并发布到服务器上。
     优势与劣势:该方法的优势在于APP所需技术可以不依赖本地功能,通过WebAPP即可实现。劣势是需要在局域网内安装一个IP更新程序。

     (2)GPS定位法
     应用场景:可以比较准确获取地理位置坐标信息的场所。
     定位原理:首先获取目标现场的经纬度坐标,保存到服务器端。其次,APP端通过GPS传感器获得当前位置数据,与目标现场的坐标进行比对,如果误差在允许范围内,则判定签到位置正确,否则提示用户,定位不正确,无法签到。
     优势与劣势:与IP定位法相比,其优势在于APP自身即可完成定位功能,不需要在局域网内安装IP更新程序。劣势是采用这种方式,如果要获得准确的位置,可能在室内效果不佳,同时需要调用手机的本地API,纯WebAPP难以实现,需要混合应用开发技术。

     (3)蓝牙定位法
     应用场景:该方法一般情况下,对应用场景没有特别要求。
     定位原理:首先在目标现场部署一个BLE设备(该设备成本低廉,一般在100元以内)作为APP端连接的对象,并把该设备的序列号预存在服务器端。其次,APP端在现场通过蓝牙连接BLE设备,并读取设备的序列号,与服务器端预存的序列号进行对比,从而确定位置是否正确;
     优势与劣势:其优势在于对应用场景没有特别要求,相对IP定位法来说,劣势是需要调用手机的本地API,纯WebAPP难以实现,需要混合应用开发技术。

     (4)动态二维码
     应用场景:该方法一般情况下,对应用场景没有特别要求。
     定位原理:在公司前台放置一个平板电脑,平时可以展示公司的品牌和形象图片,打卡时可以生成动态二维码,供员工扫描,APP端扫描动态生成二维码后,根据预定的规则,判断该二维码是否有效,从而判定打卡是否有效。
     优势与劣势:优势可能就是增加了一个公司的展示品牌窗口,劣势是需要调用手机的本地API——摄像头扫描二维码及解码功能,纯WebAPP难以实现,需要混合应用开发技术。

     (6)WiFi热点法
     应用场景:签到的地点有WiFi热点。
     定位原理:首先,把签到地点的WiFi热点名称和密码预设保存在服务器端,其次,手机APP端检测或连接指定的WiFi热点,根据返回的结果判断位置是否正确,当能够连接上指定的WiFi热点,即表示定位正确。
     优势与劣势:优势是实现过程简单,劣势是可能会出现伪造相同的WiFi热点名称和密码,进行非意愿地点进行打卡的情况。

     2、会场签到定位方式
     (1)密码验证法
     实现原理:首先,提前向用户发送签到密码。其次,用户到达现场后在手机/平板电脑上输入密码,对比正确后完成会议签到,适合离线应用。

     (2)二维码验证法
     实现原理:首先,提前向用户发送签到二维码。其次,用户到达现场后采用1部或多部手机/平板电脑作为临时扫码器,在其上安装扫描程序,对比正确后完成会议签到,适合离线应用。

     以上两种方式都可以快速、简单实现会场出席人员的签到需求,不需要购置额外的设备,用现有的手机或平板电脑即可完成,成本低、简单有效。

     P.S. 以上说是的劣势,只是相对于采用简单的纯Web技术而已,其实也算不上真正的不足,关键是根据您的应用场景,选择合适的定位方式。

 

    今天主要借助手机签到这个应用,与大家分享手机定位的多种实现方法,关于本应用的配置代码将在后续的文章中与大家分享,下面给该应用的两个页面,先一睹为快。

手机签到应用的设计与手机定位方法浅析

 图1 签到首页(背景图片每天更新)

 

手机签到应用的设计与手机定位方法浅析

图2 签到应用功能列表页

手机签到应用的设计与手机定位方法浅析

上一篇:Video.js 源码浅析


下一篇:小米面试题