Todo: 集成多平台 解决PDD打包后js文件位置检索问题
Todo: 集成多平台 解决打包日志规划问题 Todo: 集成多平台 解决后端连接心跳与重连管理问题
This commit is contained in:
55
README.md
55
README.md
@@ -208,9 +208,62 @@ ws://<host>/ws/gui/<exe_token>/
|
||||
{ "type": "pong", "uuid": "connection_test_123" }
|
||||
```
|
||||
|
||||
### 5.8 GUI重连状态上报
|
||||
```json
|
||||
{
|
||||
"type": "connect_message",
|
||||
"store_id": "93a5c3d2-efe1-4ab5-ada3-d8c1d1212b31",
|
||||
"status": true,
|
||||
"content": "GUI重连成功,京东平台状态正常"
|
||||
}
|
||||
```
|
||||
说明:GUI重连成功后,会自动为每个活跃平台发送状态上报消息。
|
||||
|
||||
---
|
||||
|
||||
## 6. Cookie 下发策略
|
||||
## 6. GUI重连机制
|
||||
|
||||
### 6.1 重连触发条件
|
||||
- WebSocket连接关闭(如ping timeout)
|
||||
- 网络连接异常
|
||||
- 服务器重启或维护
|
||||
- 消息发送失败
|
||||
|
||||
### 6.2 重连策略
|
||||
- **最大重连次数**:10次
|
||||
- **退避策略**:指数退避(2秒 → 3秒 → 4.5秒 → ... → 最大60秒)
|
||||
- **心跳配置**:可在config.py中配置
|
||||
- `WS_ENABLE_PING = True`:是否启用心跳(默认启用)
|
||||
- `WS_PING_INTERVAL = 30`:心跳间隔30秒
|
||||
- `WS_PING_TIMEOUT = 15`:心跳超时15秒
|
||||
|
||||
### 6.3 心跳机制说明
|
||||
**WebSocket ping/pong帧 vs JSON ping消息**:
|
||||
- **WebSocket ping帧**:协议层面的心跳,由websockets库自动处理
|
||||
- **JSON ping消息**:应用层面的心跳,格式:`{"type":"ping","uuid":"ping_123"}`
|
||||
|
||||
**配置建议**:
|
||||
- **生产环境**:建议启用心跳(默认配置)
|
||||
- **测试环境**:可设置`WS_ENABLE_PING = False`对比测试稳定性
|
||||
|
||||
### 6.4 重连过程中的消息处理
|
||||
1. **重连期间**:新消息发送会抛出异常,提示"正在重连中..."
|
||||
2. **重连成功**:自动上报各平台连接状态
|
||||
3. **重连失败**:达到最大次数后停止重连,需要手动重启GUI
|
||||
|
||||
### 6.5 重连日志示例
|
||||
```
|
||||
[重连] 检测到ping超时,这是常见的网络问题
|
||||
[重连] 第1次重连尝试,等待2.0秒...
|
||||
正在连接后端WebSocket: wss://shuidrop.com/ws/gui/your_token/
|
||||
[重连] 后端WebSocket重连成功!(第1次尝试)
|
||||
[重连] 已上报京东平台状态
|
||||
[重连] 已上报抖音平台状态
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 7. Cookie 下发策略
|
||||
|
||||
- 抖音、拼多多:直接使用后台请求携带的 cookie(pass-through)。
|
||||
- 京东、淘宝:由后端插件生成或获取(plugin),后台在店铺登录时通过本 WS 下发店铺级 `connect_success`(带 `store_id`)给 GUI。
|
||||
|
||||
Reference in New Issue
Block a user