mi-assessment/.kiro/specs/admin-integration/design.md
2026-02-03 19:17:48 +08:00

5.0 KiB
Raw Blame History

Design Document: Admin Integration Testing

Overview

本文档描述了后台管理系统前后端联调测试的策略和流程设计。联调测试确保后端 API 和前端页面能够正确协作。

联调策略

分阶段联调

gantt
    title 前后端并行开发与联调计划
    dateFormat  YYYY-MM-DD
    section 后端开发
    基础设施搭建           :a1, 2026-02-03, 2d
    配置+内容模块          :a2, after a1, 3d
    测评模块              :a3, after a2, 4d
    用户+订单模块          :a4, after a3, 3d
    规划师+分销模块        :a5, after a4, 4d
    权限控制              :a6, after a5, 2d
    
    section 前端开发
    基础设施搭建           :b1, 2026-02-03, 2d
    Dashboard+Config      :b2, after b1, 2d
    Content模块           :b3, after b2, 2d
    Assessment模块        :b4, after b3, 4d
    User+Order模块        :b5, after b4, 3d
    Planner+Distribution  :b6, after b5, 4d
    权限控制              :b7, after b6, 2d
    
    section 联调测试
    联调1: 基础模块        :c1, 2026-02-08, 1d
    联调2: 内容+测评       :c2, 2026-02-14, 1d
    联调3: 用户+订单       :c3, 2026-02-18, 1d
    联调4: 规划师+分销     :c4, 2026-02-23, 1d
    联调5: 权限+最终验收   :c5, 2026-02-25, 2d

联调检查点

检查点 后端完成任务 前端完成任务 联调内容
CP1 Task 1-4 Task 1-4 Dashboard, Config
CP2 Task 5-10 Task 5-6 Content, Assessment
CP3 Task 11-14 Task 7-9 User, Order
CP4 Task 15-19 Task 10-11 Planner, Distribution
CP5 Task 20-23 Task 12-14 权限控制, 最终验收

联调环境配置

后端配置

// appsettings.Development.json
{
  "Cors": {
    "AllowedOrigins": ["http://localhost:5173"]
  }
}

前端配置

// vite.config.ts
export default defineConfig({
  server: {
    proxy: {
      '/api': {
        target: 'http://localhost:61551',
        changeOrigin: true
      }
    }
  }
})

联调测试用例

1. 认证流程

测试步骤:
1. 打开登录页面
2. 输入用户名: admin, 密码: 123456
3. 点击登录按钮

预期结果:
- 登录成功,跳转到首页
- localStorage 中存储 accessToken 和 refreshToken
- 后续请求 Header 中包含 Authorization: Bearer {token}

2. CRUD 操作流程

测试步骤 (以轮播图为例):
1. 访问轮播图管理页面
2. 点击新增按钮
3. 上传图片,填写标题,选择跳转类型
4. 点击保存

预期结果:
- 图片上传成功,返回 URL
- 表单数据正确提交到后端
- 列表刷新显示新增数据
- 数据库中有对应记录

3. 分页和筛选

测试步骤:
1. 访问用户管理页面
2. 输入筛选条件 (手机号: 138)
3. 点击搜索
4. 切换到第 2 页

预期结果:
- 列表只显示手机号包含 138 的用户
- 分页信息正确 (总数、当前页)
- 切换页面数据正确加载

4. 权限控制

测试步骤:
1. 使用普通运营账号登录
2. 访问提现审核页面
3. 尝试点击审核按钮

预期结果:
- 如果无权限,审核按钮不显示
- 如果直接调用 API返回 403 错误

常见问题排查

1. CORS 错误

问题: Access to XMLHttpRequest has been blocked by CORS policy
解决: 检查后端 CORS 配置是否包含前端地址

2. 401 未授权

问题: 请求返回 401 Unauthorized
解决: 
- 检查 token 是否正确存储
- 检查请求 Header 是否包含 Authorization
- 检查 token 是否过期

3. 数据格式不一致

问题: 前端解析数据失败
解决:
- 对比 API 文档和实际返回数据
- 检查字段名大小写 (后端 PascalCase vs 前端 camelCase)
- 检查日期格式

4. 文件上传失败

问题: 图片上传返回错误
解决:
- 检查文件大小限制
- 检查文件类型限制
- 检查上传路径配置

联调沟通模板

问题报告

**模块**: 轮播图管理
**接口**: POST /api/admin/content/banner/create
**问题描述**: 创建轮播图时返回 500 错误
**请求参数**:
{
  "title": "测试",
  "imageUrl": "http://xxx/test.jpg",
  "linkType": 1,
  "linkUrl": "/pages/index"
}
**返回结果**:
{
  "code": 500,
  "message": "Internal Server Error"
}
**期望结果**: 返回创建成功的 ID
**前端/后端**: 后端

接口变更通知

**接口**: GET /api/admin/user/getList
**变更类型**: 新增字段
**变更内容**: 响应数据新增 inviteCount 字段
**变更原因**: 需要显示用户邀请人数
**影响范围**: 用户列表页面
**生效时间**: 2026-02-10

验收标准

功能验收

  • 所有 CRUD 操作正常
  • 分页和筛选功能正常
  • 文件上传功能正常
  • 导出功能正常
  • 权限控制正常

性能验收

  • 列表页面加载时间 < 2s
  • 表单提交响应时间 < 1s
  • 文件上传响应时间 < 5s

兼容性验收

  • Chrome 最新版本
  • Edge 最新版本
  • Firefox 最新版本