sequenceDiagram
actor U as 用户
participant F as 前端 (App/Web)
participant B as 后端 API
participant D as 数据库
U->>F: 输入账号密码,点击登录
F->>B: 发送登录请求 (POST /login)
Note right of B: 校验数据格式
B->>D: 查询用户信息
alt 用户不存在
D-->>B: 返回空
B-->>F: 返回错误: 用户不存在 (404)
F-->>U: 显示“用户不存在”
else 用户存在
D-->>B: 返回用户信息 (包含哈希密码)
Note right of B: 比对密码 (哈希校验)
alt 密码错误
B-->>F: 返回错误: 密码错误 (401)
F-->>U: 显示“密码错误”
else 密码正确
Note right of B: 生成 Token (JWT)
B-->>F: 返回成功 (Token)
F-->>U: 跳转至主页
end
end