# BI工具开发计划 ## 短期目标 - 5月中旬完成自定义图表创建,大概完成自适应布局创建功能,可供用户演示 ## 核心开发任务 数据准备 -> 图表管理 -> 自适应布局场景 开发串成一条线,挑重点的功能去做,5月中旬可给用户演示 ## 项目架构 | 一级导航 | 二级导航 | 功能页面 | 解释 | |---------------------|-----------------|-----------------|-----| | **工作空间(workspace)** | - | - | | | **场景管理(scene)** | 自由布局场景(fixed) | 新增/编辑页面(editor) | | | | | 场景列表(list) | | | | | 发布预览页面(preview) | | | | | 场景源代码编辑(source) | | | | 自适应布局场景(auto)⭐️ | 新增/编辑页面(editor) | | | | | 场景列表(list) | | | | | 发布预览页面(preview) | | | | | 场景源代码编辑(source) | | | | 定制开发场景(custom) | 场景列表(list) | | | | | 场景发布浏览(preview) | | | ⭐️**图表管理(chart)** | - | 新增/编辑图表(editor) | | | | | 图表列表(list) | | | | | 图表发布预览(preivew) | | | ⭐️**数据定义(data)** | 数据集(dataset) | | | | | 数据源(datasource) | | | | **设置(setting)** | - | 系统设置(system) | | ## 开发时间计划 注:前面标⭐️的是高优先级 ### 1. 基础搭建全局功能 | 功能模块 | 前端 | 后端 | 备注 | 完成 | |-----------|-----|-----|-------------------------------------------|-----| | ⭐️前、后端仓库构建 | 2 | 2 | 确定好研发技术路线以及常用的modules库、后端依赖、中间件,出架构设计图 | ✅ | | 登录模块 | 4 | 4 | 登录前端页开发,调研支持ldap协议登录,支持管理员账户新建或者删除用户 | | | 权限管理模块 | 4 | 2 | 系统管理员支持新建多个角色,每个角色都可以定义一组权限码,根据不同级别权限隐藏操作 | | | 文件存储管理系统 | 3 | 5 | 支持对图片增删改预览使用
背景图片等可以快速选择已经上传的图片 | | ### 2. 工作空间 **工作空间(Workspace)** ,用于集中展示和管理分析资源。主要功能包括: **1. 场景统计**:显示当前空间下的仪表板、报表等场景数量(如“5个大屏/10个报表”)。 **2. 图表资产**:汇总使用的可视化图表类型及数量(如柱状图x3、地图x1)。 **3. 最近使用**:按时间排序用户最近访问或编辑的项目,支持快速跳转。 ……待补充(优先级低,预留前端开发入口) ![](BI%E5%B7%A5%E5%85%B7%E5%BC%80%E5%8F%91%E8%AE%A1%E5%88%92/image.png) ### 3. 场景定义模块 go-view本身支持自定义布局,补充开发并优化自适应布局,自适应布局优先,两者共存 **自适应布局:**适合快速搭建场景,配置简单,在不同分辨率下都有良好的展示效果 **自由布局:**适合固定分辨率大屏展示,可以实现复杂的展示场景,但配置方法较为复杂 #### 3.1 自由场景和自适应场景共通模块 | 功能模块 | 前端 | 后端 | 备注 | 完成 | |----------|-----|-----|--------------------------------------------------------------|-----| | 增加全局变量功能 | 4 | 2 | 全局变量(Global Variables)是可在整个仪表板中共享的参数,用于统一控制多个组件的筛选条件(如时间范围、输入搜索、下拉搜索框),实现动态数据控制,提升仪表板的交互性和复用性。 | | #### 3.2 自由布局场景 优先级低 | 功能模块 | 前端 | 后端 | 备注 | 完成 | |--------------|-----|-----|---------------------------------------------------------|-----| | ⭐️布局调整 | 1 | 0 | | | | 可以动态引入已创建的图表 | 10 | 3 | 通过链接形式可以引入已经创建好的图表,图表修改自由布局大屏里的图表也相应发生改变,需要大规模改造代码,优先级低 | | ⚠️ 注:自由布局目前先不做过多的修改,常总说90%需求会用自适应布局场景实现。 #### 3.3 自适应布局场景⭐️ | 功能模块 | 前端 | 后端 | 备注 | 完成 | |------------|-----|-----|--------------------------------------------------------------|-----| | ⭐️布局方案 | 4 | 2 | 参考DataEase和Datart,使用vue-grid-layout来完成图表的自定义布局,发布后的大屏通常支持响应式适配,自动适应不同屏幕尺寸(PC/大屏设备) | | | ⭐️存储格式 | 2 | 2 | 规范化布局存储格式,支持两种布局场景,支持拓展设置字段 | | | ⭐️全局变量和查询组件 | 1 | 3 | 支持时间筛选等功能,同3.1 | | | ⭐️自适应布局配置 | | | 配置选项包括
仪表盘风格
- 浅色主题
- 深色主题
整体配置
- 组件间隙:有间隙 无间隙
- 间隙大小:小、中、大、自定义
图标样式
图表配色
高级样式设计
….等 | | | ⭐️支持复用功能 | 4 | 3 | 支持复用已经创建好的图表,可以编辑图标的样式和摆放位置 | | | ⭐️基础事件配置 | 3 | 2 | 支持自定义图表的基础事件,如单击事件,跳转页面出现模态框等功能 | | | ⭐️场景发布功能 | 2 | 2 | **在线发布:**生成可分享的URL链接(支持公开或权限控制)。
**更新同步:**修改大屏后,可一键重新发布,覆盖旧版本。 | | | ⭐️场景列表 | 1 | 2 | 管理已经创建好的场景列表 | | | 场景列表补充开发 | 2 | 3 | 场景支持分组、打标签等详细功能 | | | 数据钻取功能 | 5 | 5 | 优先级较低,先预留出可以钻取的入口,支持纯手写js实现钻取功能,后期在此基础上做成可视化 | | #### 3.4 定制化开发场景 留个接口,可以开发前端页面 | 功能模块 | 前端 | 后端 | 备注 | 完成 | |-----------|-----|-----|----------------|-----| | 定制化开发页面显示 | 1 | 1 | 显示前端开发定制化的场景 | | | 场景管理模块 | 1 | 1 | 显示前端开发定制化的场景列表 | | ### 4. 图表管理 | 功能模块 | 前端 | 后端 | 备注 | 完成 | |----------|-----|-----|--------------------------------------------------|-----| | ⭐️图表管理页面 | 4 | 2 | 创建图表,移植goview图表功能, | | | ⭐️单个图表详细配 | 1 | 1 | 参照其他开源的BI组件完善每一个图表块的配置定义,如标题字体颜色,背景颜色,边距,自适应布局改造 | | | 预留其他组件 | 2 | 1 | 简化引入其他组件的方式,支持后期根据用户需求方便的快速开发echarts、cesium等组件 | | | 预留筛选功能 | 2 | 2 | 图表支持引入后接入全局变量,完成联动、时间筛选等功能 | | | ⭐️图表发布功能 | 1 | 1 | 自适应场景发布功能开发完毕可以直接复用 | | | ⭐️图表列表 | 1 | 1 | 管理已经创建好的图表列表 | | | 图表列表补充开发 | 1 | 2 | 与场景类似,可以复用减轻开发量 | | ### 5. 数据定义 前期工作,贾总建议尽可能简化数据引入方式,先串流程 | 功能模块 | 前端 | 后端 | 备注 | 完成 | |-----------|-----|-----|--------------------------------------------------------------|-----| | ⭐️数据源 | 2 | 3 | 将goview数据请求模块拿出来作为一个单独的组件,先实现其效果,支持静态数据、url接口和SQL请求 | | | ⭐️JS过滤器 | 3 | 2 | 拿出goview功能里面的过滤器功能,过滤器默认处理接口返回值的「data」字段 | | | ⭐️后端代理前端请求 | 0 | 3 | 后端作为中间层,可以绕过浏览器的跨域限制。
后端可对原始数据进行预处理(如聚合、分页、缓存),减少网络传输量和前端计算压力。
后端封装不同数据源的访问细节,为前端提供统一的 RESTful API 或 GraphQL 接口,简化前端逻辑。 | ✅ | 具体的五月中旬过后在写