拾光家:更新逻辑,报错减少

This commit is contained in:
smallfawn
2022-12-08 12:46:02 +08:00
committed by GitHub
parent 723202d181
commit 8144d8d129

105
sgj.js
View File

@@ -42,10 +42,10 @@ async function start() {
// async get_recoord(name) { // 进入答题 // async get_recoord(name) { // 进入答题
// async get_qlist(name) { // 获取答题列表 // async get_qlist(name) { // 获取答题列表
// async sub_papers(name) { // 提交答案 // async sub_papers(name) { // 提交答案
console.log('\n答题错误就是题库不全 你们发现就手动答题,答案截图发我'); console.log('\n更新:题库内没有就会重新获取题库,直到所有的题目都在题库内才会答题');
console.log('\nhttps://api.shiguangjia.cn/api/task/get_qlist 这个数据包中的响应=>预览/raw截图给我 \n 我的qq860562056 感谢\n'); console.log('\n');
console.log('\n请先完成进行中的拾光!!这个报错是因为你那边积攒的未完成的太多了,手动答题且把截图发我谢谢\n'); console.log('\n请先完成进行中的拾光!!这个报错是因为你那边积攒的未完成的太多了!\n');
console.log('\n达到完成次数上限! 这个报错是因为这条任务你已经上限了多运行几次\n'); console.log('\n达到完成次数上限! 这个报错是因为这条任务你已经上限了,可以多运行几次\n');
console.log('\n================== 开始获取答题 ==================\n'); console.log('\n================== 开始获取答题 ==================\n');
taskall = []; taskall = [];
for (let user of userList) { for (let user of userList) {
@@ -344,7 +344,9 @@ class UserInfo {
for (let i in result.data.question) { for (let i in result.data.question) {
console.log(`题目[${i}],id[${result.data.question[i].id}],问题题目${result.data.question[i].question}`); console.log(`题目[${i}],id[${result.data.question[i].id}],问题题目${result.data.question[i].question}`);
let id = result.data.question[i].id let id = result.data.question[i].id
await wait(1)
idArr.push(id) idArr.push(id)
await wait(2)
} }
await wait(3) await wait(3)
await this.sub_papers(r4, k, idArr) await this.sub_papers(r4, k, idArr)
@@ -368,11 +370,13 @@ class UserInfo {
let ppp0 = rs.qid[q0] let ppp0 = rs.qid[q0]
let ppp1 = rs.qid[q1] let ppp1 = rs.qid[q1]
let ppp2 = rs.qid[q2] let ppp2 = rs.qid[q2]
return [ if (ppp0 !== undefined && ppp1 !== undefined && ppp2 !== undefined) {
{ qid: 0, answer: [ppp0], error: false }, return [
{ qid: 1, answer: [ppp1], error: false }, { qid: 0, answer: [ppp0], error: false },
{ qid: 2, answer: [ppp2], error: false } { qid: 1, answer: [ppp1], error: false },
] { qid: 2, answer: [ppp2], error: false }
]
}
} else if (r00.length == 4) { } else if (r00.length == 4) {
let q0 = idArr[0] let q0 = idArr[0]
let q1 = idArr[1] let q1 = idArr[1]
@@ -382,46 +386,55 @@ class UserInfo {
let ppp1 = rs.qid[q1] let ppp1 = rs.qid[q1]
let ppp2 = rs.qid[q2] let ppp2 = rs.qid[q2]
let ppp3 = rs.qid[q3] let ppp3 = rs.qid[q3]
return [ if (ppp0 !== undefined && ppp1 !== undefined && ppp2 !== undefined && ppp3 !== undefined) {
{ qid: 0, answer: [ppp0], error: false }, return [
{ qid: 1, answer: [ppp1], error: false }, { qid: 0, answer: [ppp0], error: false },
{ qid: 2, answer: [ppp2], error: false }, { qid: 1, answer: [ppp1], error: false },
{ qid: 3, answer: [ppp3], error: false } { qid: 2, answer: [ppp2], error: false },
] { qid: 3, answer: [ppp3], error: false }
]
}
} }
} }
let pp = r(idArr) let pp = r(idArr)
let options = { //console.log(pp);
method: 'POST', if (pp !== undefined) {
url: 'https://api.shiguangjia.cn/api/task/sub_papers', let options = {
headers: { method: 'POST',
'C-model': 'android', url: 'https://api.shiguangjia.cn/api/task/sub_papers',
'C-type': 'app-miniapp', headers: {
'C-version': '2.7.7', 'C-model': 'android',
token: this.token, 'C-type': 'app-miniapp',
'user-agent': 'Mozilla/5.0 (Linux; Android 10; MI 8 Lite Build/QKQ1.190910.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/81.0.4044.138 Mobile Safari/537.36 uni-app Html5Plus/1.0 (Immersed/29.818182)', 'C-version': '2.7.7',
'Content-Type': 'application/json;charset=UTF-8', token: this.token,
Host: 'api.shiguangjia.cn', 'user-agent': 'Mozilla/5.0 (Linux; Android 10; MI 8 Lite Build/QKQ1.190910.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/81.0.4044.138 Mobile Safari/537.36 uni-app Html5Plus/1.0 (Immersed/29.818182)',
Connection: 'Keep-Alive', 'Content-Type': 'application/json;charset=UTF-8',
//Cookie: this.cookie, Host: 'api.shiguangjia.cn',
'content-type': 'application/json' Connection: 'Keep-Alive',
}, //Cookie: this.cookie,
body: { 'content-type': 'application/json'
record_id: r4, },
key: k, body: {
papers: pp record_id: r4,
}, key: k,
json: true papers: pp
}; },
//console.log(options); json: true
let result = await httpRequest(options, "提交答案"); };
//console.log(result); //console.log(options);
if (result.code == 1) { let result = await httpRequest(options, "提交答案");
DoubleLog(`账号[${this.index}] 提交答案成功: ${result.msg}`); //console.log(result);
if (result.code == 1) {
DoubleLog(`账号[${this.index}] 提交答案成功: ${result.msg}`);
} else {
DoubleLog(`账号[${this.index}] 提交答案:失败 ❌ 了呢,原因未知!`);
console.log(result);
console.log(options.body.papers);
}
} else { } else {
DoubleLog(`账号[${this.index}] 提交答案:失败 ❌ 了呢,原因未知!`); console.log("题库中没有这道题呢现在为你重新答题延迟30s");
console.log(result); await wait(30);
console.log(options.body.papers); await this.get_qlist(r4)
} }
} catch (error) { } catch (error) {
console.log(error); console.log(error);
@@ -540,7 +553,7 @@ async function httpRequest(options, name) { var request = require("request"); re
// 等待 X 秒 // 等待 X 秒
function wait(n) { return new Promise(function (resolve) { setTimeout(resolve, n * 1000) }) } function wait(n) { return new Promise(function (resolve) { setTimeout(resolve, n * 1000) }) }
// 双平台log输出 // 双平台log输出
function DoubleLog(data) { if ($.isNode()) { if (data) { console.log(`${data}`); msg += `${data}` } } else { console.log(`${data}`); msg += `${data}` } } function DoubleLog(data) { if ($.isNode()) { if (data) { console.log(`${data}`); msg += `\n${data}` } } else { console.log(`${data}`); msg += `\n${data}` } }
// 发送消息 // 发送消息
async function SendMsg(message) { if (!message) return; if (Notify > 0) { if ($.isNode()) { var notify = require("./sendNotify"); await notify.sendNotify($.name, message) } else { $.msg($.name, '', message) } } else { console.log(message) } } async function SendMsg(message) { if (!message) return; if (Notify > 0) { if ($.isNode()) { var notify = require("./sendNotify"); await notify.sendNotify($.name, message) } else { $.msg($.name, '', message) } } else { console.log(message) } }
// 完整 Env // 完整 Env