优化注册功能

This commit is contained in:
赵杰 Jie Zhao (雄狮汽车科技)
2025-11-03 12:29:32 +08:00
parent f50d37259e
commit 7ab87e8f15
10 changed files with 829 additions and 83 deletions

View File

@@ -411,40 +411,57 @@ def user_register():
# 如果用户不存在,创建新用户
if not user_data:
initial_data = {
'profile': {
'name': name,
'age': 25,
'gender': '未知',
'height': 170,
'weight': 60,
'activity_level': 'moderate'
},
'preferences': {}
from core.base import UserData
# 直接创建UserData对象并保存
initial_profile = {
'name': name,
'age': 25,
'gender': '未知',
'height': 170,
'weight': 60,
'activity_level': 'moderate'
}
if core.create_user(user_id, initial_data):
user_data = core.get_user_data(user_id)
else:
user_data = UserData(
user_id=user_id,
profile=initial_profile,
preferences={}
)
# 保存用户数据
if not core.data_manager.save_user_data(user_data):
logger.error(f"保存用户数据失败: user_id={user_id}")
return jsonify({
'success': False,
'message': '创建用户失败'
'message': '创建用户失败:数据保存失败'
}), 500
# 验证保存是否成功(重新获取一次)
saved_user_data = core.get_user_data(user_id)
if not saved_user_data:
logger.error(f"用户数据保存后无法获取: user_id={user_id}")
return jsonify({
'success': False,
'message': '创建用户失败:数据验证失败'
}), 500
user_data = saved_user_data
else:
# 用户已存在,更新姓名
user_data.profile['name'] = name
if not core.data_manager.save_user_data(user_data):
logger.error(f"更新用户数据失败: user_id={user_id}")
return jsonify({
'success': False,
'message': '更新用户信息失败'
}), 500
# 更新用户基本信息
if user_data:
user_data.profile['name'] = name
core.data_manager.save_user_data(user_data)
session['user_id'] = user_id
return jsonify({
'success': True,
'user_id': user_id,
'name': name
})
else:
return jsonify({
'success': False,
'message': '用户数据获取失败'
}), 500
# 设置会话
session['user_id'] = user_id
return jsonify({
'success': True,
'user_id': user_id,
'name': user_data.profile.get('name', name)
})
except Exception as e:
logger.error(f"用户注册失败: {e}", exc_info=True)