1. 用户注册
功能:普通用户账号注册
接口:
方法:GET/POST
路径:/user/register
请求参数(POST表单):
form
username: 用户名(必填)
password: 密码(必填)
confirm_password: 确认密码(必填)
email: 邮箱(必填)
成功响应:重定向到登录页并显示成功消息
失败响应:返回注册页并显示错误原因(如用户名已存在)
2. 用户登录
功能:普通用户登录(Session方式)
接口:
方法:GET/POST
路径:/user/login
请求参数(POST表单):
form
username: 用户名
password: 密码
成功响应:
设置Session:user_id和username
重定向到用户仪表盘或next参数指定页面
失败响应:返回登录页显示"用户名或密码错误"
3. 用户仪表盘
功能:展示用户激活的项目和系统公告
接口:
方法:GET
路径:/user/dashboard
访问要求:需登录(Session中有user_id)
响应:渲染HTML模板,包含:
available_projects: 用户可激活的新项目列表
activations: 用户已激活的项目记录
announcements: 相关项目的最新公告(按置顶+时间排序)
4. 卡密激活
功能:用户通过卡密激活项目(支持续费)
接口:
方法:GET/POST
路径:/user/activate
请求参数(POST表单):
form
kami_code: 卡密号码(必填)
device_id: 设备唯一标识(必填)
业务逻辑:
验证卡密有效性(未使用、匹配项目)
如果是续费:在原过期时间上叠加时长
永久卡密(duration_hours=-1)则不过期
响应:
成功:返回激活成功消息和更新后的项目列表
失败:显示具体原因(如"卡密无效")
5. 用户登出
功能:清除用户Session退出登录
接口:
方法:GET
路径:/user/logout
响应:清除Session并重定向到首页
关键安全特性说明:
会话管理:使用Flask Session存储user_id,无JWT
密码安全:密码通过set_password()方法(应使用bcrypt)加密存储
卡密验证:卡密存储SHA256哈希值而非明文
设备绑定:激活时记录device_id
如需要请求这些 请于QQ于我联系 我给您请求事例