Files
quyun-v2/docs/plan.md

102 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Implementation Plan: Global Auth + Tenant Route Prefix
**Branch**: `main` | **Date**: 2026-01-26 | **Spec**: N/A
**Input**: 改为全局登录;租户资源访问再鉴权;后端路由从 `/t/:tenantCode/v1` 改为 `/v1/t/:tenantCode`,同步前端路由。
**Note**: 本计划遵循 `docs/templates/plan-template.md`
## Summary
实施全局登录(不要求 tenantCode并将多租户路由前缀统一为 `/v1/t/:tenantCode`。同步更新后端路由与前端路由/请求封装,确保登录与资源鉴权一致。
## Technical Context
**Language/Version**: Go 1.22 + Vue 3 (Vite)
**Primary Dependencies**: Fiber, GORM-Gen, Vue Router
**Storage**: PostgreSQL
**Testing**: go test / 前端 build+l int如需
**Target Platform**: local/staging
**Project Type**: Web application
**Performance Goals**: N/A
**Constraints**: 不改生成文件,需通过 `atomctl` 重新生成路由/Swagger
**Scale/Scope**: auth + 路由前缀调整
## Constitution Check
- 遵循 `backend/llm.txt`(控制器薄、服务层处理、生成文件不手改)
- 变更后需跑 `atomctl gen route/provider/swag`
## Project Structure
### Backend
```text
backend/app/http/v1/
backend/app/services/
backend/app/http/**/routes.*.go
```
### Frontend
```text
frontend/portal/src/router/index.js
frontend/portal/src/utils/request.js
frontend/portal/src/api/*
frontend/superadmin/src/router/index.js
```
### Docs
```text
docs/plan.md
```
## Plan Phases
### Phase 1: Backend route + auth changes
- 调整 `/t/:tenantCode/v1``/v1/t/:tenantCode`
- 登录逻辑改为全局登录(租户鉴权移到资源访问)
### Phase 2: Frontend route + request changes
- 更新 portal 路由基座与 request baseUrl
- 更新所有前端 API 路径对应新前缀
### Phase 3: Regenerate + sanity check
- 生成 routes/providers/swagger
- 关键页面手动/自动冒烟校验
## Tasks
**Format**: `[ID] [P?] [Story] Description`
### Phase 1
- [ ] T001 [US0] 修改后端路由前缀与路由注册
- [ ] T002 [US0] 调整登录逻辑为全局登录
### Phase 2
- [ ] T010 [US1] 修改 portal 路由与 request baseUrl
- [ ] T011 [US1] 更新 portal API 路径
### Phase 3
- [ ] T020 [US2] 重新生成路由与 swagger
- [x] T021 [US2] 冒烟验证核心路径
## Dependencies
- Phase 1 → Phase 2 → Phase 3
## Acceptance Criteria
- 登录不依赖 tenantCode。
- 租户路由统一为 `/v1/t/:tenantCode`
- Portal 页面正常加载并可登录。
## Risks
- 大量前端 API 路径需要同步改动。
- 老路径可能被外部依赖使用。
## Complexity Tracking
无。