前言
这个小项目是我为了学习django-rest-framework
创建的,边学边写收获良多
整个项目的质量很一般,也很简单^_^ 加油,继续前进
以下是我用到的一些框架和脚本
后端:
django (web框架)
django-rest-framework (开发接口)
django-apscheduler (定时执行)
simpleui (django后台美化插件)
django-rest-framework-jwt (JWT验证)
django-filters (数据过滤)
corsheaders (处理跨域问题)
前端:
Vue, ElementUI, vue-material
打卡脚本:
自己抓包写的脚本,可以完成打卡和信息上报
功能
- 每日定时为有效用户打卡
- 微信推送每日打卡状态
- cookie失效提醒
Github
https://github.com/mkdir700/OneSignWeb
细节
关于Cookie
易统计平台,每次登录后的cookie有效时长10天
登录/注册
我没有采用账号密码形式进行登录,而是用了易统计的验证码接口。
第一,用户只要登录成功,默认就进行打卡了,无需用户进行其他操作。
第二,用户注册和登录可以用同一接口,方便省事
消息推送
考虑到平台自动打卡后,打卡的状态不能及时发送给用户的问题。我找一了个微信消息推送的平台(@WxPusher)http://wxpusher.zjiecode.com/admin/app/list
之前考虑使用server酱
,但是server酱
对普通用户有使用门槛(需要github账号),所以换到了WxPusher
,很好用推荐O(∩_∩)O
自动打卡
使用模块django-apscheduler
每日0点1分自动执行打卡任务(用的同步方式),如果用户多的话,建议使用协程提升整体的打卡速度。
每日6点检测所有用户的cookie截止时间,如果明天0点之前失效,则推送至微信告知用户cookie即将失效。
Demo
前端小白,界面用ElementUI写的,Css掌握不是很熟练,界面比例不是很完美
在线演示
登录页
注册页
用户主页
Todo
- [ ] 准备用协程优化打卡效率
- [ ] 完整查询所有打卡记录
- [ ] 优化前端的token保存