TpriDatavue 软件架构与功能文档

TpriDatavue 软件架构与功能文档

一、软件架构概述

TpriDatavue 是一款功能丰富的数据可视化软件,其架构围绕界面设计、资产管理、插件管理、数据流程、菜单管理和场景预览等核心模块构建,各模块相互协作,为用户提供全面的数据可视化解决方案。

二、核心功能模块

(一)界面设计

界面设计是 TpriDatavue 的基础,用于搭建场景界面,每个界面可包含多个组件。界面可按组(group)和模板(template)进行保存,影响实际保存位置,且界面名称可使用"------"进行抽象分组。组件会根据场景内的单元格布局进行渲染,场景支持宽高自适应和固定布局两种形式,文字样式根据 CSS 设置,大屏需额外设置固定尺寸。组件中的数据{data}可触发内部生命周期,如数据更新、组件渲染和销毁等。

1. 图表组件

基于 Echarts 实现,支持折线图、柱状图、散点图、饼图、仪表盘、雷达图、水球图、箱型图、甘特图和自定义图表。自定义图表允许用户根据需求自定义样式和数据,且支持数据驱动更新。

2. 多媒体组件

支持图片、视频、音频、二维码、文本处理、办公文件预览、iframe,具备单个渲染、界面嵌套和循环渲染功能。

3. 文字组件
  • 文字标题:包含基本标题、复杂标题、滚动标题、数字时钟、进度、数字和复合标题组件。
  • 文字列表:有表格、词云、多指标轮播、多行文本、阵列渲染指标等组件。
4. 地图组件

基于 Cesium 和 Amap 提供三维地球、平面 GeoJSON、三维 GeoJSON、地图标注、地图交互等组件。地表图元需外网环境或内网配置,GeoJSON 来源于资产 - 地图中的 .json 文件。

5. 关系图组件

基于 relation - graph - vue2 实现,包括数据流向图、拓扑图、树形图和通用图谱。整体风格可通过组件 form 配置,节点可选择预设样式、嵌入其他界面或用 Vue2 代码自定义样式。可通过生命周期编辑脚本嵌入自定义代码,通过 .graphInstance 访问关系图实例。

6. 交互组件
  • 导航:有常规导航栏和车站导航栏,导航栏节点可嵌入场景。
  • 其他:包含页签、热区、触发器、WebSocket、右键菜单、文件上传。编辑态有红色区域提示,运行态不可见,以热区形式触发事件执行操作,可使用嵌入组件完成复杂任务。
7. 布局组件
  • 弹出:包括弹出框、提示框、抽屉,用于在指定区域弹出额外界面。
  • 布局:如左侧菜单、左右分隔、圣杯布局、折叠布局,可将场景镶嵌到指定位置完成快速布局。
8. 表单组件
  • 文本:有文本框、文本域、输入建议文本框、代码框。
  • 数字:包括数字框、范围选择器、滑动选择器、进度条、评分器。
  • 选择:涵盖单选框、复选框、下拉选择框、级联选择器、树选择器、日期选择器、时间选择器、日期时间选择器。
  • 数据:支持数据阵列渲染,包括列表、宫格、树,数据可嵌入组件。
9. 装饰组件
  • 动态背景:有各种动态 GIF 背景和基于 WebGL 的 shader 背景,如圆环背景、粒子、轨迹、动态文字等。
  • 形状:包括块、直线、弯曲、自定义线、自定义闭合图像、连接线、矩形、圆形、SVG、遮罩、毛玻璃、六边形、管道,管道支持动画自定义。
  • 标题:各种标题边框切图。
  • 组件:各种块状组件背景贴图。
  • KPI:各种指标装饰背景贴图。
  • 主体:各种主体组件背景贴图。
  • Logo:包括公司 logo、应用 logo 等。
  • 其他:一个模拟时钟。
10. 工具组件
  • 表单业务:可根据数据库、JSON 等数据来源快速创建表单,支持表单验证、提交、重置等功能,支持自定义逻辑,包括表单创建、验证、提交、重置和自定义逻辑。
  • 二次开发:基于 Vue2 语法,支持自定义组件、事件、方法、样式和逻辑,用于复杂页面、项目移植和兼容性处理。
  • 关系库业务:与表单类似,可根据数据来源快速创建关系库,支持验证、提交、重置等功能和自定义逻辑。
  • BI 业务:通过拖拉拽实现 BI 数据分析报表,支持多种图表类型。
  • 3D 标注工具:用于浏览和标注三维模型,标注与 mesh 关联,可实现数据看板效果,支持自定义模型、标注、场景风格、地形、天空球和交互事件。
  • 数据表格业务:基于数据库、JSON 生成表格,支持查看、编辑、导出等功能和开发者自定义交互,包括 CURD、数据更新、分页、弹窗等。
  • 报表工具:类似 Excel 的在线报表,可将数据和组件挂载到单元格,支持单元格与整体样式调整、批量操作、编辑态预览。
  • 三维场景:升级版 3D 标注工具,以组件形式嵌入各种组件,数据驱动和渲染风格切换功能强大,添加了材质系统,支持自定义动画帧和生命周期函数,有全面的编辑 UI 和统一渲染管线,可自定义画质、渲染效果和交互事件。

(二)资产管理

对模型资产、贴图资产、视频资产、文档资产、GeoJSON 资产等较大文件、需要缓存的文件和静态资源进行预览管理,支持 CURD 操作和拖拽添加。

(三)插件管理

将复用率高的功能块固定为插件,基于 Vue2 语法,将页面和逻辑保存在服务器。

  • 页面插件:在界面编辑中直接拖拉拽使用。
  • 编程插件:在各种二开场景中以标签形式引入使用。

(四)数据流程

工作流组件用于在场景中创建、管理、执行工作流,支持多级分组。业务流组件涵盖变量声明、管理缓存、数据处理、数据库操作、请求、条件判断、循环、分支、调试、日志、LLM、文件生成、修改等功能。准备好的工作流可挂在到页面使用、在服务端定时执行或开放为 API。

(五)菜单管理

创建不同角色,每个角色对应一个树形的多层彩带,每个节点可设置权限,关联场景组(group) - 场景模板(template)或 URL,用户可切换不同菜单。

(六)Playground

用于查看现有场景,模拟生产环境,方便用户预览和测试。

三、各模块关联

界面设计模块是软件的核心,提供丰富的组件用于构建场景界面。资产管理模块为界面设计提供所需的各类资产支持。插件管理模块通过提供页面插件和编程插件,增强了软件的复用性和扩展性。数据流程模块为场景中的数据处理和业务逻辑提供支持。菜单管理模块用于控制不同用户角色的访问权限和界面导航。Playground 模块则用于对设计好的场景进行预览和模拟生产环境测试,确保最终效果符合预期。各模块相互配合,形成一个完整的数据可视化解决方案。

相关推荐
数据皮皮侠7 小时前
区县政府税务数据分析能力建设DID(2007-2025)
大数据·数据库·人工智能·信息可视化·微信开放平台
IT北辰15 小时前
Python实现居民供暖中暖气能耗数据可视化分析(文中含源码)
开发语言·python·信息可视化
广西千灵通网络科技有限公司15 小时前
电影数据可视化分析系统的设计与实现
信息可视化
朗迪锋17 小时前
【成功案例】朗迪锋助力高校实验室数智化升级
信息可视化
Highcharts.js17 小时前
在Python中配置高度交互的数据可视化:Highcharts完全指南
开发语言·python·信息可视化·highcharts
踏踏实实做人,勤勤恳恳做事17 小时前
长沙理工《人工智能基础A》实验(上机)报告实验三 电商数据可视化/图像处理
信息可视化·大作业
韩立学长20 小时前
【开题答辩实录分享】以《证劵数据可视化分析项目设计与实现》为例进行答辩实录分享
python·信息可视化·vue
qiao若huan喜1 天前
9、webgl 基本概念 + 复合变换 + 平面内容复习
前端·javascript·信息可视化·webgl
权泽谦1 天前
R Shiny 交互式网页实战:从零到上线可视化应用
开发语言·信息可视化·r语言