智慧智能监管中心 车辆监控中心
Go to file
bunny 50f6bed3d4 标签显示问题 2025-06-03 10:31:53 +08:00
build 右侧上部完成 2025-05-24 19:31:33 +08:00
docker 💚 📦 打包设置 2025-05-24 15:49:55 +08:00
images 📚 更新文档内容 2025-06-02 23:13:41 +08:00
mock 数据分析完成 2025-05-27 23:29:36 +08:00
public feat: 中间图表未完成 2025-05-12 19:19:32 +08:00
src 📚 更新文档内容 2025-06-02 23:13:41 +08:00
.dockerignore feat: 添加环境变量枚举 2025-02-24 22:45:14 +08:00
.env feat: 数据分析-基础骨架 2025-05-11 20:48:41 +08:00
.env.development feat: 数据分析-基础骨架 2025-05-11 20:48:41 +08:00
.env.production feat: 中间部分完成上和中 2025-03-15 16:38:44 +08:00
.gitignore 📦 打包设置 2025-05-24 15:44:38 +08:00
.gitlab-ci.yml 💚 📦 打包设置 2025-05-24 15:59:20 +08:00
.npmrc CI 测试 2025-05-24 15:05:28 +08:00
.prettierignore feat: 添加路由和仓库 2025-02-25 18:29:26 +08:00
.prettierrc.js refactor: 优化路由结构 2025-02-28 20:14:37 +08:00
.stylelintignore feat: 添加路由和仓库 2025-02-25 18:29:26 +08:00
LICENSE feat: 右边道路情况完成 2025-02-26 16:31:59 +08:00
README.md 标签显示问题 2025-06-03 10:31:53 +08:00
eslint.config.js fix: 报错和打包问题 2025-03-13 23:01:44 +08:00
index.html refactor: 优化路由结构 2025-02-28 20:14:37 +08:00
package.json 📚 更新文档内容 2025-06-02 23:13:41 +08:00
pnpm-lock.yaml 📦 打包设置 2025-05-24 15:44:38 +08:00
push.sh 大数据可视化 2025-05-15 23:10:31 +08:00
stylelint.config.js feat: 添加路由动画 2025-03-01 20:52:06 +08:00
tsconfig.json feat: smart-park接口模拟完成 2025-05-13 15:38:42 +08:00
uno.config.ts feat: 管理左侧完成部分 2025-03-02 22:46:59 +08:00
vite.config.ts fix: 报错和打包问题 2025-03-13 23:01:44 +08:00

README.md

Central-Monitor-Flex | 数据大屏解决方案

Vue3 ECharts Mock数据 轮询优化

企业级数据可视化大屏支持动态轮询、自动适配、高保真UI还原

🌟 核心功能

  • 5大动态页面:停车场、数据分析、大数据、社区、经营监管
  • 登录页UI无登录逻辑/login
  • 智能屏幕适配
    • 支持 postcss-px-to-viewport精准vw单位
    • 支持 autofit(百分比缩放,兼容不同分辨率)
  • 高性能轮询
    • 全接口Mockvite-plugin-fake-server
    • 1秒级数据刷新
  • 图表黑科技
    • 饼图自动轮播高亮无感hover效果
    • ECharts动态渲染优化

📌 大屏项目核心功能总结

5大页面Vue3 + ECharts + 轮询Mock数据

  • 登录页无逻辑纯UI
  • 主页(导航跳转:停车场、数据分析、大数据、社区、经营监管)
  • 停车场(动态数据刷新)
  • 数据分析(饼图轮播 + 自动高亮)
  • 大数据(动态图表)
  • 社区(动态数据)
  • 经营监管(静态页面)

关键技术点

  • 屏幕适配:支持 postcss-px-to-viewport-8-pluginvw方案autofit(百分比缩放)
  • 数据Mockvite-plugin-fake-server 模拟动态接口GET请求1秒刷新
  • 图表交互
    • 饼图自动轮播高亮(dispatchAction 控制 highlight/downplay
    • 所有图表(除经营监管)支持实时刷新

🛠️ 技术栈

领域 技术选型
前端 Vue3 + Pinia + ECharts + Web Workers数据压缩
后端模拟 vite-plugin-fake-server零成本Mock
工程化 Vite + GitLab CI/CDDocker镜像自动构建
适配方案 postcss-px-to-viewport-8-plugin / autofit.js双模式可切换

🎬 智能路由动画系统

特性

  • 开箱即用:全局默认淡入淡出动画(animate.css驱动)
  • 灵活覆盖:支持页面级定制动画效果(如弹跳、缩放等)
  • 零性能损耗animate__faster模式+mode="out-in"防止渲染冲突

精细化路由动画控制

  • 默认全局动画:fadeInLeft/fadeOutLeft(平滑渐进)
  • 支持页面级定制:通过route.meta.transition覆盖默认效果(如案例中的bounceInUp
  • 性能优化:animate__faster强制开启硬件加速,避免页面切换卡顿

开发者友好设计

// 任意路由快速配置动画  
meta: {
  transition: {
    enter: 'animate__zoomIn',  // 进入动画  
    leave: 'animate__zoomOut' // 离开动画  
  }
}

如何使用?

  1. 全局默认动画:无需配置,自动生效
  2. 自定义动画:在路由中定义meta.transition
{
  path: '/your-route',
  meta: {
    transition: {
      enter: 'animate__zoomIn',  // 进入效果  
      leave: 'animate__zoomOut' // 离开效果  
    }
  }
}

动画库扩展:直接使用animate.css官方类名

📸 效果预览

主页 数据分析
image-20250602221902683 QQ202562-22205

image-20250602224251164

image-20250602224239370

image-20250602224218621

image-20250602224204600

🚀 快速启动

# 开发模式autofit适配  
npm run dev  

# 生产构建vw适配  
VITE_POST_CSS_PX_TO_VIEWPORT8_PLUGIN=true npm run build  

🤔 技术决策

为什么选择轮询而非WebSocket

  • 业务适配数据更新频率为1秒/次,轮询足够且更稳定
  • 企业兼容性部分内网禁用WebSocket轮询通用性更强
  • 扩展性代码预留WebSocket升级接口/src/libs/ws.ts

📈 性能优化

  • 轮询防抖:避免频繁请求导致内存泄漏
  • ECharts实例池复用图表DOM节点