支持864登录二维码切换与退出重登

This commit is contained in:
liuwei
2026-05-07 15:39:48 +08:00
parent 1f7dedf866
commit 41a2bd9358
4 changed files with 266 additions and 3 deletions
+55
View File
@@ -476,6 +476,61 @@ def api_login_qr_status():
return jsonify({"success": False, "error": str(e)}), 500
@robot_bp.route('/api/login_qr_mode', methods=['POST'])
@login_required
def api_switch_login_qr_mode():
"""切换 864 登录二维码模式,并重启登录流程。"""
try:
server = current_app.dashboard_server
robot = getattr(server, "robot", None)
if robot is None:
return jsonify({"success": False, "error": "机器人实例不可用"}), 500
payload = request.get_json(silent=True) or {}
login_qr_api = str(payload.get("login_qr_api", "") or "").strip()
login_way = str(payload.get("login_way", "") or "").strip()
result = robot.switch_server_864_login_entry(
login_qr_api=login_qr_api,
login_way=login_way or None,
do_logout=True,
)
return jsonify({
"success": True,
"message": "864 登录二维码模式已切换,新的登录线程正在启动",
"data": {
**result,
"login_qr_state": _serialize_login_qr_state(server),
},
})
except Exception as e:
LOG.error(f"切换 864 登录二维码模式失败: {e}")
return jsonify({"success": False, "error": str(e)}), 500
@robot_bp.route('/api/logout_864', methods=['POST'])
@login_required
def api_logout_864():
"""退出当前 864 登录态,并重新进入二维码登录引导。"""
try:
server = current_app.dashboard_server
robot = getattr(server, "robot", None)
if robot is None:
return jsonify({"success": False, "error": "机器人实例不可用"}), 500
result = robot.logout_server_864_and_restart_login()
return jsonify({
"success": True,
"message": "864 已退出当前登录态,新的二维码登录流程正在启动",
"data": {
**result,
"login_qr_state": _serialize_login_qr_state(server),
},
})
except Exception as e:
LOG.error(f"退出 864 登录态失败: {e}")
return jsonify({"success": False, "error": str(e)}), 500
# API路由
@robot_bp.route('/api/groups')
@login_required