Todo: 集成多平台 解决PDD打包后js文件位置检索问题

Todo: 集成多平台 解决打包日志规划问题
Todo: 集成多平台 解决后端连接心跳与重连管理问题
This commit is contained in:
2025-09-20 16:13:23 +08:00
parent 7cfc0c22b7
commit 8ad02b4416
6 changed files with 447 additions and 64 deletions

View File

@@ -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 下发策略
- 抖音、拼多多:直接使用后台请求携带的 cookiepass-through
- 京东、淘宝由后端插件生成或获取plugin后台在店铺登录时通过本 WS 下发店铺级 `connect_success`(带 `store_id`)给 GUI。