搜索
查看: 245|回复: 3
收起左侧

[脚本工具] 华东师范大学图书馆座位自动预约脚本

[复制链接]

签到天数: 75 天

[LV.6]常住居民II

发表于 2023-3-8 13:31:34 | 显示全部楼层 |阅读模式
1.png

配置参数
初次使用,需要以下参数:学号、密码及座位ID。座位ID请查area文件夹下的json文件。查询方法如下

{
    "id": 3327,
    "no": "001",
    "name": "001",
    "area": 8,
    "category": 12,
    "point_x": 21.04167,
    "point_x2": null,
    "point_x3": null,
    "point_x4": null,
    "point_y": 75,
    "point_y2": null,
    "point_y3": null,
    "point_y4": null,
    "width": 2.03125,
    "height": 3.173077,
    "status": 1,
    "status_name": "空闲",
    "area_name": "一楼A区",
    "area_levels": 1,
    "area_type": 1,
    "area_color": null
}

这是一个座位的详细信息。其中id就是座位id,no就是实际的座位号,area_name就是区域名称。所以上面这个座位是:一楼A区01号座位。其他座位类似,查询到自己想预约的座位的ID即可。目前仅罗列出了中北校区的座位信息。如有需要,可以提issue,我把闵行校区的补上。
(非必须)微信账号openid,固定不变,抓一次包记录下来就可以了。如果当前账号没有绑定,则需要此参数,配合addUser函数使用。如果已经绑定过了,以后只需要登录就行了。
(可选)qq邮箱开通SMTP服务(免费),得到一个授权码,用于向自己发送通知邮件。

使用
在脚本中填入学号、密码、座位ID等参数。如果不需要发送邮件,把SendEmailUtil.sendEmail(EMAIL, content)语句全部注释即可
确定当前账号是否在公众号上面绑定了。建议先绑定,然后预约只需要依次执行login()、getViableTime()以及grabSeat()三个函数即可。
部署到服务器,使用crontab,添加定时任务。定时任务指定执行文件AutoSeatGrabbing.java,该文件已经写了主函数,会主动执行预约函数(先把参数填好)
如果起得比较早,可以将定时任务设置在早上7点,脚本会自动开始预约座位
脚本默认预约明天的座位,可以修改autoGrabSeat函数,不让日期增加一天
关于autoGrabSeat函数,可以适当修改。绑定后不需要重复绑定,每次执行login就行,不需要removeUser和addUser。当然前提是已经绑定过了。

适用场景
适用于每天早上抢座的同学,将定时任务设置在早上7点,脚本会根据配置好的座位,自动开始预约明天的座位
其他时间段抢座需要设置间隔请求,目前还没有做这个功能,不过也简单

游客,如果您要查看本帖隐藏内容请回复






上一篇:微软语音合成助手_V1.5.2 免费版
下一篇:WPS稻壳模板免费下载工具_V1.0 免费版

签到天数: 607 天

[LV.9]以坛为家II

发表于 2023-3-8 15:33:33 | 显示全部楼层
我以前都在2楼沙发坐着,没跟谁抢过位置。
回复 支持 反对

使用道具 举报

签到天数: 30 天

[LV.5]常住居民I

发表于 2023-3-8 16:27:50 | 显示全部楼层
啥也不说了,感谢楼主分享哇!
回复 支持 反对

使用道具 举报

签到天数: 66 天

[LV.6]常住居民II

发表于 2023-3-8 18:17:14 | 显示全部楼层
哎 可惜我是华北理工的  不是华东的
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册用户

本版积分规则

快速回复 返回顶部 返回列表