于网页上验证的user基本逻辑

创建时间: 2025-08-18 08:31:37
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于我联系 我给您请求事例