Vue后台

datav-template-vue3 — Vue 后台模板

作者 woo-niu

基于 Vue 3、TypeScript 与 ECharts 的数据可视化大屏模板,提供自适应容器、通用面板与图表封装,以及模块化业务示例,便于按自身需求改造。

看看你的网站会是什么样

浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。

2 个预览视图
桌面端首页1 / 2
桌面端截图首屏预览

由服务器浏览器实际访问页面后截取。

全部页面与视图 2

截图用于了解视觉与布局,交互效果请以实际项目为准。

采集于 2026-10-15查看来源

值得关注的模板亮点

从已有项目资料中,快速了解它的特点。

01

ScreenContainer 以 1920 × 1080 为默认设计基准,通过 ResizeObserver 监听容器尺寸并取宽高缩放比较小值等比缩放,保持设计稿比例且自动居中

02

DataPanel 提供统一的面板外观与标题结构,ChartView 封装 ECharts 初始化、更新、尺寸响应与销毁逻辑

03

dashboard 目录按业务区域拆分组件,页面布局与业务数据解耦,可独立修改、删除或重新组合

04

包含城市运行核心态势、核心指标概览、事件趋势、区域运行指数、能耗监测、服务构成、实时告警等演示模块

05

使用 Vue 3 Composition API 与 TypeScript,ECharts 按需引入,并支持 prefers-reduced-motion

模板详细介绍

该项目是一个数据可视化大屏开发模板,使用 Vue 3、TypeScript、Vite 和 ECharts 构建,图标使用 Lucide Vue,依赖管理使用 pnpm。模板默认以 1920 × 1080 为设计基准,通过 ScreenContainer 组件统一处理大屏缩放:使用 ResizeObserver 监听容器尺寸,同时计算宽高缩放比并取较小值进行等比缩放,使内容保持设计稿比例并自动水平、垂直居中;设计尺寸可通过组件参数调整。示例页面按“基础容器—通用面板—图表组件—业务模块”分层拆分,DataPanel 提供统一面板外观与标题结构,ChartView 封装 ECharts 初始化、更新、尺寸响应与销毁逻辑,dashboard 目录按业务区域拆分组件,页面布局与业务数据解耦。模板包含城市运行核心态势、核心指标概览卡片、城市事件趋势分析、重点区域运行指数、重点能耗监测、城市服务构成、实时告警信息栏等演示模块,以及统一的暗色主题与微动效,并支持 prefers-reduced-motion。README 未提供性能、生产就绪程度或后端接口方面的说明;示例数据用于演示,需自行替换。

Vue后台

适合你的项目吗?

适用场景

  • 需要按固定设计稿比例适配不同分辨率屏幕的数据可视化大屏项目
  • 希望复用统一面板、图表封装和模块化业务组件来快速搭建业务原型
  • 以 Vue 3 与 TypeScript 技术栈开发大屏,并需要替换示例数据接入真实接口
  • 需要调整主题样式或设计稿尺寸以匹配自有视觉规范的大屏开发

适合人群

  • 具备 Vue 3 与 TypeScript 基础的前端开发者
  • 需要快速改造数据可视化大屏模板的团队
  • 希望按模块拆分图表与业务组件、便于后续维护的项目

上手与定制指南

结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。

  1. 1

    建议使用 Node.js 22 与 pnpm 10;依次执行 git clone、cd datav-template-vue3、pnpm install、pnpm dev,启动后访问 http://localhost:5173

  2. 2

    常用命令:pnpm dev 启动开发服务器,pnpm build 类型检查并构建生产版本,pnpm preview 本地预览生产构建,pnpm typecheck 执行 TypeScript 类型检查

  3. 3

    ScreenContainer 默认设计尺寸为 1920 × 1080,可通过 width、height 属性传入自定义设计稿尺寸

  4. 4

    二次开发时可在 src/App.vue 增删模块或调整布局,编辑 src/components/dashboard 下组件替换数据,调整主题修改 src/styles/main.css、面板样式及 chartTheme.ts

  5. 5

    部署到 GitHub Pages 时需同步调整 vite.config.ts 中的 base;项目依赖 ResizeObserver,请确保目标浏览器支持该 API

查看仓库使用说明

授权与来源资料

使用条件与限制

免费使用 · 保留许可声明

本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。

使用时需要遵守

  • 允许免费使用、修改、商用和分发该版本代码。
  • 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
  • 代码按现状提供;担保与责任限制以原许可证及适用法律为准。

额外费用与待核对事项

  • 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
  • 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
查看原文依据

DeepSeek 根据仓库许可证和 README 整理 ·2026-10-15。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。

项目核对记录与介绍依据

模板资料

来源平台
GitHub
资料与维护参考分
资料较完整 · 80 / 100
技术栈
Vue
网站类型
后台
这个分数如何计算

本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。

这个项目需要核对什么

记录的仓库更新时间
2026-09-02
截图检查日期
2026-10-15

已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。

目录记录的主要技术栈是 Vue。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。

查看具体选型方法 →

介绍的制作与核对状态

介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。

审核声明: codex-user-requested-batch-review-20261017 · 2026-10-16

查看当时使用的来源资料

SHA-256: 36c26f00027b06fb85211494bdcc814f85652bf5f50f5cdb65f9b66a74cdbe7f

2026-10-15T10:24:17.848Z

来源文件 / 仓库
# DataV Template Vue 3

一个基于 **Vue 3、TypeScript 与 ECharts** 构建的数据可视化大屏模板。项目提供自适应容器、通用图表封装和模块化页面示例,帮助开发者快速改造并生成符合自身需求的业务原型。

[![Vue](https://img.shields.io/badge/Vue-3.5-42b883?logo=vuedotjs&logoColor=white)](https://vuejs.org/)
[![TypeScript](https://img.shields.io/badge/TypeScript-6.0-3178c6?logo=typescript&logoColor=white)](https://www.typescriptlang.org/)
[![ECharts](https://img.shields.io/badge/ECharts-6.1-aa344d?logo=apacheecharts&logoColor=white)](https://echarts.apache.org/)
[![License](https://img.shields.io/badge/License-MIT-green.svg)](./LICENSE)

> [在线预览:woo-niu.github.io/datav-template-vue3](https://woo-niu.github.io/datav-template-vue3/)

<p align="center">
  <img src="./public/images/dashboard-preview.png" alt="智慧城市综合态势中心在线预览" width="960" />
</p>

## 项目介绍

> 本项目定位为**大屏开发模板**,重点提供自适应与模块化开发能力。页面中的城市运行数据和业务模块用于演示,可根据实际项目自由替换、增删与组合。

### 一套设计稿,自适应不同屏幕

项目默认以 **1920 × 1080** 为设计基准,通过 `ScreenContainer` 统一处理大屏缩放。当然,你也可以根据自己的设计稿传入自定义尺寸,详见[自适应容器用法](#自适应容器用法)。

- 使用 `ResizeObserver` 实时感知容器尺寸变化
- 同时计算宽度与高度缩放比,并取较小值进行等比缩放
- 始终保持设计稿比例,避免图表、文字和面板在不同分辨率下挤压变形
- 内容自动水平、垂直居中,剩余区域自然留白
- 支持浏览器窗口缩放、全屏切换及不同尺寸显示器
- 设计尺寸可通过组件参数调整,方便复用到其他大屏项目

```ts
const scale = Math.min(
  viewportWidth / designWidth,
  viewportHeight / designHeight,
);
```

这种方案保留了大屏设计稿的精确布局,无需为常见分辨率逐一编写媒体查询。

### 模块化开发,快速生成业务原型

示例页面按照“基础容器—通用面板—图表组件—业务模块”进行拆分。开发者可以保留整体视觉和自适应能力,仅替换所需模块的数据、图表配置与展示内容,快速搭建自己的业务原型。

- `ScreenContainer` 统一负责大屏自适应,无需业务模块重复处理缩放
- `DataPanel` 提供统一的面板外观与标题结构
- `ChartView` 封装 ECharts 初始化、更新、尺寸响应与销毁逻辑
- `dashboard` 目录按业务区域拆分组件,支持独立修改、删除或重新组合
- 页面布局与业务数据解耦,方便接入真实接口或状态管理方案

模板当前包含以下示例模块:

- 城市运行核心态势展示
- 核心指标概览卡片
- 城市事件趋势分析
- 重点区域运行指数
- 重点能耗监测
- 城市服务构成
- 实时告警信息栏
- 统一的科技感暗色主题与微动效

### 清晰、易扩展的工程结构

- 使用 Vue 3 Composition API 与 TypeScript
- ECharts 按需引入,统一封装图表生命周期与尺寸响应
- 自适应容器、通用面板、图表和业务模块分层拆分
- 支持 `prefers-reduced-motion`,尊重系统减少动态效果设置

## 技术栈

| 技术       | 用途               |
| ---------- | ------------------ |
| Vue 3      | 页面与组件开发     |
| TypeScript | 类型安全与开发体验 |
| Vite       | 本地开发与生产构建 |
| ECharts    | 数据图表与可视化   |
| Lucide Vue | 界面图标           |
| pnpm       | 依赖管理           |

## 快速开始

建议使用 Node.js 22 与 pnpm 10。

```bash
# 克隆项目
git clone https://github.com/woo-niu/datav-template-vue3.git

# 进入项目
cd datav-template-vue3

# 安装依赖
pnpm install

# 启动开发环境
pnpm dev
```

启动后访问 [http://localhost:5173](http://localhost:5173)。

## 常用命令

```bash
pnpm dev        # 启动开发服务器
pnpm build      # 类型检查并构建生产版本
pnpm preview    # 本地预览生产构建
pnpm typecheck  # 执行 TypeScript 类型检查
```

## 自适应容器用法

默认设计尺寸为 `1920 × 1080`:

```vue
<template>
  <ScreenContainer>
    <YourDashboard />
  </ScreenContainer>
</template>
```

也可以传入自定义设计稿尺寸:

```vue
<ScreenContainer :width="2560" :height="1440">
  <YourDashboard />
</ScreenContainer>
```

业务内容只需按照设计稿尺寸进行开发,缩放、居中和容器监听均由 `ScreenContainer` 负责。

## 项目结构

```text
datav-template-vue3/
├─ .github/workflows/       # GitHub Pages 自动部署
├─ src/
│  ├─ components/
│  │  ├─ dashboard/         # 大屏业务模块
│  │  ├─ ChartView.vue      # ECharts 通用封装
│  │  ├─ DataPanel.vue      # 数据面板容器
│  │  └─ ScreenContainer.vue# 大屏自适应容器
│  ├─ styles/               # 全局样式
│  ├─ App.vue               # 大屏页面布局
│  └─ main.ts               # 应用入口
├─ package.json
└─ vite.config.ts
```

## 二次开发

- 组合业务原型:在 `src/App.vue` 中增删模块或调整页面布局
- 修改展示内容:编辑 `src/components/dashboard` 下对应的示例业务组件
- 接入真实接口:将组件中的示例数据替换为接口或状态管理中的数据
- 新增图表模块:复用 `DataPanel` 与 `ChartView`,仅需关注业务内容和 ECharts 配置
- 调整主题:修改 `src/styles/main.css`、面板样式及 `chartTheme.ts`
- 调整设计稿尺寸:通过 `ScreenContainer` 的 `width`、`height` 属性配置
- 修改部署仓库名:同步调整 `vite.config.ts` 中的 `base`

## 浏览器支持

推荐使用最新版 Chrome、Edge、Firefox 或 Safari。项目依赖 `ResizeObserver` 完成容器尺寸监听,请确保目标浏览器支持该 API。

## 参与贡献

欢迎提交 Issue 和 Pull Request。如果这个项目对你有帮助,也欢迎点一个 Star。

## 开源协议

本项目基于 [MIT License](./LICENSE) 开源,可自由用于个人或商业项目。
反馈内容错误

看看同类模板

对比同技术栈与用途的模板,找到更适合的视觉与内容结构。