新增被顶号检测: km-modal弹窗+精确文案+重登按钮三重判定, 命中即停任务+群告警(kicked_out状态)

This commit is contained in:
hermes
2026-08-27 02:51:27 +00:00
parent 3ab4a3f82c
commit 96b473fb2f
2 changed files with 13 additions and 1 deletions
+7
View File
@@ -117,6 +117,7 @@ function maybeSendReport(myStatus, chatLeft) {
} catch (e) { log(`日报生成/发送失败: ${String(e.message).slice(0, 150)}`); }
}
function statusText(s) {
if (s === 'kicked_out') return '🚨 被顶号(他处登录)';
if (s === 'login_expired') return '🚨 登录失效';
if (s === 'alert') return '⚠️ 异常中止';
if (s === 'chat_exhausted') return '✅ 聊天耗尽收工';
@@ -152,6 +153,12 @@ function statusText(s) {
const { code, out } = await runBatch();
// 被顶号(账号在其他设备登录)→ 群告警,立即结束(2026-08-27)
if (/账号被顶/.test(out)) {
send(GROUP, `🚨 ${ACCT}(${ACCT === 'hr1' ? 'Chrome·合塑账号' : 'Edge·派卡账号'})被其他人登录了(账号在其他设备/浏览器登录,当前已退出),任务停止。如非本人操作请注意账号安全`);
maybeSendReport('kicked_out', lastChatLeft);
break;
}
// 登录失效 → 群告警,结束
if (/登录已失效|passport\.zhaopin\.com/.test(out)) {
send(GROUP, `🚨 ${ACCT}(${ACCT === 'hr1' ? 'Chrome·合塑账号' : 'Edge·派卡账号'})智联登录态已失效,今日筛选中止,请在任务机重新登录智联`);
+6 -1
View File
@@ -296,8 +296,13 @@ async function checkPageHealth(page) {
captcha: !!document.querySelector('.verify-wrap,.captcha,.slider-verify,.tcaptcha-iframe') || /安全验证|请完成验证|滑块验证|图形验证码/i.test(body),
risk: /操作过于频繁|访问受限|账号异常|请求异常/i.test(body),
greetLimit: /打招呼已达上限|已达到.*上限|今日打招呼次数已用完|打招呼额度不足/i.test(body),
// 被顶号检测(2026-08-27):km-modal 消息弹窗 + 精确文案 + 重新登录按钮,三者俱全才判定,防误报
kicked: !!document.querySelector('.km-modal.km-modal--message-box .km-modal__title-inner')
&& /账号已在其他设备或浏览器登录/.test(body)
&& !!document.querySelector('.km-modal.km-modal--message-box .km-button--primary'),
};
}).catch(() => ({ captcha: false, risk: false, greetLimit: false }));
}).catch(() => ({ captcha: false, risk: false, greetLimit: false, kicked: false }));
if (info.kicked) return '🚨 ALERT: 账号被顶:您的账号已在其他设备或浏览器登录';
if (info.captcha) return '🚨 ALERT: 触发验证码/风控,已暂停';
if (info.risk) return '🚨 ALERT: 触发风控限制,已暂停';
if (info.greetLimit) return '🚨 ALERT: 打招呼已达上限,停止打招呼';