docs: 将前后台路由严格分离规则提升为最高优先级

在 project-context.mdc 中明确:
- 前台 API 路径:/api/v1/auth/* 等
- 管理端 API 路径:/api/v1/admin/* 下
- 禁止任何混用,新增功能必须先确认归属

Made-with: Cursor
This commit is contained in:
bujinyuan
2026-03-02 14:35:48 +08:00
parent 13c6b44352
commit dd84e50429

View File

@@ -44,12 +44,17 @@ EchoChat 是一个实时音视频通讯平台,包含三个子项目:
> 详细规范见 `docs/conventions/frontend-backend-integration.md` > 详细规范见 `docs/conventions/frontend-backend-integration.md`
1. **错误提示统一**:前端所有 HTTP 错误提示必须优先使用后端 `data.message`禁止硬编码覆盖后端信息。Fallback 文案仅在后端无响应体时使用 1. **前后台路由严格分离(最高优先级)**
2. **HTTP 状态码语义**:后端必须返回正确的 HTTP 状态码200/400/401/403/404/500前端按状态码分类处理 - 前台用户端 API`/api/v1/auth/*`、`/api/v1/im/*`、`/api/v1/meeting/*` 等
3. **安全防护**:后端登录接口对"用户不存在"与"密码错误"统一返回 401 + "账号或密码错误",禁止通过不同错误码泄露用户是否存在 - 后台管理端 API`/api/v1/admin/auth/*`、`/api/v1/admin/users/*` 等
4. **401 场景区分**:前端拦截器区分「登录/注册请求的 401」仅提示错误和「已认证请求的 401」清 Token + 跳转登录页) - **禁止任何混用**admin 前端不得调用 `/api/v1/auth/*`frontend 不得调用 `/api/v1/admin/*`
5. **响应格式一致**:后端所有响应必须使用 `utils.Response*` 系列函数,保证统一的 `{ code, message, data, trace_id, time }` 结构 - 新增功能时必须先确认归属哪端,使用对应的路由前缀
6. **业务错误映射**:后端 Controller 的 `handleError` 函数必须覆盖所有已知业务错误,不能忽略 error`_` 2. **Token Redis 存储隔离**:按 `clientType` 隔离:`echo:auth:token:{frontend|admin}:{user_id}`JWT Claims 包含 `client_type` 字段
3. **错误提示统一**:前端所有 HTTP 错误提示必须优先使用后端 `data.message`,禁止硬编码覆盖后端信息
4. **安全防护**:后端登录接口对"用户不存在"与"密码错误"统一返回 401 + "账号或密码错误"
5. **401 场景区分**:前端拦截器区分「登录请求的 401」仅提示错误和「已认证请求的 401」清 Token + 跳转登录页)
6. **响应格式一致**:后端所有响应必须使用 `utils.Response*` 系列函数
7. **业务错误映射**:后端 Controller 的 `handleError` 函数必须覆盖所有已知业务错误,不能忽略 error`_`
## 设计系统 ## 设计系统