Skip to content

Commit

Permalink
协议文档重构
Browse files Browse the repository at this point in the history
  • Loading branch information
CuteReimu committed Nov 13, 2024
1 parent 3afbe45 commit e26e0b3
Show file tree
Hide file tree
Showing 2 changed files with 61 additions and 26 deletions.
29 changes: 3 additions & 26 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@
[![](https://img.shields.io/github/contributors/CuteReimu/th-bingo)](https://github.com/CuteReimu/th-bingo/graphs/contributors "贡献者")
[![](https://img.shields.io/github/license/CuteReimu/th-bingo)](https://github.com/CuteReimu/th-bingo/blob/master/LICENSE "许可协议")

**本项目目前处于重构阶段,并且在重构结束前,不进行任何BUG的修复和新需求的修改**

## 使用

```shell
Expand All @@ -14,32 +16,7 @@

## 协议

协议全部采用json的格式

| 字段 | 类型 | 备注 |
|---------|-----|-----------------------------------------|
| name | str | 协议名 |
| reply | str | 回应的协议名,如果只是推送协议则没有这个字段 |
| trigger | str | 触发事件的玩家的名字,如果没有则没有这个字段 |
| data | obj | 协议内容,下文一一列举(如果返回协议体为空,则没有这个字段,以便减小协议大小) |

示例:

```json
{
"name": "error_sc",
"reply": "join_room_cs",
"trigger": "xxx",
"data": {
"code": 1,
"msg": "create room failed"
}
}
```

协议与`org.tfcc.bingo.message`下的类(`Dispatcher.kt``Handler.kt``Message.kt`除外)一一对应。

例如`"name": "error_sc"`对应`ErrorSc`
协议相关见:[doc](doc/README.md)

## 开发相关

Expand Down
58 changes: 58 additions & 0 deletions doc/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# 协议相关

## 协议的定义

协议分为两类:**http协议****websocket协议**

所有的请求类都通过**http协议**,心跳和推送类通过**websocket协议**

### http协议

http协议全部采用POST请求,请求体和回包都采用json格式。

请求:

| 字段 | 类型 | 备注 |
|------|-----|---------------------------------------|
| name | str | 功能名 |
| data | obj | 协议内容,下文一一列举(如果协议体为空,则没有这个字段,以便减小协议大小) |

示例:

```shell
curl http://localhost:8080 \
-X POST \
-d '{"name": "login_cs", "data": {"name": "test01"}}'
```

返回:

| 字段 | 类型 | 备注 |
|------|-----|---------------------------------------|
| code | int | 0表示成功 |
| msg | str | 如果code不为0,则为错误信息,否则没有这个字段 |
| data | obj | 协议内容,下文一一列举(如果协议体为空,则没有这个字段,以便减小协议大小) |

### websocket协议

也采用json格式,只有心跳和推送类两种,客户端to服务器和服务器to客户端的协议格式一致:

| 字段 | 类型 | 备注 |
|------|-----|---------------------------------------|
| name | str | 功能名 |
| data | obj | 协议内容,下文一一列举(如果协议体为空,则没有这个字段,以便减小协议大小) |

示例:

```json
{
"name": "heart_sc",
"data": {
"now": 12345433342
}
}
```

## 全部协议

一一列举中。。。

0 comments on commit e26e0b3

Please sign in to comment.