docs:升级 OpenAPI 文档配置到 v2.0.0

- 版本号从 1.1.1 升级到 2.0.0
- 新增聊天系统 (chat) API 标签和说明
- 完善 API 文档描述,包含 WebSocket 连接指南
- 添加 JWT Token 格式要求说明
- 新增开发环境和生产环境服务器配置
- 包含 Zulip 集成和地图系统说明
This commit is contained in:
moyin
2026-01-07 15:07:01 +08:00
parent b01ea38a17
commit 003091494f

View File

@@ -65,10 +65,58 @@ async function bootstrap() {
// 配置Swagger文档 // 配置Swagger文档
const config = new DocumentBuilder() const config = new DocumentBuilder()
.setTitle('Pixel Game Server API') .setTitle('Pixel Game Server API')
.setDescription('像素游戏服务器API文档 - 包含用户认证、登录注册、验证码登录、邮箱冲突检测等功能') .setDescription(`
.setVersion('1.1.1') 像素游戏服务器API文档 - 包含用户认证、聊天系统、Zulip集成等功能
.addTag('auth', '用户认证相关接口')
.addTag('admin', '管理员后台相关接口') ## 主要功能模块
### 🔐 用户认证 (auth)
- 用户注册、登录
- JWT Token 管理
- 邮箱验证和密码重置
- 验证码登录
### 💬 聊天系统 (chat)
- WebSocket 实时聊天
- 聊天历史记录
- 系统状态监控
- Zulip 集成状态
### 👑 管理员后台 (admin)
- 用户管理
- 系统监控
- 日志查看
## WebSocket 连接
游戏聊天功能主要通过 WebSocket 实现:
**连接地址**: \`ws://localhost:3000/game\`
**支持的事件**:
- \`login\`: 用户登录(需要 JWT Token
- \`chat\`: 发送聊天消息
- \`position_update\`: 位置更新
**JWT Token 要求**:
- issuer: \`whale-town\`
- audience: \`whale-town-users\`
- type: \`access\`
- 必需字段: \`sub\`, \`username\`, \`email\`, \`role\`
## Zulip 集成
系统集成了 Zulip 聊天服务,实现游戏内聊天与 Zulip 社群的双向同步。
**支持的地图**:
- Whale Port (鲸鱼港)
- Pumpkin Valley (南瓜谷)
- Novice Village (新手村)
`)
.setVersion('2.0.0')
.addTag('auth', '🔐 用户认证相关接口')
.addTag('chat', '💬 聊天系统相关接口')
.addTag('admin', '👑 管理员后台相关接口')
.addBearerAuth( .addBearerAuth(
{ {
type: 'http', type: 'http',
@@ -80,6 +128,8 @@ async function bootstrap() {
}, },
'JWT-auth', 'JWT-auth',
) )
.addServer('http://localhost:3000', '开发环境')
.addServer('https://whaletownend.xinghangee.icu', '生产环境')
.build(); .build();
const document = SwaggerModule.createDocument(app, config); const document = SwaggerModule.createDocument(app, config);