ScreenContainer 以 1920 × 1080 为默认设计基准,通过 ResizeObserver 监听容器尺寸并取宽高缩放比较小值等比缩放,保持设计稿比例且自动居中
datav-template-vue3 — Vue 后台模板
作者 woo-niu
基于 Vue 3、TypeScript 与 ECharts 的数据可视化大屏模板,提供自适应容器、通用面板与图表封装,以及模块化业务示例,便于按自身需求改造。
看看你的网站会是什么样
浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。
全部页面与视图 2
截图用于了解视觉与布局,交互效果请以实际项目为准。
值得关注的模板亮点
从已有项目资料中,快速了解它的特点。
DataPanel 提供统一的面板外观与标题结构,ChartView 封装 ECharts 初始化、更新、尺寸响应与销毁逻辑
dashboard 目录按业务区域拆分组件,页面布局与业务数据解耦,可独立修改、删除或重新组合
包含城市运行核心态势、核心指标概览、事件趋势、区域运行指数、能耗监测、服务构成、实时告警等演示模块
使用 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 3 与 TypeScript 技术栈开发大屏,并需要替换示例数据接入真实接口
- 需要调整主题样式或设计稿尺寸以匹配自有视觉规范的大屏开发
适合人群
- 具备 Vue 3 与 TypeScript 基础的前端开发者
- 需要快速改造数据可视化大屏模板的团队
- 希望按模块拆分图表与业务组件、便于后续维护的项目
上手与定制指南
结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。
- 1
建议使用 Node.js 22 与 pnpm 10;依次执行 git clone、cd datav-template-vue3、pnpm install、pnpm dev,启动后访问 http://localhost:5173
- 2
常用命令:pnpm dev 启动开发服务器,pnpm build 类型检查并构建生产版本,pnpm preview 本地预览生产构建,pnpm typecheck 执行 TypeScript 类型检查
- 3
ScreenContainer 默认设计尺寸为 1920 × 1080,可通过 width、height 属性传入自定义设计稿尺寸
- 4
二次开发时可在 src/App.vue 增删模块或调整布局,编辑 src/components/dashboard 下组件替换数据,调整主题修改 src/styles/main.css、面板样式及 chartTheme.ts
- 5
部署到 GitHub Pages 时需同步调整 vite.config.ts 中的 base;项目依赖 ResizeObserver,请确保目标浏览器支持该 API
授权与来源资料
使用条件与限制
免费使用 · 保留许可声明本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。
使用时需要遵守
- 允许免费使用、修改、商用和分发该版本代码。
- 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
- 代码按现状提供;担保与责任限制以原许可证及适用法律为准。
额外费用与待核对事项
- 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
- 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
查看原文依据
https://github.com/woo-niu/datav-template-vue3/blob/main/LICENSEhttps://github.com/woo-niu/datav-template-vue3/blob/main/README.mdPermission is hereby granted, free of charge
许可证原文
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** 构建的数据可视化大屏模板。项目提供自适应容器、通用图表封装和模块化页面示例,帮助开发者快速改造并生成符合自身需求的业务原型。
[](https://vuejs.org/)
[](https://www.typescriptlang.org/)
[](https://echarts.apache.org/)
[](./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) 开源,可自由用于个人或商业项目。
看看同类模板
对比同技术栈与用途的模板,找到更适合的视觉与内容结构。

vuestic-admin
Vuestic Admin is an open-source, ready-to-use admin template suite designed for rapid development, easy mainte…
Vue · 后台

v3-admin-vite
v3-admin-vite 是一个主打 AI 编程友好体验的 Vue3 后台管理模板,基于 Vue3、Vite、TypeScript、Element Plus 构建。
Vue · 后台

vue-typescript-admin-template
vue-typescript-admin-template 是一套面向后台管理界面的前端解决方案,基于 Vue 2.6、TypeScript 和 Element UI 构建。
Vue · 后台

vue-antd-admin
Vue Antd Admin 是 Ant Design Pro 的 Vue 实现版本,目标是为中后台项目提供一套开箱即用的前端与设计解决方案。
Vue · 后台

coreui-free-vue-admin-template
Free Vue Admin & Dashboard Template Built for AI-Assisted Development
Vue · 后台

nova-admin
A simple and flexible admin template based on Vue3, Vite, TypeScript, NaiveUI
Vue · 后台
