-
用户表 (users):
- id, username, email, password_hash
- user_type (free/premium), membership_expires
- daily_predictions_used, last_prediction_date
- total_predictions, created_at, last_login, is_active
-
预测表扩展:
- 添加 user_id, username 字段
- 关联用户预测记录
-
注册:
POST /api/register- 用户名/邮箱验证
- 密码哈希存储
- 重复检查
-
登录:
POST /api/login- 密码验证
- Session管理
- 自动重置每日使用次数
-
登出:
POST /api/logout -
用户信息:
GET /api/user/info -
预测权限检查:
GET /api/user/can-predict
-
导航栏用户区域:
- 未登录: 登录/注册按钮
- 已登录: 用户名、会员状态、剩余次数、退出按钮
-
认证弹窗:
- 登录弹窗 (用户名/密码)
- 注册弹窗 (用户名/邮箱/密码/确认密码)
- 弹窗切换功能
- AuthManager类:
- 登录状态检查
- 表单处理
- 错误提示
- 界面更新
- 导航栏用户区域样式
- 认证弹窗样式
- 消息提示样式
- 预测前权限检查
- 使用次数扣除
- 按钮状态管理
- 保存预测时关联用户
- 修改现有保存逻辑
- 访问网站 → 显示登录/注册按钮
- 注册账号 → 获得每日3次预测机会
- 选择比赛 → 检查剩余次数
- 进行预测 → 扣除1次,显示剩余次数
- 次数用完 → 按钮禁用,提示升级会员
- 登录会员账号 → 显示"无限制预测"
- 任意使用所有预测功能
- 无次数限制
users (
id: 主键
username: 用户名 (唯一)
email: 邮箱 (唯一)
password_hash: 密码哈希
user_type: 'free'/'premium'
membership_expires: 会员到期日期
daily_predictions_used: 今日已用次数
last_prediction_date: 最后预测日期
total_predictions: 总预测次数
created_at: 注册时间
last_login: 最后登录时间
is_active: 账号是否激活
)match_predictions (
... (原有字段)
user_id: 关联用户ID
username: 用户名(冗余字段便于查询)
)- 密码安全: SHA256哈希存储
- Session管理: 7天有效期
- 输入验证: 前后端双重验证
- SQL注入防护: 参数化查询
- 会话密钥: 环境变量配置
- 直观的用户状态: 清晰显示用户类型和剩余次数
- 流畅的认证流程: 弹窗登录,无页面跳转
- 即时反馈: 操作成功/失败消息提示
- 自动切换: 注册成功后自动切换到登录
- 权限提示: 无权限时友好提示并引导登录
- 完成CSS样式 - 确保界面美观
- 集成预测权限检查 - 在所有预测按钮添加权限验证
- 修改预测保存逻辑 - 关联用户信息
- 测试完整流程 - 确保所有功能正常工作
- 添加会员功能 - 后续可扩展付费升级
用户系统的核心框架已经完成,现在需要完善样式和集成到现有预测功能中!