# Device-Shadow **Repository Path**: windRainCode/device-shadow ## Basic Information - **Project Name**: Device-Shadow - **Description**: iot模拟器 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-13 - **Last Updated**: 2026-03-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # IoT 调试工具 基于 **Electron + Vue 3 + TypeScript** 的 IoT 设备协议调试工具,用于模拟 IoT 客户端与服务端的 TCP 长连接通信。完全兼容原 Java 客户端(`gz-postcard-client`)自定义协议。 ## 技术栈 | 技术 | 版本 | 说明 | |------|------|------| | Electron | 33.x | 桌面应用框架 | | Vue 3 | 3.5.x | 渲染进程 UI | | TypeScript | 5.7.x | 类型安全 | | Element Plus | 2.9.x | UI 组件库 | | Pinia | 2.3.x | 状态管理 | | electron-vite | 2.3.x | 构建工具 | ## 快速开始 ```bash # 安装依赖 npm install # 开发模式 npm run dev # 构建打包 npm run build # 运行打包后的应用 npm run start ``` > 环境要求:Node.js >= 18 ## 架构概览 ```mermaid graph TB subgraph Renderer["渲染进程 (Vue 3)"] UI["UI 组件"] --> Stores["Pinia Stores"] end subgraph Main["主进程 (Node.js)"] IPC["ipcHandlers"] --> TCP["TcpService"] IPC --> Config["ConfigStore"] end Stores -->|"IPC"| IPC IPC -.->|"事件推送"| Stores TCP -->|"编解码 / 心跳 / 重连 / 责任链"| Server["IoT TCP 服务端"] ``` ## 功能一览 | 模块 | 说明 | |------|------| | **连接配置** | 服务器地址、设备信息、心跳/重连参数,自动持久化 | | **运行状态** | 连接状态、设备就绪、心跳延迟、重连次数、运行时长 | | **通信日志** | 实时日志,支持级别过滤、搜索、导出 | | **收发消息** | 原始报文 + 解析视图,支持方向过滤、搜索、导出 | | **协议调试** | 快捷指令、自定义指令、原始报文发送、协议速查 | | **报文解析** | 粘贴报文结构化解析、自动识别方向、字段拆解、结构可视化 | ## 项目结构 ``` src/ ├── main/ # Electron 主进程 │ ├── index.ts # 应用入口 │ ├── handlers/ # 协议处理器 (责任链模式) │ ├── ipc/ # IPC 通信接口 │ ├── store/ # 配置持久化 │ └── tcp/ # TCP 服务、编解码、心跳、重连 ├── preload/ # contextBridge 安全桥接 └── renderer/ # Vue 渲染进程 ├── App.vue # 主布局 ├── components/ # 6 个功能面板 ├── stores/ # connection + messages ├── composables/ # IPC 封装 └── types/ # 类型定义 ``` ## 详细文档 | 文档 | 说明 | |------|------| | [架构设计](doc/ARCHITECTURE.md) | 系统分层、组件结构、数据流向 | | [通信协议](doc/PROTOCOL.md) | 报文格式、响应类型、指令码、IPC 接口 | | [处理流程](doc/FLOW.md) | 连接状态机、设备注册、责任链、心跳重连 |