BH4HPA / xueanquan

学安全 / 学校安全教育平台 / safetree / xueanquan 批量学习工具
GNU General Public License v3.0
25 stars 13 forks source link

关于config配置及willDo中的method方式的问题 #3

Closed TGV-Duplex closed 3 years ago

TGV-Duplex commented 3 years ago
$ node .\index.js
==========================
欢迎使用,您已经填入了 41 个账号,已经填写了管理员 Cookie,请更换 willDo 中的 method 方式开始操作。
==========================
已完成。
==========================
// config.js
// 做了一点微小改动
/* === 执行操作 === */
let methods = {
    anquanxuexi:0,
    zhuantihuodong:1,
    jiaqihuodong:2,
    listInfo:3
};
// methods.anquanxuexi = 0; // 安全学习
// methods. = 1; // 专题活动
// methods. = 2; // 假期活动
// methods. = 3;

let willDo = methods["zhuantihuodong"];

你好,我正在学习JavaScript.. 对部分的js代码不是很理解 , 但是想实现使用这个项目 这里除了基本的个人账户信息之外我只配置了config中的专题活动一项.如下:

/* === 专题活动 === */
// 如 https://huodong.xueanquan.com/2021fzjz/index.html
let special = "https://huodong.xueanquan.com/2021autumnclass/yitu.html";

special.specialId = 623; // 打开专题活动页,按 F12 调出 Console,输入 specialId 取该专题活动的 specialId。
special.steps = ['安全常识', '安全挑战']; // 不同专题活动步骤不同,大部分是两步——看视频和答问卷——请按照实际情况修改。

node执行结果始终为开头所述那样, 表示不解.....遂前来赐教

BH4HPA commented 3 years ago

你好,很高兴能帮助到你~

https://github.com/ENDsoft233/xueanquan/blob/d1bde2f0daced0731496f2d2dcfcecd0c6a8fa5d/config_template.js#L40-L47

41 到 45 行是我预设的一个对象,我对其中的一些成员进行了赋值,方便用户使用,实际上传给 index.js 的是一个数字,然后在

https://github.com/ENDsoft233/xueanquan/blob/d1bde2f0daced0731496f2d2dcfcecd0c6a8fa5d/index.js#L159-L162

这里对传过来的数字进行判断。

所以说,如果你想使用专题学习的功能,对于原始的 config.js 而言,你应该将第 47 行的 methods.listInfo 改为 methods.zhuantihuodong ,这里的 methods.zhuantihuodong 的值已经在第 43 行赋值为 1 ,其等价于直接将 willDo 变量赋值为 1 ,然后在 index.js 之中, willDo 将作为一个数组下标定位到具体的函数:

https://github.com/ENDsoft233/xueanquan/blob/d1bde2f0daced0731496f2d2dcfcecd0c6a8fa5d/index.js#L162

https://github.com/ENDsoft233/xueanquan/blob/d1bde2f0daced0731496f2d2dcfcecd0c6a8fa5d/index.js#L139

文笔比较拙劣,如果还有什么不懂的地方,欢迎随时回复。

FreeXMelody commented 3 years ago

Hi there. 换了个账号 , 还是我!\\

正在处理 2026141585 `username`
登录返回 200 -1 登录失败,用户名或密码不正确 null
登录失败,即将重置密码并重试。
node:internal/process/promises:218
          triggerUncaughtException(err, true /* fromPromise */);
          ^

TypeError [ERR_INVALID_CHAR]: Invalid character in header content ["Cookie"]
    at ClientRequest.setHeader (node:_http_outgoing:566:3)
    at new ClientRequest (node:_http_client:251:14)
    at Object.request (node:https:313:10)
    at RedirectableRequest._performRequest (G:\Christer\xueanquan\node_modules\follow-redirects\index.js:265:24)
    at new RedirectableRequest (G:\Christer\xueanquan\node_modules\follow-redirects\index.js:61:8)
    at Object.request (G:\Christer\xueanquan\node_modules\follow-redirects\index.js:456:14)
    at dispatchHttpRequest (G:\Christer\xueanquan\node_modules\axios\lib\adapters\http.js:195:25)
    at new Promise (<anonymous>)
    at httpAdapter (G:\Christer\xueanquan\node_modules\axios\lib\adapters\http.js:46:10)
    at dispatchRequest (G:\Christer\xueanquan\node_modules\axios\lib\core\dispatchRequest.js:52:10) {
  code: 'ERR_INVALID_CHAR'
}

部署后出现了这样的问题, accounts数组中第一个账号的执行是正常的,然后就出现了以上的错误,姓名信息处理掉了

登录返回 200 1 `XXX` 9680E3E261E0499634F8BF339101D963
看视频   true
答题返回 200 '1'

麻烦啦\

BH4HPA commented 3 years ago

很高兴能收到你的回复,看了下报错信息,Invalid character in header content ["Cookie"],这一段指示了你在 config.js 文件中填入的 Cookie 不太正确,请检查,如果看不出来问题并且方便的话可以直接发出来让我看看。

https://github.com/ENDsoft233/xueanquan/blob/d1bde2f0daced0731496f2d2dcfcecd0c6a8fa5d/config_template.js#L11

FreeXMelody commented 3 years ago

很高兴能收到你的回复,看了下报错信息,Invalid character in header content ["Cookie"],这一段指示了你在 config.js 文件中填入的 Cookie 不太正确,请检查,如果看不出来问题并且方便的话可以直接发出来让我看看。

https://github.com/ENDsoft233/xueanquan/blob/d1bde2f0daced0731496f2d2dcfcecd0c6a8fa5d/config_template.js#L11

let adminCookie = "dwz_theme=azure; UM_distinctid=17c0c4cd45b206-0bc0b16c013dbd-57341f44-100200-17c0c4cd45db5; UserID=D446518B15DFA74C9FC4820D0E0FB734; ServerSide=https://ningbo.xueanquan.com; _UCodeStr={" + 
    "\"Grade\": 10," +
    "\"ClassRoom\": 533241720," + 
    "\"CityCode\": 20004"+
  "}; _UserID=fddT3IeY3KZjLH0khJvt8QcH5YAdl7umrbg2BO0POpg=; SafeApp=true; RiskApp=true; PeiXun_UserID=67373888A7F6BC31DA072B6CA9F3DE53; Training=true; ASP.NET_SessionId=wtctbqkynlpk4pjukp1phxve; qimo_xstKeywords_dd39b150-a934-11e9-b073-e9b8d9c630e7=; href=https://ningbo.xueanquan.com//MainPage.html; accessId=dd39b150-a934-11e9-b073-e9b8d9c630e7; CNZZDATA1265097118=700703253-1632291321-|1632867905; qimo_seosource_dd39b150-a934-11e9-b073-e9b8d9c630e7=站内; qimo_seokeywords_dd39b150-a934-11e9-b073-e9b8d9c630e7=; pageViewNum=3";
BH4HPA commented 3 years ago

看到一个没有被 base64 编码的值,请试试把 qimo_seosource_dd39b150-a934-11e9-b073-e9b8d9c630e7=站内; 这一段删了再试试。

FreeXMelody commented 3 years ago

完成啦 运行正常了 感谢!

好像源代码中有点小问题? 以下引用代码应该是忘记加下划线了吧? : https://github.com/ENDsoft233/xueanquan/blob/d1bde2f0daced0731496f2d2dcfcecd0c6a8fa5d/index.js#L40

return _login(userId, userAccount, true);
BH4HPA commented 3 years ago

的确是的,谢谢。