# icutool-esp-client **Repository Path**: plusboy/icutool-esp-client ## Basic Information - **Project Name**: icutool-esp-client - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-28 - **Last Updated**: 2026-05-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # icutool-esp-client `icutool-esp-client` 是一个运行在 Windows 上的桌面客户端。程序启动后会先检查本地 `token.json`,没有 token 时进入登录界面;有 token 时自动建立 WebSocket 长链,并按配置频率持续上报本机 CPU / 内存信息。 ## 当前逻辑 - 启动时检查本地 token - 无 token 时显示登录页,输入账号和密码调用登录接口 - 登录成功后保存 token,并连接 `wss://esp.icutool.cn/ws/pcTunnel?token=...` - 长链断开时每 5 秒自动重连 - 长链握手返回 `401` 时视为 token 失效,清除本地 token 并跳回登录页 - GUI 顶部绿色圆点表示长链已连接,红色圆点表示未连接 ## 登录接口 ```http POST https://esp.icutool.cn/api/v1/auth/login Content-Type: application/json ``` 请求体: ```json { "username": "admin", "password": "xtXT1234" } ``` ## 长链发送格式 ### CPU ```json { "type": "cpu", "data": { "percent": 61.2 } } ``` ### Memory ```json { "type": "mem", "data": { "percent": 68, "usedMb": 5432, "totalMb": 8192 } } ``` ## 配置文件 程序从 `config/config.ini` 读取配置,并将 token 保存到同目录的 `token.json`。 ```ini [auth] login_url=https://esp.icutool.cn/api/v1/auth/login validate_url=https://esp.icutool.cn/api/v1/auth/validate-token [websocket] url=wss://esp.icutool.cn/ws/pcTunnel reconnect_secs=5 [publish] cpu_secs=5 memory_secs=5 ``` ## 构建 ```powershell cargo build --release ```