### REQ-USR-001 用户登录 **目标**: 用户通过用户名+密码完成身份认证,获取 JWT Token 用于后续接口鉴权 - **输入**: - **表1**: | 字段 | 类型 | 必填 | 输入方式 | 显示来源 | 预加载 | 默认值 | 业务规则 | | --- | ---- | --- | ---- | ------- | ----- | --- | ----------- | | 用户名 | 文本 | 是 | 手工输入 | — | — | — | — | | 密码 | 文本 | 是 | 手工输入 | — | — | — | 输入显示星号 | | 版本 | 文本 | 是 | 下拉单选 | `公司表` | 页面加载时 | — | | - **输出**: 成功/失败 - **跨字段规则**: 校验用户名 + 密码哈希;连续失败达到阈值临时锁定账号;登录成功签发限时 token 并返回基本用户信息 - **边界**: token 设置合理过期时间;接口需具备防暴力破解保护 - **验收**: 正确凭据返回 Token 且可通过鉴权接口验证;错误密码返回通用错误消息(不区分用户名或密码错误);锁定账号返回锁定提示 - **依赖表**: `sys_user`(读: 校验账号 / 写: 更新 `iFailedLoginCount`、`tLockUntil`、`tLastLoginDate`), `sys_company`(读: 登录页"版本"下拉) - **依赖接口**: `POST /api/v1/auth/login`(本 REQ 提供);`GET /api/v1/companies`(登录页公司下拉,后续运营模块提供)