# test-project **Repository Path**: xu_zhong/test-project ## Basic Information - **Project Name**: test-project - **Description**: 测试cursor编程的工程 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-27 - **Last Updated**: 2026-02-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 项目功能概览 当前后端主要包含以下功能模块: - **用户管理** - 新增用户(`POST /users`,JSON 传递用户名与明文密码,后端使用 SHA1 大写加密后入库) - 查询用户列表(`GET /users`) - 用户名去重工具接口(`POST /users/deduplicate`,为重名用户追加数字后缀) - **登录与安全控制** - 登录接口(`POST /users/login`) - 支持用户名/密码登录 - 登录响应返回:`success`、`locked`、`remainingAttempts`、`message`、`code` 等字段 - 密码规则 - 所有用户密码在数据库中以 **SHA1 + 大写十六进制字符串** 存储 - 已提供一次性脚本,将历史用户密码初始化为 SHA1(123456) 的大写值 - 登录失败计数与锁定策略 - 同一天内同一用户连续登录失败 3 次即锁定(`locked = true`) - 锁定后当天内所有登录尝试直接失败,需等到 **次日 0 点后** 再尝试 - 新的一天首次登录时自动判断并清理前一天的锁定状态与失败次数 - **数据库与持久化** - 使用 **MyBatis + MySQL** 进行数据持久化 - 用户表 `t_user` 字段: - `id`:主键 - `name`:用户名 - `password`:加密后的密码(SHA1 大写) - `failed_login_count`:当日登录失败次数 - `last_failed_date`:最近一次登录失败日期 - `locked`:是否被锁定(同一天内失败达到次数上限) - **文档** - `docs/登录接口文档.md`:面向前端的登录接口详细说明文档(请求参数、返回结构、状态码与示例等)