Files
quyun-v2/docs/plan.md

2.5 KiB
Raw Blame History

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

backend/app/http/v1/
backend/app/services/
backend/app/http/**/routes.*.go

Frontend

frontend/portal/src/router/index.js
frontend/portal/src/utils/request.js
frontend/portal/src/api/*
frontend/superadmin/src/router/index.js

Docs

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
  • T021 [US2] 冒烟验证核心路径

Dependencies

  • Phase 1 → Phase 2 → Phase 3

Acceptance Criteria

  • 登录不依赖 tenantCode。
  • 租户路由统一为 /v1/t/:tenantCode
  • Portal 页面正常加载并可登录。

Risks

  • 大量前端 API 路径需要同步改动。
  • 老路径可能被外部依赖使用。

Complexity Tracking

无。