Django+Vue前后端分离实现易统计打卡平台

前言

这个小项目是我为了学习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掌握不是很熟练,界面比例不是很完美

在线演示

http://one.z2blog.com

登录页

注册页

用户主页

Todo

  • [ ] 准备用协程优化打卡效率
  • [ ] 完整查询所有打卡记录
  • [ ] 优化前端的token保存
添加新评论