Skip to content
This repository was archived by the owner on Aug 2, 2020. It is now read-only.

Commit 249c840

Browse files
committed
Update docs for v3.4
1 parent c552c2f commit 249c840

File tree

4 files changed

+33
-4
lines changed

4 files changed

+33
-4
lines changed

docs/3.4/CommunicationMethods.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,3 +71,31 @@ API 的调用方式和插件作为 WebSocket 服务端的 `/api/` 接口使用
7171
插件启动时会启动一个**保持连接**的客户端用于连接事件上报接口,即 `ws_reverse_event_url` 指定的接口,在后续接收到酷 Q 的事件时,会通过这个连接发送事件数据。发送事件数据格式和 HTTP POST 方式上报的完全一致,见 [上报数据格式](/Post#上报数据格式),事件列表见 [事件列表](/Post#事件列表)
7272

7373
与 HTTP 上报不同的是,这里上报不会对数据进行签名(即 HTTP 上报中的 `X-Signature` 请求头在这里没有等价的东西),并且也不会处理响应数据。
74+
75+
## WebSocket 的 API 调用响应顺序问题
76+
77+
由于 WebSocket 的通信不像 HTTP 那样是固定的一来一回,而是一直保持连接,大多 WebSocket 框架都采用事件驱动的方式来提供接口。这就导致,在通过 WebSocket 进行**连续** API 调用时,很多情况下无法确切地知道插件返回的响应是对应哪次调用。因此插件现加入了 echo 机制,允许用户在调用 API 时在调用数据(JSON 对象)中加入一个 `echo` 字段(数据类型任意),以标记此次调用,插件会在该调用的响应数据中将其原样返回。
78+
79+
### 调用示例
80+
81+
```json
82+
{
83+
"action": "send_private_msg",
84+
"params": {
85+
"user_id": 123456,
86+
"message": "你好"
87+
},
88+
"echo": 1648451782
89+
}
90+
```
91+
92+
### 响应示例
93+
94+
```json
95+
{
96+
"status": "ok",
97+
"retcode": 0,
98+
"data": null,
99+
"echo": 1648451782
100+
}
101+
```

docs/3.4/Configuration.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ secret=kP9yK2lrGxoymmpo
4444
| `ws_reverse_api_url` || 反向 WebSocket API 地址 |
4545
| `ws_reverse_event_url` || 反向 WebSocket 事件上报地址 |
4646
| `ws_reverse_reconnect_interval` | `3000` | 反向 WebSocket 客户端断线重连间隔,单位毫秒 |
47+
| `ws_reverse_reconnect_on_code_1000` | `no` | 是否在关闭状态码为 1000 的时候重连 |
4748
| `use_ws_reverse` | `no` | 是否使用反向 WebSocket 服务,即插件作为 WebSocket 客户端主动连接指定的 API 和事件上报地址,见 [通信方式的第三种](/CommunicationMethods#插件作为-websocket-客户端(反向-websocket)) |
4849
| `post_url` || 消息和事件的上报地址,通过 POST 方式请求,数据以 JSON 格式发送 |
4950
| `access_token` || API 访问 token,如果不为空,则会在接收到请求时验证 `Authorization` 请求头是否为 `Token xxxxxxxx``xxxxxxxx` 为 access token |

docs/3.4/WebSocketAPI.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ Authorization: Token kSLuTF2GC2Q4q4ugm3
2424

2525
或者在 URI 中指定,如 `/api/?access_token=kSLuTF2GC2Q4q4ugm3`
2626

27-
## `/api/`
27+
## `/api/` 接口
2828

2929
连接此接口后,向插件发送如下结构的 JSON 对象,即可调用相应的 API:
3030

@@ -45,7 +45,7 @@ Authorization: Token kSLuTF2GC2Q4q4ugm3
4545
```json
4646
{
4747
"status": "failed",
48-
"retcode": 1404
48+
"retcode": 1404,
4949
"data": null
5050
}
5151
```
@@ -63,7 +63,7 @@ Authorization: Token kSLuTF2GC2Q4q4ugm3
6363

6464
对于 `/api/` 接口,你可以保持连接,也可以每次请求是重新建立连接,区别不是很大。
6565

66-
## `/event/`
66+
## `/event/` 接口
6767

6868
连接此接口后,插件会在收到事件后推送至客户端,推送的格式和 HTTP POST 方式上报的完全一致,见 [上报数据格式](/Post#上报数据格式),事件列表见 [事件列表](/Post#事件列表)
6969

docs/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
</head>
99
<body>
1010
<script>
11-
window.location.replace('3.3/' + window.location.hash);
11+
window.location.replace('3.4/' + window.location.hash);
1212
</script>
1313
</body>
1414
</html>

0 commit comments

Comments
 (0)