From 8b0a9a6fcfdde304d9127988f41de1889a1f88e8 Mon Sep 17 00:00:00 2001 From: yuyx <237899745@qq.com> Date: Wed, 10 Dec 2025 19:55:56 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=8D=20=E6=B7=BB=E5=8A=A0=E8=B4=A6?= =?UTF-8?q?=E5=8F=B7=E5=8A=A0=E8=BD=BD=E8=AF=8A=E6=96=AD=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 帮助排查容器重启后账号丢失的问题 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- app.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/app.py b/app.py index 3d4e6fd..b184c81 100755 --- a/app.py +++ b/app.py @@ -1030,6 +1030,7 @@ def load_user_accounts(user_id): user_accounts[user_id] = {} accounts_data = database.get_user_accounts(user_id) + print(f"[加载账号] 用户{user_id} 从数据库获取到 {len(accounts_data)} 条记录") for acc_data in accounts_data: account = Account( account_id=acc_data['id'], @@ -1040,6 +1041,7 @@ def load_user_accounts(user_id): remark=acc_data['remark'] or '' ) user_accounts[user_id][account.id] = account + print(f"[加载账号] 加载: {account.id} -> {account.username}") # ==================== Bug反馈API(用户端) ==================== @@ -1147,17 +1149,18 @@ def delete_feedback_api(feedback_id): def get_accounts(): """获取当前用户的所有账号""" user_id = current_user.id - + # 检查是否需要强制刷新(容器重启后内存数据丢失) refresh = request.args.get('refresh', 'false').lower() == 'true' - + # 如果user_accounts中没有数据或者请求刷新,则从数据库加载 - if user_id not in user_accounts or len(user_accounts.get(user_id, {})) == 0 or refresh: - logger.debug(f"[API] 用户 {user_id} 请求账号列表,从数据库加载(refresh={refresh})") + need_load = user_id not in user_accounts or len(user_accounts.get(user_id, {})) == 0 or refresh + if need_load: + print(f"[账号API] 用户{user_id} 需要加载账号 (not_in={user_id not in user_accounts}, empty={len(user_accounts.get(user_id, {})) == 0}, refresh={refresh})") load_user_accounts(user_id) - + print(f"[账号API] 加载后 user_accounts[{user_id}] 有 {len(user_accounts.get(user_id, {}))} 个账号") + accounts = user_accounts.get(user_id, {}) - logger.debug(f"[API] 返回用户 {user_id} 的 {len(accounts)} 个账号") return jsonify([acc.to_dict() for acc in accounts.values()])