修复864登录异常退出并阻止空身份进入后台

This commit is contained in:
liuwei
2026-05-07 15:14:21 +08:00
parent a0b4d2d44e
commit 8ad2ec91f1
2 changed files with 261 additions and 225 deletions

View File

@@ -652,6 +652,13 @@ class Robot:
2. provider 不应该知道本项目有哪些数据库表、后台缓存或插件系统;
3. 因此登录“流程”放到 provider登录后的“业务初始化”继续留在 Robot。
"""
# 这里再做一次项目侧兜底校验:
# 1. provider 已经会尽量保证只有“拿到可用身份”才会调进来;
# 2. 但 Robot 这一层承接的是联系人同步、插件注入、消息归档等重业务动作,不能接受空账号继续执行;
# 3. 因此只要 `wxid/nickname` 都为空,就立刻阻断后台初始化,强制回到扫码登录流程。
if not str(login_identity.get("wxid", "") or "").strip() and not str(login_identity.get("nickname", "") or "").strip():
raise RuntimeError("当前未拿到可用登录账号身份,已阻止进入后台初始化流程")
self.wxid = login_identity.get("wxid", "")
self.nickname = login_identity.get("nickname", "")
self.alias = login_identity.get("alias", "")