🔍 添加账号加载诊断日志

帮助排查容器重启后账号丢失的问题

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2025-12-10 19:55:56 +08:00
parent 3e0bd4cf91
commit 8b0a9a6fcf

15
app.py
View File

@@ -1030,6 +1030,7 @@ def load_user_accounts(user_id):
user_accounts[user_id] = {} user_accounts[user_id] = {}
accounts_data = database.get_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: for acc_data in accounts_data:
account = Account( account = Account(
account_id=acc_data['id'], account_id=acc_data['id'],
@@ -1040,6 +1041,7 @@ def load_user_accounts(user_id):
remark=acc_data['remark'] or '' remark=acc_data['remark'] or ''
) )
user_accounts[user_id][account.id] = account user_accounts[user_id][account.id] = account
print(f"[加载账号] 加载: {account.id} -> {account.username}")
# ==================== Bug反馈API用户端 ==================== # ==================== Bug反馈API用户端 ====================
@@ -1147,17 +1149,18 @@ def delete_feedback_api(feedback_id):
def get_accounts(): def get_accounts():
"""获取当前用户的所有账号""" """获取当前用户的所有账号"""
user_id = current_user.id user_id = current_user.id
# 检查是否需要强制刷新(容器重启后内存数据丢失) # 检查是否需要强制刷新(容器重启后内存数据丢失)
refresh = request.args.get('refresh', 'false').lower() == 'true' refresh = request.args.get('refresh', 'false').lower() == 'true'
# 如果user_accounts中没有数据或者请求刷新则从数据库加载 # 如果user_accounts中没有数据或者请求刷新则从数据库加载
if user_id not in user_accounts or len(user_accounts.get(user_id, {})) == 0 or refresh: need_load = user_id not in user_accounts or len(user_accounts.get(user_id, {})) == 0 or refresh
logger.debug(f"[API] 用户 {user_id} 请求账号列表从数据库加载refresh={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) load_user_accounts(user_id)
print(f"[账号API] 加载后 user_accounts[{user_id}] 有 {len(user_accounts.get(user_id, {}))} 个账号")
accounts = 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()]) return jsonify([acc.to_dict() for acc in accounts.values()])