refactor: 将设计文档中的Mermaid图表转换为ASCII格式

为提高兼容性,避免Mermaid版本兼容问题,将所有设计文档中的
Mermaid图表转换为ASCII格式。

修改文件:
- HLD-系统概要设计.md
  • 业务范围图 (mindmap → ASCII)
  • 总体架构图 (graph → ASCII)
  • 技术架构图 (graph → ASCII)
  • 部署架构图 (graph → ASCII)
  • 模块划分图 (graph → ASCII)
  • 模块交互图 (sequenceDiagram → ASCII)
  • 接口分组图 (graph → ASCII)

- LLD-会员模块详细设计.md
  • 模块边界图 (graph → ASCII)
  • 实体关系图 (erDiagram → ASCII)

- LLD-预约模块详细设计.md
  • 模块边界图 (graph → ASCII)
  • 实体关系图 (erDiagram → ASCII)

- LLD-签到模块详细设计.md
  • 模块边界图 (graph → ASCII)
  • 实体关系图 (erDiagram → ASCII)

所有ASCII图表采用统一的边框样式,左右两侧对齐,提高可读性。~
This commit is contained in:
张翔
2026-03-04 10:20:11 +08:00
parent 9f8fdd9368
commit 97c5c08513
4 changed files with 556 additions and 606 deletions
+344 -344
View File
@@ -79,54 +79,66 @@
### 2.3 业务范围
```mermaid
mindmap
root((业务范围))
会员管理
会员注册
会员卡管理
权益管理
等级管理
预约管理
团课预约
私教预约
场地预约
线上课程
签到管理
扫码签到
刷脸签到
NFC签到
教练代签
课程管理
课程类型
课程排期
场地管理
价格配置
教练管理
教练信息
排班管理
课时统计
评价管理
财务管理
营收统计
账单管理
退款管理
对账管理
计划中心
训练计划
课程排期
会员目标
教练排班
数据分析
会员分析
课程分析
财务分析
运营分析
系统管理
租户管理
门店管理
权限管理
系统配置
```
┌─────────────────────────────────────────────────────────────────────────┐
│ 业务范围 │
├─────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 会员管理 │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • 会员注册 • 会员卡管理 • 权益管理 • 等级管理 │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 预约管理 │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • 团课预约 • 私教预约 • 场地预约 • 线上课程 │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 签到管理 │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • 扫码签到 • 刷脸签到 • NFC签到 • 教练代签 │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 课程管理 │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • 课程类型 • 课程排期 • 场地管理 • 价格配置 │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 教练管理 │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • 教练信息 • 排班管理 • 课时统计 • 评价管理 │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 财务管理 │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • 营收统计 • 账单管理 • 退款管理 • 对账管理 │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 计划中心 │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • 训练计划 • 课程排期 • 会员目标 • 教练排班 │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 数据分析 │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • 会员分析 • 课程分析 • 财务分析 • 运营分析 │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 系统管理 │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • 租户管理 • 门店管理 • 权限管理 • 系统配置 │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────┘
```
---
@@ -137,186 +149,139 @@ mindmap
采用分层架构 + 微服务思想的模块化设计:
```mermaid
graph TB
subgraph ClientLayer[客户端层]
A1[会员小程序<br/>uniapp+Vue3]
A2[教练端App<br/>uniapp+Vue3]
A3[管理后台PC<br/>Vue3+Vite]
A4[硬件设备<br/>人脸/NFC]
end
subgraph Gateway[API Gateway<br/>统一网关]
B1[路由转发]
B2[认证鉴权]
B3[限流熔断]
B4[日志追踪]
end
subgraph BusinessLayer[业务层]
C1[会员服务<br/>Member Service]
C2[预约服务<br/>Booking Service]
C3[数据服务<br/>Data Service]
end
subgraph CommonLayer[公共服务层]
D1[认证服务]
D2[消息服务]
D3[文件服务]
D4[缓存服务]
end
subgraph InfraLayer[基础设施层]
E1[PostgreSQL]
E2[R2DBC]
E3[Caffeine]
E4[Redis可选]
end
subgraph ExternalLayer[外部服务]
F1[微信开放平台]
F2[短信服务]
F3[支付服务]
F4[OSS存储]
end
A1 --> Gateway
A2 --> Gateway
A3 --> Gateway
A4 --> Gateway
Gateway --> C1
Gateway --> C2
Gateway --> C3
C1 --> CommonLayer
C2 --> CommonLayer
C3 --> CommonLayer
CommonLayer --> InfraLayer
CommonLayer --> ExternalLayer
```
┌─────────────────────────────────────────────────────────────────────────┐
│ 总体架构 │
├─────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 客户端层 │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • 会员小程序 (uniapp+Vue3) │ │
│ │ • 教练端App (uniapp+Vue3) │ │
│ │ • 管理后台PC (Vue3+Vite) │ │
│ │ • 硬件设备 (人脸/NFC) │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ API Gateway 统一网关 │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • 路由转发 • 认证鉴权 • 限流熔断 • 日志追踪 │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 业务层 │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • 会员服务 (Member Service) │ │
│ │ • 预约服务 (Booking Service) │ │
│ │ • 数据服务 (Data Service) │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 公共服务层 │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • 认证服务 • 消息服务 • 文件服务 • 缓存服务 │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 基础设施层 │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • PostgreSQL • R2DBC • Caffeine • Redis(可选) │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 外部服务层 │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • 微信开放平台 • 短信服务 • 支付服务 • OSS存储 │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────┘
```
### 3.2 技术架构
```mermaid
graph TB
subgraph Presentation[表现层 Presentation]
A1[会员端 uniapp<br/>Vue3 + TS<br/>Pinia<br/>uni-ui]
A2[教练端 uniapp<br/>Vue3 + TS<br/>Pinia<br/>uni-ui]
A3[管理后台 Vue3<br/>Vue3 + TS<br/>Pinia<br/>Element Plus]
end
subgraph Gateway[网关层 Gateway]
B[Spring Cloud Gateway<br/>路由转发<br/>认证鉴权<br/>限流熔断<br/>日志追踪<br/>灰度发布]
end
subgraph Business[业务层 Business]
C[Spring Boot 3 + WebFlux + JDK 21]
C1[Controller<br/>API]
C2[Service<br/>业务逻辑]
C3[Repository<br/>数据访问]
C4[Model<br/>领域模型]
end
subgraph Data[数据层 Data]
D1[PostgreSQL<br/>R2DBC<br/>Flyway]
D2[Caffeine<br/>本地缓存<br/>热点数据]
D3[Redis可选<br/>分布式缓存<br/>分布式锁]
end
A1 --> B
A2 --> B
A3 --> B
B --> C
C --> C1
C1 --> C2
C2 --> C3
C3 --> C4
C4 --> D1
C4 --> D2
C4 --> D3
```
┌─────────────────────────────────────────────────────────────────────────┐
│ 技术架构 │
├─────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 表现层 Presentation │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • 会员端 uniapp (Vue3 + TS + Pinia + uni-ui) │ │
│ │ • 教练端 uniapp (Vue3 + TS + Pinia + uni-ui) │ │
│ │ • 管理后台 Vue3 (Vue3 + TS + Pinia + Element Plus) │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 网关层 Gateway │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ Spring Cloud Gateway (路由转发/认证鉴权/限流熔断/日志追踪/灰度发布) │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 业务层 Business │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ Spring Boot 3 + WebFlux + JDK 21 │ │
│ │ • Controller (API) • Service (业务逻辑) │ │
│ │ • Repository (数据访问) • Model (领域模型) │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 数据层 Data │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • PostgreSQL (R2DBC + Flyway) │ │
│ │ • Caffeine (本地缓存 + 热点数据) │ │
│ │ • Redis可选 (分布式缓存 + 分布式锁) │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────┘
```
### 3.3 部署架构
```mermaid
graph TB
LB[负载均衡器<br/>Nginx/ALB]
subgraph GatewayInstances[API Gateway集群]
GW1[API Gateway<br/>实例1]
GW2[API Gateway<br/>实例2]
GW3[API Gateway<br/>实例N]
end
subgraph AppInstances[应用服务集群]
APP1[应用服务<br/>实例1]
APP2[应用服务<br/>实例2]
APP3[应用服务<br/>实例N]
end
subgraph DBLayer[数据库层]
PG1[PostgreSQL<br/>主库]
PG2[PostgreSQL<br/>从库1]
PG3[PostgreSQL<br/>从库N]
end
subgraph CacheLayer[缓存层]
REDIS1[Redis<br/>主节点]
REDIS2[Redis<br/>从节点1]
REDIS3[Redis<br/>从节点N]
end
LB --> GW1
LB --> GW2
LB --> GW3
GW1 --> APP1
GW2 --> APP2
GW3 --> APP3
APP1 --> PG1
APP2 --> PG1
APP3 --> PG1
PG1 -.->|主从复制| PG2
PG1 -.->|主从复制| PG3
APP1 --> REDIS1
APP2 --> REDIS1
APP3 --> REDIS1
REDIS1 -.->|主从复制| REDIS2
REDIS1 -.->|主从复制| REDIS3
```
└───────────────────┼───────────────────┘
│ │ │
┌──────────────────┼──────────────────┐
│ │ │
▼ ▼ ▼
────────────────┐ ┌────────────────┐ ┌────────────────
│ Application │ │ Application │ │ Application │
│ Server (Pod1) │ │ Server (Pod2) │ │ Server (PodN) │
───────────────┘ └───────────────┘ └
```
───────────────┘ │
│ │ │
└───────────────────┼───────────────────┘
┌───────────────────────────┼───────────────────────────┐
│ │ │
▼ ▼ ▼
──────────────┐ ┌──────────────┐ ┌──────────────
│ PostgreSQL │ │ Redis │ │ OSS │
│ (主从复制) │ │ (哨兵模式) │ │ (对象存储) │
└──────────────┘ └──────────────┘ └──────────────┘
│ │
┌─────────────────────────────────────────────────────────────────────────┐
部署架构
├─────────────────────────────────────────────────────────────────────────┤
┌─────────────────────────────────────────────────────────────────┐
│ 负载均衡器 (Nginx/ALB) │
─────────────────────────────────────────────────────────────────┘
┌────────────────────────────────────────────────────────────────┐ │
│ │ API Gateway 集群 │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • API Gateway 实例1 • API Gateway 实例2 • API Gateway 实例N │ │
│ └─────────────────────────────────────────────────────────────────┘ │
┌─────────────────────────────────────────────────────────────────┐
│ 应用服务集群 │
├─────────────────────────────────────────────────────────────────┤
│ • 应用服务 实例1 • 应用服务 实例2 • 应用服务 实例N │
└─────────────────────────────────────────────────────────────────┘
┌───────────────┴───────────────┐
▼ ▼
┌─────────────────────────┐ ┌─────────────────────────┐
│ │ PostgreSQL 数据库层 │ │ Redis 缓存层 │ │
│ ├─────────────────────────┤ ├─────────────────────────┤ │
│ │ • 主库 │ │ • 主节点 │ │
│ │ • 从库1 (主从复制) │ │ • 从节点1 (主从复制) │ │
│ │ • 从库N (主从复制) │ │ • 从节点N (主从复制) │ │
│ └─────────────────────────┘ └─────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────┘
```
---
@@ -325,59 +290,60 @@ graph TB
### 4.1 模块划分
````
---
## 四、模块设计
### 4.1 模块划分
```mermaid
graph TB
subgraph Parent[gym-manage-server 父工程]
subgraph Common[gym-common 公共模块]
C1[gym-common-core<br/>核心工具类、常量、枚举]
C2[gym-common-redis<br/>Redis配置可选]
C3[gym-common-security<br/>安全认证公共组件]
C4[gym-common-log<br/>日志公共组件]
end
subgraph API[gym-api API网关模块]
A1[controller<br/>HTTP接口]
A2[dto<br/>数据传输对象]
A3[vo<br/>视图对象]
A4[config<br/>API配置]
end
subgraph Service[gym-service 业务服务模块]
S1[gym-service-member<br/>会员服务]
S2[gym-service-booking<br/>预约服务]
S3[gym-service-checkin<br/>签到服务]
S4[gym-service-course<br/>课程服务]
S5[gym-service-coach<br/>教练服务]
S6[gym-service-finance<br/>财务服务]
S7[gym-service-data<br/>数据服务]
end
subgraph Domain[gym-domain 领域模型模块]
D1[model<br/>领域模型]
D2[event<br/>领域事件]
D3[service<br/>领域服务]
end
subgraph Infra[gym-infrastructure 基础设施模块]
I1[repository<br/>数据仓储]
I2[cache<br/>缓存配置]
I3[external<br/>外部服务集成]
I4[config<br/>基础配置]
end
subgraph Starter[gym-starter 启动模块]
ST[gym-admin<br/>管理后台启动器]
end
end
````
```
┌─────────────────────────────────────────────────────────────────────────┐
│ gym-manage-server 父工程 │
├─────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 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-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-infrastructure 基础设施模块 │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • repository (数据仓储) • cache (缓存配置) │ │
│ │ • external (外部服务集成) • config (基础配置) │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ gym-starter 启动模块 │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • gym-admin (管理后台启动器) │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────┘
```
### 4.2 模块职责
@@ -396,25 +362,54 @@ graph TB
### 4.3 模块交互
```mermaid
sequenceDiagram
participant Client as 客户端
participant API as API Layer
participant Service as Service Layer
participant Domain as Domain Layer
participant Repo as Repo Layer
participant Infra as Infrastructure
Client->>API: HTTP Request
API->>Service: 调用业务逻辑
Service->>Domain: 处理领域逻辑
Domain->>Repo: 访问数据
Repo->>Infra: 访问基础设施
Infra-->>Repo: 返回结果
Repo-->>Domain: 返回数据
Domain-->>Service: 返回领域对象
Service-->>API: 返回业务结果
API-->>Client: HTTP Response
```
┌─────────────────────────────────────────────────────────────────────────┐
│ 模块交互流程 │
├─────────────────────────────────────────────────────────────────────────┤
│ │
│ 客户端 (Client) │
│ │ │
│ │ 1. HTTP Request │
│ ▼ │
│ API Layer │
│ │ │
│ │ 2. 调用业务逻辑 │
│ ▼ │
│ Service Layer │
│ │ │
│ │ 3. 处理领域逻辑 │
│ ▼ │
│ Domain Layer │
│ │ │
│ │ 4. 访问数据 │
│ ▼ │
│ Repo Layer │
│ │ │
│ │ 5. 访问基础设施 │
│ ▼ │
│ Infrastructure │
│ │ │
│ │ 6. 返回结果 │
│ ▼ │
│ Repo Layer ──────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ 7. 返回数据 │ │
│ ▼ │ │
│ Domain Layer ────────────────────────────────────────────────────────┤ │
│ │ │ │
│ │ 8. 返回领域对象 │ │
│ ▼ │ │
│ Service Layer ──────────────────────────────────────────────────────┤ │
│ │ │ │
│ │ 9. 返回业务结果 │ │
│ ▼ │ │
│ API Layer ──────────────────────────────────────────────────────────┤ │
│ │ │ │
│ │ 10. HTTP Response │ │
│ ▼ │ │
│ 客户端 (Client) ◀────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────┘
```
---
@@ -499,60 +494,65 @@ HTTP方法语义:
### 5.2 接口分组
```mermaid
graph LR
subgraph Auth[认证接口 /v1/auth]
A1[POST /login<br/>登录]
A2[POST /logout<br/>登出]
A3[POST /refresh<br/>刷新Token]
A4[POST /wechat-login<br/>微信登录]
end
subgraph Members[会员接口 /v1/members]
M1[GET /<br/>会员列表]
M2[GET /{id}<br/>会员详情]
M3[POST /<br/>创建会员]
M4[PUT /{id}<br/>更新会员]
M5[GET /{id}/cards<br/>会员卡列表]
M6[GET /{id}/benefits<br/>权益列表]
M7[GET /{id}/bookings<br/>预约记录]
end
subgraph Courses[课程接口 /v1/courses]
C1[GET /<br/>课程列表]
C2[GET /{id}<br/>课程详情]
C3[POST /<br/>创建课程]
C4[PUT /{id}<br/>更新课程]
C5[GET /{id}/slots<br/>可预约时段]
end
subgraph Bookings[预约接口 /v1/bookings]
B1[GET /<br/>预约列表]
B2[GET /{id}<br/>预约详情]
B3[POST /<br/>创建预约]
B4[POST /{id}/cancel<br/>取消预约]
B5[GET /my<br/>我的预约]
end
subgraph Checkins[签到接口 /v1/checkins]
CH1[GET /<br/>签到列表]
CH2[POST /scan<br/>扫码签到]
CH3[POST /manual<br/>手动签到]
CH4[GET /my<br/>我的签到]
end
subgraph Coaches[教练接口 /v1/coaches]
CO1[GET /<br/>教练列表]
CO2[GET /{id}<br/>教练详情]
CO3[GET /{id}/schedule<br/>教练排班]
CO4[GET /{id}/slots<br/>可预约时段]
end
subgraph Dashboard[数据看板 /v1/dashboard]
D1[GET /overview<br/>今日概览]
D2[GET /trends<br/>趋势数据]
D3[GET /rankings<br/>排行数据]
end
```
┌─────────────────────────────────────────────────────────────────────────┐
│ 接口分组 │
├─────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 认证接口 /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/courses │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • GET / (课程列表) • GET /{id} (课程详情) │ │
│ │ • POST / (创建课程) • PUT /{id} (更新课程) │ │
│ │ • GET /{id}/slots (可预约时段) │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 预约接口 /v1/bookings │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • GET / (预约列表) • GET /{id} (预约详情) │ │
│ │ • POST / (创建预约) • POST /{id}/cancel (取消预约) │ │
│ │ • GET /my (我的预约) │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 签到接口 /v1/checkins │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • GET / (签到列表) • POST /scan (扫码签到) │ │
│ │ • POST /manual (手动签到) • GET /my (我的签到) │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 教练接口 /v1/coaches │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • GET / (教练列表) • GET /{id} (教练详情) │ │
│ │ • GET /{id}/schedule (教练排班) • GET /{id}/slots (可预约时段)│ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 数据看板 /v1/dashboard │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • GET /overview (今日概览) • GET /trends (趋势数据) │ │
│ │ • GET /rankings (排行数据) │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────┘
```
### 5.3 接口版本管理