技术架构详解
Ricon组态系统采用现代化的Web技术架构,具有高性能、高可用、易扩展的特点。
🏗️ 架构设计
整体架构
┌─────────────────────────────────────────────────────────────┐ │ 展示层 (Presentation) │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ Editor │ │ Preview │ │ View │ │ Client │ │ │ └────┬─────┘ └────┬─────┘ └────┬─────┘ └────┬─────┘ │ └───────┼────────────┼────────────┼────────────┼─────────────┘ │ │ │ │ ┌───────▼────────────▼────────────▼────────────▼─────────────┐ │ 应用层 (Application) │ │ ┌─────────────────────────────────────────────────────┐ │ │ │ ModuleManager │ StageOperation │ StageView │ │ │ │ ConfigCenter │ InitManager │ CoreInit │ │ │ └─────────────────────────────────────────────────────┘ │ └─────────────────────────────────────────────────────────────┘ │ │ │ │ ┌───────▼────────────▼────────────▼────────────▼─────────────┐ │ 通信层 (Communication) │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │WebSocket │ │ MQTT │ │ HTTP │ │ REST │ │ │ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │ └─────────────────────────────────────────────────────────────┘ │ ┌───────▼─────────────────────────────────────────────────────┐ │ 数据层 (Data) │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ 场景数据 │ │ 设备数据 │ │ 历史数据 │ │ │ └─────────────┘ └─────────────┘ └─────────────┘ │ └─────────────────────────────────────────────────────────────┘
🚀 核心模块
1. 模块管理器 (ModuleManager)
2. 场景操作核心 (StageOperation)
- 组件创建和销毁
- 图层管理
- 撤销/恢复系统
- 场景导入/导出
3. 场景视图渲染 (StageView)
- Konva画布渲染
- 组件属性更新
- 动画效果处理
- 数据绑定更新
4. 配置中心 (ConfigCenter)
5. 初始化管理器 (InitManager)
🔧 技术栈
核心框架
| 技术 | 版本 | 用途 |
|---|
| Konva.js | 5.x | 2D画布渲染引擎 |
| Layui | 2.x | 前端UI框架 |
| jQuery | 3.x | DOM操作 |
| ECharts | 5.3.2 | 数据可视化 |
第三方库
| 库 | 用途 |
|---|
| zTree v3 | 树形控件 |
| art-template | 模板引擎 |
| CodeMirror 5 | 代码编辑器 |
| Font Awesome 4.7 | 图标库 |
| Video.js | 视频播放器 |
⚡ 性能优化
渲染优化
- Canvas 2D渲染- 使用Konva.js实现高性能画布
- 图层分组- 减少重绘区域
- 脏区域更新- 只更新变化的区域
- requestAnimationFrame- 优化动画性能
资源优化
- 动态模块加载- 按需加载组件模块
- 异步资源加载- 优化首屏加载速度
- 图片缓存- 复用图片资源
- 懒加载- 延迟加载非关键资源
内存管理
- 资源跟踪- 监控组件创建和销毁
- 事件清理- 及时移除事件监听器
- 引用管理- 避免内存泄漏
- 垃圾回收- 主动清理无用对象
🔒 安全防护
XSS防护
- 输入验证和清理
- HTML转义处理
- 内容安全策略(CSP)
CSRF防护
数据安全
📡 API接口设计
接口规范
- RESTful风格设计
- JSON数据格式
- 统一错误码
- 标准响应格式
场景管理接口
| 接口 | 方法 | 说明 |
|---|
/api/saveStage | POST | 保存场景 |
/api/selectStageById | GET | 查询场景 |
/api/stageList | GET | 场景列表 |
/api/deleteStage | DELETE | 删除场景 |
数据交互接口
| 接口 | 方法 | 说明 |
|---|
/api/stageData | GET | 查询场景数据 |
/api/stageCommand | POST | 发送控制命令 |
/api/historyData | GET | 查询历史数据 |
WebSocket接口
- 连接地址:
ws://host:port/ws - 心跳间隔: 30秒
- 重连机制: 自动重连
📁 项目结构
ricon/ ├── editor.html # 编辑器入口 ├── preview.html # 预览页面 ├── view.html # 监控页面 ├── assets/ │ ├── css/ # 样式文件 │ ├── js/ # JavaScript │ │ ├── core/ # 核心模块 │ │ ├── modules/ # 业务模块 │ │ └── libs/ # 第三方库 │ ├── images/ # 图片资源 │ ├── json/ # 组件配置 │ └── template/ # 模板文件 ├── modules/ # 编辑模块 │ └── edit/ # 组件编辑 ├── pages/ # 页面组件 │ ├── config/ # 配置页面 │ ├── edit/ # 编辑页面 │ ├── select/ # 选择页面 │ ├── upload/ # 上传页面 │ └── view/ # 视图页面 └── config/ # 系统配置 ├── echart/ # 图表配置 ├── examples/ # 示例场景 ├── init.json # 初始化配置 └── apiClient.js # API客户端
🎯 部署方案
前端部署
server { listen 80; server_name your-domain.com; root /var/www/html/ricon; index editor.html; location / { try_files $uri $uri/ /editor.html; } # 跨域支持 add_header Access-Control-Allow-Origin *; add_header Access-Control-Allow-Methods "GET, POST, OPTIONS"; add_header Access-Control-Allow-Headers "DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,Authorization"; }
系统配置
varinitjson={serviceIpPort:'http://api.ricon.cloud:8080',wsUrl:'ws://api.ricon.cloud:8080/ws',mqttUrl:'ws://mqtt.ricon.cloud:9001',};
📊 性能指标
| 指标 | 目标值 | 实际值 |
|---|
| 首屏加载时间 | < 3s | ~2.5s |
| WebSocket延迟 | < 100ms | ~50ms |
| 组件渲染帧率 | 60fps | 60fps |
| 并发连接数 | 1000+ | 支持 |
| 内存占用 | < 500MB | ~300MB |
🏆 技术优势
对比传统组态软件
| 特性 | Ricon组态 | 传统组态 |
|---|
| 部署方式 | Web浏览器 | 客户端安装 |
| 跨平台 | 全平台支持 | 依赖特定系统 |
| 更新方式 | 自动更新 | 手动升级 |
| 维护成本 | 低 | 高 |
| 扩展性 | 强 | 有限 |
| 响应速度 | 毫秒级 | 秒级 |
核心竞争力
- 零客户端安装- 打开浏览器即可使用
- 实时数据更新- WebSocket毫秒级推送
- 丰富组件库- 50+工业组件
- 灵活配置- JSON声明式配置
- 高扩展性- 模块化架构设计
- 企业级安全- 多重安全防护
立即体验
👉演示地址: http://www.ricon.cloud:81
🌐官网地址: http://www.ricon.cloud