# CSLAB-DCS-Web **DCS(分布式控制系统)跨平台可视化组态编辑器** 面向工业控制场景的画布组态设计、数据绑定、实时仿真与运行监控平台,支持 Web、Electron、Tauri 三端部署。 --- ## 目录 - [项目简介](#项目简介) - [技术栈](#技术栈) - [项目结构](#项目结构) - [环境要求](#环境要求) - [快速开始](#快速开始) - [开发命令](#开发命令) - [构建与部署](#构建与部署) - [核心架构](#核心架构) - [功能模块](#功能模块) - [数据模型](#数据模型) - [API 层](#api-层) - [测试](#测试) - [CI/CD](#cicd) --- ## 项目简介 CSLAB-DCS-Web 是一个 **工业分布式控制系统可视化组态编辑器**,采用 pnpm monorepo 架构。用户可在画布上拖放、编排工业控制组件(如 PID 控制器、阀门控制器、仪表等),配置数据绑定与表达式,并通过 WebSocket 实现运行时的实时数据推送和仿真监控。 ### 核心能力 - **画布组态设计**:基于可视化画布的工业控制界面设计,支持多图层、组件拖放、对齐辅助线、缩放漫游 - **丰富组件库**:矩形、文本、数字显示、柱状图、按钮、PID 控制器、阀门控制器、画布切换器等 - **数据绑定与表达式**:支持将组件属性绑定到运行时变量,内置表达式引擎(tokenizer → parser → evaluator) - **条件样式**:根据运行时条件动态切换组件样式 - **事件与动作**:组件支持 click/dblclick 事件触发,执行自定义动作 - **实时运行监控**:通过 WebSocket 连接运行时服务,RAF 帧批处理数据更新 - **仿真执行**:对接 chemical-chaos 微服务,支持任务创建、启停、暂停/恢复 - **导入导出**:画布/项目的导入导出,Zod schema 校验数据完整性 - **跨平台**:Web 浏览器 / Electron 桌面 / Tauri 轻量桌面三端统一 --- ## 技术栈 | 类别 | 技术 | |------|------| | **框架** | Vue 3 (Composition API + `