// ==UserScript== // @name 国家安全知识竞赛秒过(ScriptCat后台脚本) // @namespace Ne-21 // @version 1.0.1 // @description 国家安全知识竞赛秒过100分,浏览器启动后自动执行,ScriptCat专用后台脚本,后台脚本是脚本猫特有的脚本所以不支持油猴。 // @author Ne-21 // @crontab * * once * * // @connect gjaqzsjs.haedu.cn // @grant unsafeWindow // @grant GM_xmlhttpRequest // @grant GM_log // @grant GM_notification // @background // @debug // ==/UserScript== var schoolId = ''; // 学校id请查看https://github.com/xVue/javascript-save/blob/main/gjaqzsjs_unit_id.json中的code就是id var login_num = ''; // 登录账号 var login_pas = ''; // 登录密码 return new Promise((resolve, reject) => { if (schoolId == "" || login_num == "" || login_pas == "") { GM_log('请设置相关登录信息', "error") GM_notification('国安小助手:请设置相关登录信息'); reject() } else { GM_notification('国安小助手:欢迎使用'); } GM_xmlhttpRequest({ method: 'POST', url: 'http://gjaqzsjs.haedu.cn/Login/auth', headers: { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36', 'Origin': 'http://gjaqzsjs.haedu.cn/', "Content-type": "application/x-www-form-urlencoded; charset=UTF-8", }, data: 'unit_code=' + encodeURIComponent(schoolId) + '&student_id=' + encodeURIComponent(login_num) + '&password=' + encodeURIComponent(login_pas), onload: function (xhr) { var res = JSON.parse(xhr.responseText) if (res.code == 2000) { GM_log('登录状态:' + res.msg, "info") GM_log('欢迎使用,来自' + res.data.unit_char + '的' + res.data.name + '同学') GM_log('开始检测今日是否答题') var date = new Date(), y = date.getFullYear() + '', m = date.getMonth() + 1 + '', d = date.getDate() + '', nowdate = y + (m.length == 1 ? '0' + m : m) + (d.length == 1 ? '0' + d : d); resolve(nowdate) } else { GM_log('登录状态:' + res.msg, "error") GM_notification('国安小助手:登陆失败'); reject() } } }) }).then(async (nowdate) => { await new Promise((resolve, reject) => { GM_xmlhttpRequest({ method: 'POST', url: 'http://gjaqzsjs.haedu.cn//Answer/getRecord', headers: { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36', 'Origin': 'http://gjaqzsjs.haedu.cn/', "Content-type": "application/x-www-form-urlencoded; charset=UTF-8", "Referer": "http://gjaqzsjs.haedu.cn/gjaq_dati/page/record.html?date=" + nowdate }, data: 'date=' + encodeURIComponent(nowdate), onload: function (xhr_1) { var res = JSON.parse(xhr_1.responseText); if (res.code == 4421) { GM_log(res.msg, "info"); GM_log('开始提交答案...', "info"); resolve(); } else { GM_log('今日已答题', "info"); GM_notification('国安小助手:今日已答题'); reject(); } } }); }); var answer = [ { 'number': 66, 'answer': 'C' }, { 'number': 329, 'answer': 'D' }, { 'number': 466, 'answer': 'D' }, { 'number': 171, 'answer': 'A' }, { 'number': 414, 'answer': 'A' }, { 'number': 242, 'answer': 'C' }, { 'number': 422, 'answer': 'B' }, { 'number': 529, 'answer': 'ABCD' }, { 'number': 599, 'answer': 'ABC' }, { 'number': 654, 'answer': 'ABCD' }, { 'number': 694, 'answer': 'ABCD' }, { 'number': 548, 'answer': 'CD' }, { 'number': 553, 'answer': 'ABD' }, { 'number': 1020, 'answer': 'B' }, { 'number': 1046, 'answer': 'A' }, { 'number': 880, 'answer': 'B' }, { 'number': 1079, 'answer': 'B' }, { 'number': 920, 'answer': 'A' }, { 'number': 830, 'answer': 'B' }, { 'number': 1049, 'answer': 'A' } ]; return await new Promise((resolve_1, reject_1) => { GM_xmlhttpRequest({ method: 'POST', url: 'http://gjaqzsjs.haedu.cn/Answer/submitAnswer', headers: { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36', 'Origin': 'http://gjaqzsjs.haedu.cn/', "Content-type": "application/x-www-form-urlencoded; charset=UTF-8", }, data: 'answer=' + JSON.stringify(answer) + '&use_time=' + encodeURIComponent(550), onload: function (xhr_3) { var res_1 = JSON.parse(xhr_3.responseText); if (res_1.code == 4600) { GM_log(res_1.msg + ",请登录网页查看成绩。", "info"); GM_notification('国安小助手:试卷提交成功,请登录网页查看成绩。'); resolve_1(); } else { GM_log(res_1.msg, "error"); reject_1(); } } }); }); })