Ricon组态组件生态 - 丰富的可视化组件库

组件系统概述

Ricon组态系统提供了丰富的组件库,涵盖工业可视化所需的各种组件类型,支持灵活的配置和扩展。

📦 组件分类

基础组件(Basic Components)
组件类型 说明 配置文件
文本组件 支持字体、颜色、大小配置 basic.json
按钮组件 支持点击事件、写值、跳转 basic.json
图片组件 支持静态图片、状态切换 basic.json
日期组件 当前日期时间显示 basic.json
天气组件 实时天气信息展示 basic.json
视频组件 视频播放、监控画面 basic.json
表格组件 数据表格展示 basic.json
iframe组件 嵌入网页、图表 basic.json
图表组件(Chart Components)

基于ECharts 5.3.2构建:

图表类型 说明 应用场景
折线图 数据趋势展示 温度、压力趋势
柱状图 数据对比分析 产量对比
饼图 占比关系展示 能源消耗占比
面积图 数据累积展示 流量累计
仪表盘 实时数值显示 转速、压力
雷达图 多维数据展示 设备状态评分
图元组件(Graphic Components)

工业电气图元库:

分类 说明 数量
电气图元 开关、接触器、继电器等 50+
设备图元 泵、风机、阀门等 30+
管道图元 管道、弯头、三通等 20+
仪表图元 压力表、温度计等 15+
动画组件(Animation Components)
组件类型 说明 配置参数
旋转组件 图片旋转动画 速度、方向
流动组件 流动条动画 速度、颜色
闪烁组件 闪烁提示效果 频率、颜色
脉冲组件 脉冲扩散效果 半径、速度

🎨 组件配置

组件JSON结构
json 复制代码
{
    "id": "text_001",
    "type": "text",
    "name": "文本组件",
    "icon": "text.svg",
    "category": "basic",
    "defaultConfig": {
        "x": 0,
        "y": 0,
        "width": 200,
        "height": 30,
        "text": "默认文本",
        "fontSize": 14,
        "color": "#333333",
        "bold": false
    },
    "properties": [
        {
            "name": "text",
            "label": "文本内容",
            "type": "input"
        },
        {
            "name": "fontSize",
            "label": "字体大小",
            "type": "slider",
            "min": 10,
            "max": 48
        },
        {
            "name": "color",
            "label": "文字颜色",
            "type": "color"
        }
    ]
}
数据绑定配置
json 复制代码
{
    "dataBind": {
        "enabled": true,
        "dataKey": "d1a001",
        "dataSource": "hardware",
        "scale": {
            "enabled": true,
            "inputMin": 0,
            "inputMax": 1000,
            "outputMin": 0,
            "outputMax": 100
        },
        "condition": {
            "enabled": true,
            "rules": [
                {
                    "operator": ">",
                    "value": 80,
                    "color": "#dc3545"
                },
                {
                    "operator": ">",
                    "value": 60,
                    "color": "#ffc107"
                }
            ]
        }
    }
}

🔧 组件开发

添加新组件步骤
复制代码
┌─────────────────────────────────────────────┐
│ 1. 创建编辑模块                            │
│    modules/edit/edit-xxx.html              │
│    modules/edit/editXxx.js                 │
├─────────────────────────────────────────────┤
│ 2. 注册组件                                │
│    assets/json/basic.json                  │
│    配置图标、默认属性、属性面板              │
├─────────────────────────────────────────────┤
│ 3. 实现渲染逻辑                            │
│    assets/js/core/stageOperation.js        │
│    assets/js/core/stageView.js             │
├─────────────────────────────────────────────┤
│ 4. 实现动画处理                            │
│    assets/js/core/moduleAnimation.js       │
├─────────────────────────────────────────────┤
│ 5. 实现数据更新                            │
│    assets/js/core/stageView.js             │
└─────────────────────────────────────────────┘
组件开发示例
javascript 复制代码
// 自定义组件创建逻辑
function createCustomComponent(config) {
    // 创建Konva节点
    const group = new Konva.Group({
        x: config.x,
        y: config.y,
        width: config.width,
        height: config.height
    });
    
    // 添加子元素
    const rect = new Konva.Rect({
        width: config.width,
        height: config.height,
        fill: config.fill,
        stroke: config.stroke,
        strokeWidth: 2
    });
    group.add(rect);
    
    // 添加文本
    const text = new Konva.Text({
        text: config.text,
        x: 10,
        y: 10,
        fontSize: config.fontSize,
        fill: config.color
    });
    group.add(text);
    
    return group;
}

🎯 组件最佳实践

性能优化建议
  1. 图层分组 - 将静态组件和动态组件分开管理
  2. 缓存复用 - 复用相同配置的组件实例
  3. 懒加载 - 按需加载非可见区域组件
  4. 事件节流 - 避免频繁的事件触发
组件复用技巧
  • 使用模板功能保存常用配置
  • 导出组件配置JSON复用
  • 使用复制粘贴快速创建相似组件
数据绑定最佳实践
  • 合理命名数据点(如:d1a001表示设备1的温度)
  • 配置数据缩放适应显示范围
  • 设置合理的更新频率

组件展示

基础组件展示

  • 文本组件:支持富文本配置
  • 按钮组件:支持多种交互事件
  • 图片组件:支持状态切换
  • 日期组件:自动更新时间

图表组件展示

  • 实时折线图:动态更新数据点
  • 仪表盘:实时数值显示
  • 饼图:数据占比分析

图元组件展示

  • 电气图元:标准工业符号
  • 设备图元:泵、风机等
  • 管道图元:连接管线

动画组件展示

  • 旋转动画:设备运转效果
  • 流动动画:物料流动效果
  • 闪烁动画:告警提示

立即体验

👉 演示地址 : http://www.ricon.cloud:81

🌐 官网地址 : http://www.ricon.cloud

相关推荐
拾年2752 分钟前
React Hooks 保姆级教程:把组件想象成失忆的打工人,4 个 Hook 带你原地起飞
前端·javascript·react.js
x²+(y-√³x²)²=13 分钟前
Linux打包文件到Windows,文件/文件类型丢失
linux·运维·windows
世人万千丶8 分钟前
去重插入与超限淘汰:ArkTS 实现鸿蒙搜索历史的 LIMIT 艺术
运维·服务器·学习·华为·harmonyos·鸿蒙
mmsx8 分钟前
一个 Bug 修了 12 轮,根因只有一句话:AI 编程时代,日志才是唯一的真相
前端
默_笙9 分钟前
😝 5 亿次循环卡死页面?我用 Web Worker 把它扔进后台线程,页面丝滑如初
前端·javascript
CAD老兵11 分钟前
一行代码集成 DWG/DXF 图纸查看:测量批注,数据不出站
前端·javascript·github
小林ixn12 分钟前
单例模式:从弹窗管理到全局状态,一个模式搞定
前端·javascript·设计模式
AI编程实验室13 分钟前
Node.js Agent Handoff 仓库扫描 MVP:忽略规则、include 通配与稳定输出实现
前端·ai编程
猫不易14 分钟前
从 Virtual DOM 到 Vapor:Vue 3.6 的另一条路
前端·vue.js
光影少年21 分钟前
react navite性能优化 & 常见坑
前端·react native·掘金·金石计划