| readme.md | ||
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. 最近使用:按时间排序用户最近访问或编辑的项目,支持快速跳转。
……待补充(优先级低,预留前端开发入口)

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 接口,简化前端逻辑。 |
✅ |
| 具体的五月中旬过后在写 |