软件下载地址在文章尾部
有很多小伙伴迫切需要青年大学习学习数据统计,但苦于不是软件工程专业,对油猴脚本啥的不怎么会用。感觉使用流程也麻烦,因此打算开发一个桌面应用程序,想着使用python开发来着,因为熟悉,但是想到自己以后是走前端的因此使用Node.js 尝试开发,其实他们都属于脚本语言,实际开发过程挺顺利的。
实现效果图
可以看到只需要输入账号密码即可自动获取数据并且进行分析,打印分析后的数据。
实现过程分享
具体过程我就不再详细叙述了,基本和上篇博客的内容差不多的方式,主要需要注意的是智慧团建系统和青年大学习页面是两套系统,一套是通过seesion的认证体系,一套是token的认证体系,这种开发方式也激起我的想法如何合并老旧项目的方法。
关键点1 - 获取验证码的链接会产生set-cookie
在获取验证码的链接中可以得到cookie,登录成功也是靠这个cookie去获取数据的,也就是我们在保存验证码的同时也要保存header里的cookie,注意获取验证码的链接需要传递时间戳,但是我传递一个过期的时间戳也可以,暂不清楚什么原因。
关键点2 - 点击青年大学习按钮会自动请求获取青年大学习的token
登录进去后的主页面,点击青年大学习按钮,此时可以看到会请求并返回青年大学习的url,url后面附带了token,在获取已学名单需要使用这个token。
关键点3 - 整个逻辑刨析
- 首先登录获取智慧团建cookie
- 获取全部团员名单
- 获取青年大学习的token
- 获取已学团员名单
- js进行数据处理
- 产生未学名单
- js计算参学率(已学人数 / 总人数)X 100
- 产生参学率
- 打印输出
后话
Node.js 使用pkg打包居然可以生成三端(linux、Mac、Win),可惜的是就简简单单的150行代码居然生成的软件大小是30M,这也太大了吧!!我还没引用httpServer呢。
软件下载
微信里面下载不了
2021年7月19日更新[2.1版本]
更新内容:
- 新增可以读取config.json文件从而不需要每次都输入账号密码。
- 新增流程展示,万一软件卡住可以看到具体卡住的步骤。
- 新增验证码可选,有些时间非频繁登录可不需要验证码。
- 紧急修复读取配置文件错误。
旧版本下载
咸鱼云是自研资源下载站,很鬼厉害。
备用下载链接。