| 286 | } |
| 287 | |
| 288 | async querySignHome() { |
| 289 | const res = await this.api("get", "/client/user/signHome"); |
| 290 | if (res.status !== 200 || !ok(res.data)) { |
| 291 | throw new Error(`签到信息查询失败[${res.status}]: ${res.text.slice(0, 800)}`); |
| 292 | } |
| 293 | const data = res.data.data || {}; |
| 294 | const amount = data.amount ?? 0; |
| 295 | const integral = data.integral ?? 0; |
| 296 | const configs = Array.isArray(data.configs) ? data.configs : []; |
| 297 | const today = configs.find((item) => Number(item.signStatus) === 0) || configs.find((item) => item.today); |
| 298 | const signed = configs.some((item) => Number(item.signStatus) === 1 && item.today); |
| 299 | $.log(`账号[${this.index}] 查询: 积分${integral},红包${amount}`); |
| 300 | if (configs.length) { |
| 301 | const statusText = configs |
| 302 | .map((item) => `第${item.dayNum ?? item.days ?? "?"}天:${["未签", "已签", "可补签"][Number(item.signStatus)] || item.signStatus}`) |
| 303 | .join(";"); |
| 304 | $.log(`账号[${this.index}] 签到日历: ${statusText}`); |
| 305 | } |
| 306 | return { data, today, signed }; |
| 307 | } |
| 308 | |
| 309 | async sign(signInfo) { |
| 310 | if (!signInfo?.today?.logId) { |