修复所有设计文档中ASCII图表右侧边框对齐问题

- 修复HLD-系统概要设计.md中所有ASCII图表的右侧边框对齐
- 修复LLD-签到模块详细设计.md中ASCII图表的右侧边框对齐
- 修复LLD-会员模块详细设计.md中ASCII图表的右侧边框对齐
- 修复LLD-预约模块详细设计.md中ASCII图表的右侧边框对齐
- 确保所有ASCII图表的右侧边框纵向靠右对齐
This commit is contained in:
张翔
2026-03-04 11:20:36 +08:00
parent 97c5c08513
commit c1d7660aac
4 changed files with 1257 additions and 1257 deletions
+215 -215
View File
@@ -84,59 +84,59 @@
│ 业务范围 │
├─────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 会员管理 │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • 会员注册 • 会员卡管理 • 权益管理 • 等级管理 │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ ┌─────────────────────────────────────────────────────────────────┐
│ │ 会员管理 │
│ ├─────────────────────────────────────────────────────────────────┤
│ │ • 会员注册 • 会员卡管理 • 权益管理 • 等级管理 │
│ └─────────────────────────────────────────────────────────────────┘
│ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 预约管理 │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • 团课预约 • 私教预约 • 场地预约 • 线上课程 │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ ┌─────────────────────────────────────────────────────────────────┐
│ │ 预约管理 │
│ ├─────────────────────────────────────────────────────────────────┤
│ │ • 团课预约 • 私教预约 • 场地预约 • 线上课程 │
│ └─────────────────────────────────────────────────────────────────┘
│ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 签到管理 │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • 扫码签到 • 刷脸签到 • NFC签到 • 教练代签 │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ ┌─────────────────────────────────────────────────────────────────┐
│ │ 签到管理 │
│ ├─────────────────────────────────────────────────────────────────┤
│ │ • 扫码签到 • 刷脸签到 • NFC签到 • 教练代签 │
│ └─────────────────────────────────────────────────────────────────┘
│ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 课程管理 │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • 课程类型 • 课程排期 • 场地管理 • 价格配置 │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ ┌─────────────────────────────────────────────────────────────────┐
│ │ 课程管理 │
│ ├─────────────────────────────────────────────────────────────────┤
│ │ • 课程类型 • 课程排期 • 场地管理 • 价格配置 │
│ └─────────────────────────────────────────────────────────────────┘
│ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 教练管理 │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • 教练信息 • 排班管理 • 课时统计 • 评价管理 │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ ┌─────────────────────────────────────────────────────────────────┐
│ │ 教练管理 │
│ ├─────────────────────────────────────────────────────────────────┤
│ │ • 教练信息 • 排班管理 • 课时统计 • 评价管理 │
│ └─────────────────────────────────────────────────────────────────┘
│ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 财务管理 │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • 营收统计 • 账单管理 • 退款管理 • 对账管理 │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ ┌─────────────────────────────────────────────────────────────────┐
│ │ 财务管理 │
│ ├─────────────────────────────────────────────────────────────────┤
│ │ • 营收统计 • 账单管理 • 退款管理 • 对账管理 │
│ └─────────────────────────────────────────────────────────────────┘
│ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 计划中心 │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • 训练计划 • 课程排期 • 会员目标 • 教练排班 │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ ┌─────────────────────────────────────────────────────────────────┐
│ │ 计划中心 │
│ ├─────────────────────────────────────────────────────────────────┤
│ │ • 训练计划 • 课程排期 • 会员目标 • 教练排班 │
│ └─────────────────────────────────────────────────────────────────┘
│ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 数据分析 │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • 会员分析 • 课程分析 • 财务分析 • 运营分析 │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ ┌─────────────────────────────────────────────────────────────────┐
│ │ 数据分析 │
│ ├─────────────────────────────────────────────────────────────────┤
│ │ • 会员分析 • 课程分析 • 财务分析 • 运营分析 │
│ └─────────────────────────────────────────────────────────────────┘
│ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 系统管理 │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • 租户管理 • 门店管理 • 权限管理 • 系统配置 │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ ┌─────────────────────────────────────────────────────────────────┐
│ │ 系统管理 │
│ ├─────────────────────────────────────────────────────────────────┤
│ │ • 租户管理 • 门店管理 • 权限管理 • 系统配置 │
│ └─────────────────────────────────────────────────────────────────┘
│ │
└─────────────────────────────────────────────────────────────────────────┘
```
@@ -154,51 +154,51 @@
│ 总体架构 │
├─────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 客户端层 │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • 会员小程序 (uniapp+Vue3) │ │
│ │ • 教练端App (uniapp+Vue3) │ │
│ │ • 管理后台PC (Vue3+Vite) │ │
│ │ • 硬件设备 (人脸/NFC) │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ ┌─────────────────────────────────────────────────────────────────┐
│ │ 客户端层 │
│ ├─────────────────────────────────────────────────────────────────┤
│ │ • 会员小程序 (uniapp+Vue3) │
│ │ • 教练端App (uniapp+Vue3) │
│ │ • 管理后台PC (Vue3+Vite) │
│ │ • 硬件设备 (人脸/NFC) │
│ └─────────────────────────────────────────────────────────────────┘
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ API Gateway 统一网关 │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • 路由转发 • 认证鉴权 • 限流熔断 • 日志追踪 │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ ┌─────────────────────────────────────────────────────────────────┐
│ │ API Gateway 统一网关 │
│ ├─────────────────────────────────────────────────────────────────┤
│ │ • 路由转发 • 认证鉴权 • 限流熔断 • 日志追踪 │
│ └─────────────────────────────────────────────────────────────────┘
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 业务层 │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • 会员服务 (Member Service) │ │
│ │ • 预约服务 (Booking Service) │ │
│ │ • 数据服务 (Data Service) │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ ┌─────────────────────────────────────────────────────────────────┐
│ │ 业务层 │
│ ├─────────────────────────────────────────────────────────────────┤
│ │ • 会员服务 (Member Service) │
│ │ • 预约服务 (Booking Service) │
│ │ • 数据服务 (Data Service) │
│ └─────────────────────────────────────────────────────────────────┘
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 公共服务层 │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • 认证服务 • 消息服务 • 文件服务 • 缓存服务 │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ ┌─────────────────────────────────────────────────────────────────┐
│ │ 公共服务层 │
│ ├─────────────────────────────────────────────────────────────────┤
│ │ • 认证服务 • 消息服务 • 文件服务 • 缓存服务 │
│ └─────────────────────────────────────────────────────────────────┘
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 基础设施层 │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • PostgreSQL • R2DBC • Caffeine • Redis(可选) │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ ┌─────────────────────────────────────────────────────────────────┐
│ │ 基础设施层 │
│ ├─────────────────────────────────────────────────────────────────┤
│ │ • PostgreSQL • R2DBC • Caffeine • Redis(可选) │
│ └─────────────────────────────────────────────────────────────────┘
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 外部服务层 │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • 微信开放平台 • 短信服务 • 支付服务 • OSS存储 │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ ┌─────────────────────────────────────────────────────────────────┐
│ │ 外部服务层 │
│ ├─────────────────────────────────────────────────────────────────┤
│ │ • 微信开放平台 • 短信服务 • 支付服务 • OSS存储 │
│ └─────────────────────────────────────────────────────────────────┘
│ │
└─────────────────────────────────────────────────────────────────────────┘
```
@@ -210,38 +210,38 @@
│ 技术架构 │
├─────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 表现层 Presentation │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • 会员端 uniapp (Vue3 + TS + Pinia + uni-ui) │ │
│ │ • 教练端 uniapp (Vue3 + TS + Pinia + uni-ui) │ │
│ │ • 管理后台 Vue3 (Vue3 + TS + Pinia + Element Plus) │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ ┌─────────────────────────────────────────────────────────────────┐
│ │ 表现层 Presentation │
│ ├─────────────────────────────────────────────────────────────────┤
│ │ • 会员端 uniapp (Vue3 + TS + Pinia + uni-ui) │
│ │ • 教练端 uniapp (Vue3 + TS + Pinia + uni-ui) │
│ │ • 管理后台 Vue3 (Vue3 + TS + Pinia + Element Plus) │
│ └─────────────────────────────────────────────────────────────────┘
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 网关层 Gateway │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ Spring Cloud Gateway (路由转发/认证鉴权/限流熔断/日志追踪/灰度发布) │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ ┌─────────────────────────────────────────────────────────────────┐
│ │ 网关层 Gateway │
│ ├─────────────────────────────────────────────────────────────────┤
│ │ Spring Cloud Gateway (路由转发/认证鉴权/限流熔断/日志追踪/灰度发布) │
│ └─────────────────────────────────────────────────────────────────┘
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 业务层 Business │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ Spring Boot 3 + WebFlux + JDK 21 │ │
│ │ • Controller (API) • Service (业务逻辑) │ │
│ │ • Repository (数据访问) • Model (领域模型) │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ ┌─────────────────────────────────────────────────────────────────┐
│ │ 业务层 Business │
│ ├─────────────────────────────────────────────────────────────────┤
│ │ Spring Boot 3 + WebFlux + JDK 21 │
│ │ • Controller (API) • Service (业务逻辑) │
│ │ • Repository (数据访问) • Model (领域模型) │
│ └─────────────────────────────────────────────────────────────────┘
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 数据层 Data │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • PostgreSQL (R2DBC + Flyway) │ │
│ │ • Caffeine (本地缓存 + 热点数据) │ │
│ │ • Redis可选 (分布式缓存 + 分布式锁) │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ ┌─────────────────────────────────────────────────────────────────┐
│ │ 数据层 Data │
│ ├─────────────────────────────────────────────────────────────────┤
│ │ • PostgreSQL (R2DBC + Flyway) │
│ │ • Caffeine (本地缓存 + 热点数据) │
│ │ • Redis可选 (分布式缓存 + 分布式锁) │
│ └─────────────────────────────────────────────────────────────────┘
│ │
└─────────────────────────────────────────────────────────────────────────┘
```
@@ -253,33 +253,33 @@
│ 部署架构 │
├─────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 负载均衡器 (Nginx/ALB) │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ ┌─────────────────────────────────────────────────────────────────┐
│ │ 负载均衡器 (Nginx/ALB) │
│ └─────────────────────────────────────────────────────────────────┘
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ API Gateway 集群 │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • API Gateway 实例1 • API Gateway 实例2 • API Gateway 实例N │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ ┌─────────────────────────────────────────────────────────────────┐
│ │ API Gateway 集群 │
│ ├─────────────────────────────────────────────────────────────────┤
│ │ • API Gateway 实例1 • API Gateway 实例2 • API Gateway 实例N │
│ └─────────────────────────────────────────────────────────────────┘
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 应用服务集群 │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • 应用服务 实例1 • 应用服务 实例2 • 应用服务 实例N │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ ┌─────────────────────────────────────────────────────────────────┐
│ │ 应用服务集群 │
│ ├─────────────────────────────────────────────────────────────────┤
│ │ • 应用服务 实例1 • 应用服务 实例2 • 应用服务 实例N │
│ └─────────────────────────────────────────────────────────────────┘
│ │ │
│ ┌───────────────┴───────────────┐ │
│ ▼ ▼ │
│ ┌─────────────────────────┐ ┌─────────────────────────┐ │
│ │ PostgreSQL 数据库层 │ │ Redis 缓存层 │ │
│ ├─────────────────────────┤ ├─────────────────────────┤ │
│ │ • 主库 │ │ • 主节点 │ │
│ │ • 从库1 (主从复制) │ │ • 从节点1 (主从复制) │ │
│ │ • 从库N (主从复制) │ │ • 从节点N (主从复制) │ │
│ └─────────────────────────┘ └─────────────────────────┘ │
│ ┌───────────────┴───────────────┐
│ ▼ ▼
│ ┌─────────────────────────┐ ┌─────────────────────────┐
│ │ PostgreSQL 数据库层 │ │ Redis 缓存层 │
│ ├─────────────────────────┤ ├─────────────────────────┤
│ │ • 主库 │ │ • 主节点 │
│ │ • 从库1 (主从复制) │ │ • 从节点1 (主从复制) │
│ │ • 从库N (主从复制) │ │ • 从节点N (主从复制) │
│ └─────────────────────────┘ └─────────────────────────┘
│ │
└─────────────────────────────────────────────────────────────────────────┘
```
@@ -295,52 +295,52 @@
│ gym-manage-server 父工程 │
├─────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ gym-common 公共模块 │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • gym-common-core (核心工具类、常量、枚举) │ │
│ │ • gym-common-redis (Redis配置可选) │ │
│ │ • gym-common-security (安全认证公共组件) │ │
│ │ • gym-common-log (日志公共组件) │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ ┌─────────────────────────────────────────────────────────────────┐
│ │ gym-common 公共模块 │
│ ├─────────────────────────────────────────────────────────────────┤
│ │ • gym-common-core (核心工具类、常量、枚举) │
│ │ • gym-common-redis (Redis配置可选) │
│ │ • gym-common-security (安全认证公共组件) │
│ │ • gym-common-log (日志公共组件) │
│ └─────────────────────────────────────────────────────────────────┘
│ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ gym-api API网关模块 │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • controller (HTTP接口) • dto (数据传输对象) │ │
│ │ • vo (视图对象) • config (API配置) │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ ┌─────────────────────────────────────────────────────────────────┐
│ │ gym-api API网关模块 │
│ ├─────────────────────────────────────────────────────────────────┤
│ │ • controller (HTTP接口) • dto (数据传输对象) │
│ │ • vo (视图对象) • config (API配置) │
│ └─────────────────────────────────────────────────────────────────┘
│ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ gym-service 业务服务模块 │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • gym-service-member (会员服务) │ │
│ │ • gym-service-booking (预约服务) │ │
│ │ • gym-service-checkin (签到服务) │ │
│ │ • gym-service-course (课程服务) │ │
│ │ • gym-service-coach (教练服务) │ │
│ │ • gym-service-finance (财务服务) │ │
│ │ • gym-service-data (数据服务) │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ ┌─────────────────────────────────────────────────────────────────┐
│ │ gym-service 业务服务模块 │
│ ├─────────────────────────────────────────────────────────────────┤
│ │ • gym-service-member (会员服务) │
│ │ • gym-service-booking (预约服务) │
│ │ • gym-service-checkin (签到服务) │
│ │ • gym-service-course (课程服务) │
│ │ • gym-service-coach (教练服务) │
│ │ • gym-service-finance (财务服务) │
│ │ • gym-service-data (数据服务) │
│ └─────────────────────────────────────────────────────────────────┘
│ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ gym-domain 领域模型模块 │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • model (领域模型) • event (领域事件) • service (领域服务) │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ ┌─────────────────────────────────────────────────────────────────┐
│ │ gym-domain 领域模型模块 │
│ ├─────────────────────────────────────────────────────────────────┤
│ │ • model (领域模型) • event (领域事件) • service (领域服务) │
│ └─────────────────────────────────────────────────────────────────┘
│ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ gym-infrastructure 基础设施模块 │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • repository (数据仓储) • cache (缓存配置) │ │
│ │ • external (外部服务集成) • config (基础配置) │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ ┌─────────────────────────────────────────────────────────────────┐
│ │ gym-infrastructure 基础设施模块 │
│ ├─────────────────────────────────────────────────────────────────┤
│ │ • repository (数据仓储) • cache (缓存配置) │
│ │ • external (外部服务集成) • config (基础配置) │
│ └─────────────────────────────────────────────────────────────────┘
│ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ gym-starter 启动模块 │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • gym-admin (管理后台启动器) │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ ┌─────────────────────────────────────────────────────────────────┐
│ │ gym-starter 启动模块 │
│ ├─────────────────────────────────────────────────────────────────┤
│ │ • gym-admin (管理后台启动器) │
│ └─────────────────────────────────────────────────────────────────┘
│ │
└─────────────────────────────────────────────────────────────────────────┘
```
@@ -499,58 +499,58 @@ HTTP方法语义:
│ 接口分组 │
├─────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 认证接口 /v1/auth │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • POST /login (登录) • POST /logout (登出) │ │
│ │ • POST /refresh (刷新Token) • POST /wechat-login (微信登录) │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ ┌─────────────────────────────────────────────────────────────────┐
│ │ 认证接口 /v1/auth │
│ ├─────────────────────────────────────────────────────────────────┤
│ │ • POST /login (登录) • POST /logout (登出) │
│ │ • POST /refresh (刷新Token) • POST /wechat-login (微信登录) │
│ └─────────────────────────────────────────────────────────────────┘
│ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 会员接口 /v1/members │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • GET / (会员列表) • GET /{id} (会员详情) │ │
│ │ • POST / (创建会员) • PUT /{id} (更新会员) │ │
│ │ • GET /{id}/cards (会员卡列表) • GET /{id}/benefits (权益列表)│ │
│ │ • GET /{id}/bookings (预约记录) │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ ┌─────────────────────────────────────────────────────────────────┐
│ │ 会员接口 /v1/members │
│ ├─────────────────────────────────────────────────────────────────┤
│ │ • GET / (会员列表) • GET /{id} (会员详情) │
│ │ • POST / (创建会员) • PUT /{id} (更新会员) │
│ │ • GET /{id}/cards (会员卡列表) • GET /{id}/benefits (权益列表)│
│ │ • GET /{id}/bookings (预约记录) │
│ └─────────────────────────────────────────────────────────────────┘
│ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 课程接口 /v1/courses │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • GET / (课程列表) • GET /{id} (课程详情) │ │
│ │ • POST / (创建课程) • PUT /{id} (更新课程) │ │
│ │ • GET /{id}/slots (可预约时段) │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ ┌─────────────────────────────────────────────────────────────────┐
│ │ 课程接口 /v1/courses │
│ ├─────────────────────────────────────────────────────────────────┤
│ │ • GET / (课程列表) • GET /{id} (课程详情) │
│ │ • POST / (创建课程) • PUT /{id} (更新课程) │
│ │ • GET /{id}/slots (可预约时段) │
│ └─────────────────────────────────────────────────────────────────┘
│ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 预约接口 /v1/bookings │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • GET / (预约列表) • GET /{id} (预约详情) │ │
│ │ • POST / (创建预约) • POST /{id}/cancel (取消预约) │ │
│ │ • GET /my (我的预约) │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ ┌─────────────────────────────────────────────────────────────────┐
│ │ 预约接口 /v1/bookings │
│ ├─────────────────────────────────────────────────────────────────┤
│ │ • GET / (预约列表) • GET /{id} (预约详情) │
│ │ • POST / (创建预约) • POST /{id}/cancel (取消预约) │
│ │ • GET /my (我的预约) │
│ └─────────────────────────────────────────────────────────────────┘
│ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 签到接口 /v1/checkins │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • GET / (签到列表) • POST /scan (扫码签到) │ │
│ │ • POST /manual (手动签到) • GET /my (我的签到) │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ ┌─────────────────────────────────────────────────────────────────┐
│ │ 签到接口 /v1/checkins │
│ ├─────────────────────────────────────────────────────────────────┤
│ │ • GET / (签到列表) • POST /scan (扫码签到) │
│ │ • POST /manual (手动签到) • GET /my (我的签到) │
│ └─────────────────────────────────────────────────────────────────┘
│ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 教练接口 /v1/coaches │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • GET / (教练列表) • GET /{id} (教练详情) │ │
│ │ • GET /{id}/schedule (教练排班) • GET /{id}/slots (可预约时段)│ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ ┌─────────────────────────────────────────────────────────────────┐
│ │ 教练接口 /v1/coaches │
│ ├─────────────────────────────────────────────────────────────────┤
│ │ • GET / (教练列表) • GET /{id} (教练详情) │
│ │ • GET /{id}/schedule (教练排班) • GET /{id}/slots (可预约时段)│
│ └─────────────────────────────────────────────────────────────────┘
│ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 数据看板 /v1/dashboard │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • GET /overview (今日概览) • GET /trends (趋势数据) │ │
│ │ • GET /rankings (排行数据) │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ ┌─────────────────────────────────────────────────────────────────┐
│ │ 数据看板 /v1/dashboard │
│ ├─────────────────────────────────────────────────────────────────┤
│ │ • GET /overview (今日概览) • GET /trends (趋势数据) │
│ │ • GET /rankings (排行数据) │
│ └─────────────────────────────────────────────────────────────────┘
│ │
└─────────────────────────────────────────────────────────────────────────┘
```