交付清单 — Team B 架构师
里程碑信息
- 阶段: 架构设计
- 里程碑编号: milestone-2
- 提交时间: 2026-05-30 18:00
- 负责团队: Team B
交付产物
| 序号 |
文件路径 |
说明 |
覆盖度检查 |
核心内容摘要 |
| 1 |
deliveries/team-b-architecture/design.md |
架构设计文档 |
模块数: 5/5, 架构层: 4/4 |
系统架构、数据库设计、接口设计、安全设计、技术选型 |
| 2 |
deliveries/team-b-architecture/api-definition.md |
接口定义文档 |
接口数: 25/25, 模块数: 5/5 |
认证5接口、用户4接口、系统8接口、审核3接口、首页5接口 |
| 3 |
deliveries/team-b-architecture/tech-stack.md |
技术选型文档 |
类别: 8/8 |
后端技术栈、前端技术栈、开发工具、部署环境、设计规范 |
| 4 |
deliveries/team-b-architecture/DELIVERY-MANIFEST.md |
本交付清单 |
- |
交付物清单、关键信息、问题反馈 |
修改文件清单
| 序号 |
文件路径 |
操作类型 |
说明 |
| 1 |
deliveries/team-b-architecture/design.md |
新增 |
架构设计文档 |
| 2 |
deliveries/team-b-architecture/api-definition.md |
新增 |
接口定义文档 |
| 3 |
deliveries/team-b-architecture/tech-stack.md |
新增 |
技术选型文档 |
| 4 |
deliveries/team-b-architecture/DELIVERY-MANIFEST.md |
新增 |
本交付清单 |
交付说明
本次交付为阶段一(基础设施与用户体系)的架构设计成果,基于 Team A 的需求规格(spec.md)进行设计。
核心内容
系统架构设计
- 四层架构:客户端层 → API网关层 → 业务逻辑层 → 数据存储层
- 模块划分:用户模块、系统模块、审核模块、首页模块、通用模块
- 分层职责:Controller(API入口)→ Service(业务逻辑)→ Mapper(数据访问)
数据库设计
- 核心表:sys_user、user_identity、sys_role、sys_permission、sys_dict、audit_log、operation_log
- 索引设计:phone_hash唯一索引、openid唯一索引、user_id索引、identity_type索引
- 加密方案:手机号AES加密存储,SHA256哈希用于查询
接口设计
- 接口总数:25个
- 模块分布:认证5个、用户4个、系统8个、审核3个、首页5个
- 接口规范:RESTful风格,统一响应格式,错误码规范
安全设计
- 认证流程:JWT Token认证,拦截器校验,RBAC权限控制
- 数据安全:手机号加密、密码BCrypt、敏感数据脱敏
- 接口安全:参数校验、SQL注入防护、防重放攻击
技术选型
- 后端:Java 8 + Spring Boot 1.5.9 + MyBatis + MySQL + Redis
- 前端:微信小程序 + Vue 2 + Element UI + ECharts
- 工具:Maven + Git + Gogs
给下游团队的关键信息
关键决策
- 分层架构: Controller → Service → Mapper,职责清晰,便于测试
- 接口设计: 25个接口覆盖20个功能点,部分功能合并为单个接口
- 数据库设计: 7张核心表,索引设计覆盖高频查询场景
- 安全方案: JWT认证 + RBAC权限 + 手机号加密,满足安全要求
- 技术栈: 固定版本,避免兼容性问题
隐含约束
- Controller 必须参数校验: 使用 @Valid 或手动校验
- Service 必须事务管理: 使用 @Transactional 注解
- Mapper 必须 #{} 参数化: 禁止使用 ${}
- 接口响应必须统一格式: 使用 ApiResult 包装
- 敏感数据必须脱敏: 手机号、密码等
特别注意
- 身份路由逻辑: 0个身份→提示联系村委会,1个身份→直接进入,N个身份→选择页
- 密码锁定机制: 连续5次错误锁定30分钟,需记录锁定时间
- 审核SLA: ≤24小时提醒,48小时升级,需定时任务支持
- Token黑名单: 退出登录时将Token加入Redis黑名单
对上团队的问题
无。Team A 的需求规格清晰完整,架构设计无歧义。
待确认事项
- 数据库连接池: 建议使用 HikariCP(Spring Boot 1.5.x 默认),是否需要调整?
- 日志框架: 建议使用 Logback(Spring Boot 默认),是否需要切换?
- 缓存策略: Token黑名单和验证码使用Redis,是否需要其他缓存?