在nocobase里面配置一个打卡考勤功能

nocobase原生的地图插件不支持定位,使用js区块存在高德sdk导入和执行权限等问题,搞了几天后通过以下方案实现了考勤打卡:

1.配置一个打卡页面,并在系统首页设置入口。
进入打卡页面后如果url里面没有定位信息就跳转到第2步所述页面;

2.编写一个单独的高德定位页面然后以独立文件的形式上传到系统,点击下载后能获取到页面的https访问地址,如果系统没有https证书就购买或者手动生成一个;
这个页面的功能是通过手机获得定位信息并加密,加密时需要加入一个获得定位信息时的时间戳,再将加密信息添加到url地址中跳转回系统打卡页面;

3.打卡页面解析url地址中的加密信息并验证时间戳,如果时间戳距离现在超过一定时间就提示定位过期并跳转回首页。

这样一来就有了一个能记录打卡地点和坐标的考勤打卡功能。

首页:


定位页面(跳转太快,为了截图就关了定位):

打卡页面:

4 Likes

求分享 最近也在研究怎么实现考勤打卡

amap.zip (2.1 KB)
获取定位信息的页面代码,仅供参考,也可以直接使用

1 Like

定位页面代码我发出来了,在nocobase里面的配置就参考我写的思路吧

感谢分享!

谢谢 我学习下

试了下,解码出来的地点是乱码,怎么解决?

乱码的原因可能不止一个,是因为什么乱码呢?

这东西可以做成一个插件,找个时间弄一下

1 Like