只适用于在电子科大后勤保障部宿舍服务处进行的寝室选择。
- 因为泥电的宿舍选择机制很诡异,既不能取消选择(一次性的),也没有个几分钟的锁寝室的机制,所以经常出现撞车的情况,即你和室友在选择宿舍的时候,被其他同学选择了其中的一个床位。
- 所以在此情况下,开发了该脚本,为了能够最大程度地保证室友能够选择到同一个寝室,防止撞车。
- 泥电在开始抢寝室前一天会开放系统进行寝室试选(选择不起作用,晚上会清数据),你需要进入系统内浏览你心仪的房间,然后鼠标移到该房间的可点击区域并右键,点击
检查
按钮,打开浏览器开发界面。 - 在浏览器开发界面里,已经有一行代码的底色被自动加深,找到这行代码,获取到
dormitoryChooseBed(xxxx)
中的xxxx这一串数字ID,这串数字即为你想选房间的唯一ID。
// room.config.ts
export default {
// 你电后勤寝室网站开放时间(开抢寝室时间):例如下方设置为计算机学院寝室开放时间(11:00)
start_time: {
hour: 11,
minute: 0,
second: 0
},
persons: [{
"name": "xxx1", // 名称
"act": "abcdefg", // 账号
"psw": "114514", // 密码
"cookie": {
"JSESSIONID": "67BA5A3AA28F701F31C7AAF3A12096F1",
// sessionid的获得请参考下文的「其余说明」
}
}, {
"name": "xxx2",
"act": "abcdefffff",
"psw": "1919810",
"cookie": {
"JSESSIONID": "C281CAAEF220C15F892E6EBDAC9DFF53"
}
}],
houses: [
{
id: 114514, // 在前置准备中获取到的数字ID
name: "先辈" // 数字ID对应的房间号
}
]
}
- 配置文件的各项属性如上所示,需要补充以下说明:
- start_time为网站开放时间,即脚本定时运行时间 -> 脚本会在指定时间运行。
- persons内的配置数量自己的意愿而定,比如你们是三个人想抢一个三人间,那就写三个人的配置,你若想一个人抢某间寝室,写一个人的配置即可。 需要注意的是,每个人的sessionid必须不同(原理在下面其余说明部分会说到),并且要从尼电的选寝室登录界面去获取,而不是随便输一个字符串。
- houses里也可以配置多个房间号,并且优先级为从上到下。
注: 需要你的电脑上有nodejs环境以及yarn,如何安装 NodeJs安装相关 yarn安装相关
- 打开命令行,并在项目根路径依次运行以下指令。
yarn # 安装依赖
yarn go # 挂载脚本
- 注:如需要后台挂载脚本,可以使用
pm2
后台管理工具来进行node脚本进程挂载,具体的可参考pm2官方文档