develop/readme.md
2025-04-25 19:52:58 +08:00

93 lines
9.5 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 | 支持对图片增删改预览使用<br>背景图片等可以快速选择已经上传的图片 | |
### 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)<!-- {"width":648} -->
### 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 | |
| ⭐️自适应布局配置 | | | 配置选项包括<br>仪表盘风格<br>- 浅色主题<br>- 深色主题<br>整体配置<br>- 组件间隙:有间隙 无间隙<br>- 间隙大小:小、中、大、自定义<br>图标样式<br>图表配色<br>高级样式设计<br>….等 | |
| ⭐️支持复用功能 | 4 | 3 | 支持复用已经创建好的图表,可以编辑图标的样式和摆放位置 | |
| ⭐️基础事件配置 | 3 | 2 | 支持自定义图表的基础事件,如单击事件,跳转页面出现模态框等功能 | |
| ⭐️场景发布功能 | 2 | 2 | **在线发布:**生成可分享的URL链接支持公开或权限控制<br>**更新同步:**修改大屏后,可一键重新发布,覆盖旧版本。 | |
| ⭐️场景列表 | 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 | 后端作为中间层,可以绕过浏览器的跨域限制。<br>后端可对原始数据进行预处理(如聚合、分页、缓存),减少网络传输量和前端计算压力。<br>后端封装不同数据源的访问细节,为前端提供统一的 RESTful API 或 GraphQL 接口,简化前端逻辑。 | ✅ |
具体的五月中旬过后在写