初探Node.js - 实现青年大学习自动化查询pkg打包成运行程序[有更新]

大熙哥 2021年07月19日 330次浏览

软件下载地址在文章尾部
有很多小伙伴迫切需要青年大学习学习数据统计,但苦于不是软件工程专业,对油猴脚本啥的不怎么会用。感觉使用流程也麻烦,因此打算开发一个桌面应用程序,想着使用python开发来着,因为熟悉,但是想到自己以后是走前端的因此使用Node.js 尝试开发,其实他们都属于脚本语言,实际开发过程挺顺利的。

实现效果图

某班级的数据

可以看到只需要输入账号密码即可自动获取数据并且进行分析,打印分析后的数据。

实现过程分享

具体过程我就不再详细叙述了,基本和上篇博客的内容差不多的方式,主要需要注意的是智慧团建系统和青年大学习页面是两套系统,一套是通过seesion的认证体系,一套是token的认证体系,这种开发方式也激起我的想法如何合并老旧项目的方法。

在获取验证码的链接中可以得到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文件从而不需要每次都输入账号密码。
  • 新增流程展示,万一软件卡住可以看到具体卡住的步骤。
  • 新增验证码可选,有些时间非频繁登录可不需要验证码。
  • 紧急修复读取配置文件错误。

咸鱼云下载-young2.1

旧版本下载

咸鱼云下载[推荐]

咸鱼云是自研资源下载站,很鬼厉害。

博客站点下载

备用下载链接。