-
更新Node.JS到16+版本(推荐使用
n
工具升级) -
Clone项目/下载Zip包
git clone [email protected]:KairuiLiu/auto-clock-in-szxd.git
-
进入
/src
, 安装依赖cd src npm install
至此, 环境准备完成
配置文件为/src/config.js
. config.js
中已经给出参数详细说明.
若不使用轻服务, 只需配置学号, 密码即可开始使用, 但是仍然建议自定义: 位置信息与查寝图片, 打卡结果邮件发送.
获取图片
methods=apiImg
: 您可以给出一个可以产生图像的链接, 需要上传图像时, 程序会自动获取图像并提交至学校服务器, 我们在配置文件中预先留了一个地址, 该地址可以随机获得一个200x200的图像methods=urls
: 如果您认为随即图像太过草率可以提前拍一些照片, 使用/src/getLocalImageInfo.js
获取图像信息, 然后填入url
数组中. 使用方法为: 将图片(例如demo.png
)拷贝到getLocalImageInfo.js
同目录, 执行即可在控制台获得图片信息node ./getLocalImageInfo.js demo.png
methods=api
: 设置此项后, 在打卡时, 程序会请求api
中的地址, 您应该保证该地址可以返回形如url
中元素的对象, 程序会获取对象并提交表单methods=qingfuwu
: 设置此项后, 您可以在轻服务托管的网站中随时上传图片, 图片将保存在您的轻服务服务器, 在查寝时, 程序会自动获取轻服务文件中第一张图片, 自动获取图像信息并提交表单. 若服务器中不止一张图片, 在上传完成后该图片将会被销毁, 详见部署到轻服务methods=tencentCOS
: 设置此项后, 您可以在腾讯云COS托管的网站中随时上传图片, 图片将保存在您的COS存储桶中, 在查寝时, 程序会自动获取桶中第一张图片, 自动获取图像信息并提交表单. 若桶中图片不止一张图片, 在上传完成后该图片将会被销毁, 详见部署到腾讯云云函数. (请注意, COS存储为付费服务)
打卡结果邮件发送
可以通过两种方式实现邮件发送
-
在本地部署:
config.js
配置如下resultEmail: { // 采用邮件通知 enable: true, // 是否开启 qingMid: false, // 是否采用轻服务小中间件发送邮件, 若不采用则必须配置最后三行 restImg: false, // [限腾讯云COS与轻服务修改]是否在返回查寝信息时返回剩余照片数 saver: '[email protected]', // 收件邮箱地址 senderService: '', // [采用轻服务中间件可以不写]发件邮箱服务器, 例如`QQ`, `outlook` sender: '', // [采用轻服务中间件可以不写]发件邮箱地址 senderPassword: '', // [采用轻服务中间件可以不写]发件邮箱密码 },
-
如果您不清楚如何配置发件邮箱, 可以选择部署在轻服务, 并采用作者邮箱作为发件邮箱. 详见部署到轻服务
- 健康打卡: 执行
node src/morning.js
- 查寝: 执行
node src/evening.js
看起来有点蠢, 可以注册一个Cron任务执行程序, 当然, 最好的办法还是借助云函数. 我们以字节跳动轻服务为例, 详见部署到轻服务
需要使用字节跳动轻服务, 详见部署到轻服务