docs:升级 OpenAPI 文档配置到 v2.0.0
- 版本号从 1.1.1 升级到 2.0.0 - 新增聊天系统 (chat) API 标签和说明 - 完善 API 文档描述,包含 WebSocket 连接指南 - 添加 JWT Token 格式要求说明 - 新增开发环境和生产环境服务器配置 - 包含 Zulip 集成和地图系统说明
This commit is contained in:
58
src/main.ts
58
src/main.ts
@@ -65,10 +65,58 @@ async function bootstrap() {
|
||||
// 配置Swagger文档
|
||||
const config = new DocumentBuilder()
|
||||
.setTitle('Pixel Game Server API')
|
||||
.setDescription('像素游戏服务器API文档 - 包含用户认证、登录注册、验证码登录、邮箱冲突检测等功能')
|
||||
.setVersion('1.1.1')
|
||||
.addTag('auth', '用户认证相关接口')
|
||||
.addTag('admin', '管理员后台相关接口')
|
||||
.setDescription(`
|
||||
像素游戏服务器API文档 - 包含用户认证、聊天系统、Zulip集成等功能
|
||||
|
||||
## 主要功能模块
|
||||
|
||||
### 🔐 用户认证 (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(
|
||||
{
|
||||
type: 'http',
|
||||
@@ -80,6 +128,8 @@ async function bootstrap() {
|
||||
},
|
||||
'JWT-auth',
|
||||
)
|
||||
.addServer('http://localhost:3000', '开发环境')
|
||||
.addServer('https://whaletownend.xinghangee.icu', '生产环境')
|
||||
.build();
|
||||
|
||||
const document = SwaggerModule.createDocument(app, config);
|
||||
|
||||
Reference in New Issue
Block a user