commit 939d2c1ca21165ea26b0c22cdf0b656100cc770b Author: xuyuejun Date: Fri Apr 25 19:44:40 2025 +0800 添加开发计划 diff --git a/BI工具开发计划.md b/BI工具开发计划.md new file mode 100644 index 0000000..66e89ec --- /dev/null +++ b/BI工具开发计划.md @@ -0,0 +1,93 @@ +# 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 接口,简化前端逻辑。 | ✅ | +具体的五月中旬过后在写 \ No newline at end of file