Files
user-system/docs/checklists/FRONTEND_BACKEND_CHECKLIST.md

6.4 KiB
Raw Blame History

前后端联调检查清单

使用说明

本检查清单用于前后端联调过程,确保质量标准。每项必须逐条确认。


1. API 接口检查

1.1 接口定义

  • API 路径符合 RESTful 规范
    • GET 用于查询
    • POST 用于创建
    • PUT/PATCH 用于更新
    • DELETE 用于删除
  • 接口命名清晰、一致
  • 接口版本控制正确(如 /api/v1/
  • 请求方法使用正确

1.2 请求参数

  • 请求参数命名符合规范
    • 后端: snake_case
    • 前端: camelCase
  • 参数类型定义准确
    • string, number, boolean, array, object
  • 必填参数明确标注
  • 可选参数有默认值
  • 分页参数统一page, pageSize/limit
  • 排序参数统一sortField, sortOrder

1.3 响应格式

  • 响应体结构统一
{
  "code": 0,
  "message": "success",
  "data": {...}
}
  • 错误响应格式统一
{
  "code": 40001,
  "message": "参数错误",
  "details": {...}
}
  • 成功码统一为 0
  • 错误码定义清晰、文档化
  • 分页响应包含 total
{
  "code": 0,
  "message": "success",
  "data": {
    "items": [...],
    "total": 100,
    "page": 1,
    "pageSize": 20
  }
}

1.4 数据类型映射

  • 前后端数据类型映射正确
    • 前端 string ↔ 后端 string
    • 前端 number ↔ 后端 int/float
    • 前端 boolean ↔ 后端 bool
    • 前端 array ↔ 后端 slice
    • 前端 object ↔ 后端 struct/map
  • 日期时间格式统一ISO 8601: 2026-04-01T12:00:00Z
  • 枚举值定义一致
  • 空值处理一致
    • null vs undefined vs ""

2. 认证与授权检查

2.1 认证机制

  • 未登录接口返回 401
  • 登录接口正确验证用户凭证
  • Token 验证机制正常
    • Access token 验证
    • Refresh token 验证
  • Token 过期自动刷新
  • CSRF Token 机制正确

2.2 权限控制

  • 需要权限的接口返回 403
  • 权限检查粒度正确
    • 菜单级权限
    • 操作级权限
    • 数据级权限(如适用)
  • 角色权限继承正确
  • 权限缓存机制正常(如有)

3. 业务逻辑检查

3.1 核心流程

  • 正常业务流程畅通
  • 边界条件处理正确
    • 空列表
    • 超大数据量
    • 特殊字符
    • 极端值最大值、最小值、0、负数
  • 异常场景覆盖
    • 网络错误
    • 服务器错误500
    • 超时
    • 并发请求

3.2 数据一致性

  • 前端展示数据与后端存储一致
  • 多端数据同步正确
  • 乐观锁/悲观锁正确使用(如需要)
  • 事务边界正确

3.3 用户体验

  • 加载状态显示正确
  • 错误提示友好、准确
  • 成功操作反馈明确
  • 避免重复提交
  • 表单验证前端后端一致

4. 性能检查

4.1 接口性能

  • 查询接口响应时间 < 500ms
  • 写入接口响应时间 < 1000ms
  • 分页接口支持大数据量
  • 列表查询有分页
  • 避免不必要的字段查询

4.2 前端性能

  • 列表渲染支持虚拟滚动(大数据量)
  • 图片懒加载
  • 避免不必要的重新渲染
  • 请求防抖/节流
  • 本地缓存合理使用

4.3 数据库性能

  • 避免全表扫描
  • 索引使用正确
  • 避免 N+1 查询
  • 批量操作使用批量接口

5. 安全检查

5.1 输入验证

  • 前端表单验证
  • 后端参数验证
  • SQL 注入防护
  • XSS 防护
  • 文件上传验证
    • 文件类型
    • 文件大小
    • 文件内容

5.2 数据保护

  • 敏感数据加密存储(密码)
  • 敏感数据传输加密HTTPS
  • 不在日志中输出敏感信息
  • 不在 URL 中传递敏感信息
  • Token 安全存储
    • Access token 存内存
    • Refresh token 存 localStorage

5.3 安全漏洞

  • 无 CSRF 漏洞
  • 无 XSS 漏洞
  • 无 SQL 注入漏洞
  • 无时序攻击漏洞
    • 验证码比较使用恒定时间比较
    • 密码比较使用恒定时间比较
  • 无信息泄露(错误消息不泄露敏感信息)

6. 错误处理检查

6.1 错误码

  • 错误码定义清晰
  • 错误信息准确、友好
  • 前端正确处理各种错误码
  • 错误日志记录完整

6.2 重试机制

  • 临时错误有重试机制
  • 重试次数限制合理
  • 重试间隔合理

6.3 降级机制

  • 依赖服务故障有降级方案
  • 降级时用户体验可接受

7. 兼容性检查

7.1 浏览器兼容

  • Chrome/Edge 最新版本
  • Firefox 最新版本
  • Safari 最新版本
  • 移动端浏览器(如需要)

7.2 数据版本兼容

  • API 版本兼容
  • 数据结构变更有兼容方案

8. 测试覆盖

8.1 单元测试

  • 后端核心逻辑有单元测试
  • 前端工具有单元测试
  • 测试覆盖率 > 70%

8.2 集成测试

  • 关键接口有集成测试
  • 联调场景有集成测试

8.3 E2E 测试

  • 主流程有 E2E 测试
  • E2E 测试通过

9. 文档检查

  • API 文档完整Swagger/OpenAPI
  • 接口变更文档更新
  • README 更新(如需要)
  • 数据库变更文档(如需要)
  • 部署文档更新(如需要)

10. 部署检查

  • 配置文件正确
  • 环境变量正确
  • 数据库迁移脚本正确
  • 回滚方案准备
  • 监控指标配置
  • 告警规则配置

11. 上线前最终检查

  • 所有 P0 问题已解决
  • 所有 P1 问题已解决
  • 测试通过率 ≥ 95%
  • 性能指标达标
  • 安全测试通过
  • 代码审查通过
  • 文档更新完整
  • 回滚方案确认

附录

问题严重程度定义

级别 描述 示例
P0 阻塞问题,无法联调 接口 500 错误,数据库连接失败
P1 严重问题,影响核心功能 权限失效,数据丢失
P2 一般问题,影响用户体验 错误提示不准确,性能较差
P3 优化建议,不影响功能 命名不规范,代码可读性差

联调测试命令

# 后端测试
go test ./...

# 前端测试
cd frontend/admin && npm test

# 前端构建
cd frontend/admin && npm run build

# 前端 lint
cd frontend/admin && npm run lint

# E2E 测试
cd frontend/admin && npm run e2e:full:win