这个牛逼了,基于 SpringBoot + Vue 实现的可视化拖拽编辑的大屏项目

今天给小伙伴们分享一个基于 SpringBoot + Vue 实现的可视化拖拽编辑的大屏项目-AJ-Report

简介

AJ-Report由 安吉加加 开源的一个BI平台,酷炫大屏展示,能随时随地掌控业务动态,让每个决策都有数据支撑。
    多数据源支持,内置mysql、elasticsearch、kudu驱动,支持自定义数据集省去数据接口开发,支持17种大屏组件,不会开发,照着设计稿也可以制作大屏。
    三步轻松完成大屏设计:配置数据源---->写SQL配置数据集---->拖拽配置大屏---->保存发布。欢迎体验。

在线体验

在线体验: 

https://report.anji-plus.com/index.html  

体验账号:guest 密码:guest

在线文档: 

https://report.anji-plus.com/report-doc/

在线提问: 

https://gitee.com/anji-plus/report/issues

发行版本:

https://gitee.com/anji-plus/report/releases

功能概述

  组件介绍

   大屏设计(AJ-Report)是一个可视化拖拽编辑的,直观,酷炫,具有科技感的图表工具全开源项目。内置的基础功能包括数据源,数据集,报表管理,项目部分截图如下。
在线案例还在努力创造中,敬请期待!!! 

图片

数据流程图

图片

打包目录build

├── bin                                           启动命令脚本
│   ├── restart.sh
│   ├── start.bat
│   ├── start.sh
│   └── stop.sh
├── conf                                       配置文件目录
│   └── bootstrap-dev.yml
├── logs                                          启动日志目录
├── cache                                         本地缓存目录
├── lib                                           自定义扩展包&report-core核心包

系统目录

├── doc                                           文档源码
│   ├── docs
│   ├── package.json
│   └── README.md
├── pom.xml                                       父pom,jar版本管理
├── report-core                                   java源码
│   ├── pom.xml                                   gaea父pom,jar版本管理
│   └── README.md
├── report-ui                                     前端vue源码
├── LICENSE
├── README.md

核心技术

依赖

  • [Mysql] 5.7+

  • [Jdk] 1.8+

后端

  • Spring Boot2.3.5.RELEASE: Spring Boot是一款开箱即用框架,让我们的Spring应用变的更轻量化、更快的入门。在主程序执行main函数就可以运行。你也可以打包你的应用为jar并通过使用java -jar来运行你的Web应用;

  • Mybatis-plus3.3.2: MyBatis-plus(简称 MP)是一个 MyBatis (opens new window) 的增强工具。

  • flyway5.2.1: 主要用于在你的应用版本不断升级的同时,升级你的数据库结构和里面的数据

前端

  • npm:node.js的包管理工具,用于统一管理我们前端项目中需要用到的包、插件、工具、命令等,便于开发和维护。

  • webpack:用于现代 JavaScript 应用程序的_静态模块打包工具

  • ES6:Javascript的新版本,ECMAScript6的简称。利用ES6我们可以简化我们的JS代码,同时利用其提供的强大功能来快速实现JS逻辑。

  • vue-cli:Vue的脚手架工具,用于自动生成Vue项目的目录及文件。

  • vue-router:Vue提供的前端路由工具,利用其我们实现页面的路由控制,局部刷新及按需加载,构建单页应用,实现前后端分离。

  • element-ui:基于MVVM框架Vue开源出来的一套前端ui组件。

  • avue: 用该组件包裹后可以变成拖拽组件,采用相对于父类绝对定位;用键盘的上下左右也可以控制移动

  • vue-echarts: vue-echarts是封装后的vue插件,基于 ECharts v4.0.1+ 开发

  • vue-superslide: Vue-SuperSlide(Github) 是 SuperSlide 的 Vue 封装版本

  • vuedraggable: 是一款基于Sortable.js实现的vue拖拽插件。

编译打包

在Linux上先准备好maven、node.js、jdk

  • [Apache Maven] 3.5 +

  • [Node.js] v14.16.0+

  • [Jdk] 1.8+

git clone https://gitee.com/anji-plus/report.git
cd report
sh build.sh
编译完成放在build文件夹 report-core-xxxx.zip

unzip report-core-xxxx.zip
cd report-core-xxxx
vim conf/bootstrap-dev.yml 数据库连接
sh bin/start.sh Linux启动
bin/start.bat Windows修改第4行的JAVA_HOME后,双击启动


启动后访问
http://serverip:9095

近期计划

  • 完善地图插件

  • 完善表格插件

  • 丰富自定义框图、挂件

  • 丰富更多图表组件

  • 基础图表增加

  • 现有图表功能修复/增加

截图

图片

图片

图片

图片

图片

图片

加锋哥微信: java3459  

围观锋哥朋友圈,每天推送Java干货!

Spring Boot和Vue.js是一对很好的组合,可以实现大屏可视化的需求。下面是一个简单的示例,展示如何使用Spring Boot和Vue.js来实现大屏可视化。 首先,你可以使用Spring Boot来构建后端的API接口。你可以创建一个Controller类,定义一些请求映射的方法,用于提供数据给前端。 ```java @RestController @RequestMapping("/api") public class DataController { @GetMapping("/data") public List<Data> getData() { // 查询数据并返回 List<Data> dataList = new ArrayList<>(); // 数据处理逻辑... return dataList; } } ``` 接下来,你可以使用Vue.js来构建前端界面。你可以创建一个Vue组件,通过ajax请求后端API获取数据,并使用图表库(例如ECharts、Highcharts等)来展示可视化数据。 ```vue <template> <div> <h1>大屏可视化</h1> <div id="chart"></div> </div> </template> <script> import axios from 'axios'; import echarts from 'echarts'; export default { mounted() { this.fetchData(); }, methods: { fetchData() { axios.get('/api/data') .then(response => { const data = response.data; this.renderChart(data); }) .catch(error => { console.error(error); }); }, renderChart(data) { const chart = echarts.init(document.getElementById('chart')); // 根据数据绘制图表 // ... } } } </script> ``` 以上是一个简单的示例,通过Spring Boot提供数据接口,Vue.js获取数据并展示可视化图表。你可以根据具体需求进行扩展和优化。希望对你有所帮助!
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值