joecode77/pingit-app

GitHub: joecode77/pingit-app

Pingit-app 是一个用于监控服务可用性和性能的前端仪表板应用,提供实时状态、响应时间图表和事件历史管理。

Stars: 1 | Forks: 0

# Pingit 应用程序 [Pingit](https://www.pingit.live) 的前端应用 — 一个全栈运行时间监控系统。使用 Vue 3、Pinia 和 ApexCharts 构建。 ## 线上演示 **前端:** [https://www.pingit.live](https://www.pingit.live) **后端仓库:** [https://github.com/joecode77/pingit-api](https://github.com/joecode77/pingit-api) **演示账号:** - 电子邮箱:`demo@pingit.live` - 密码:`password` ## 目录 - [截图](#screenshots) - [功能](#features) - [技术栈](#tech-stack) - [系统要求](#requirements) - [安装](#installation) - [运行应用程序](#running-the-application) - [生产环境构建](#building-for-production) - [部署](#deployment) - [页面](#pages) ## 截图 ### 仪表板 ![仪表板](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/8d8ac3f3fd155954.png) ### 监控列表 ![监控列表](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/898781ee5f160001.png) ### 监控详情 ![监控详情](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/586d998337160010.png) ## 功能 - **仪表板** — 所有监控器的概览,包含状态细分、总运行时间径向图和响应时间趋势图 - **监控列表** — 可过滤、排序和搜索的监控器列表,包含 30 天运行时间条 - **监控详情** — 完整的详情视图,包含 90 天运行时间条、响应时间图表、事件时间线、检查历史记录表格、通知渠道和标签 - **通知渠道** — 为每个监控器管理邮件和 webhook 通知渠道 - **标签** — 创建和管理标签以组织监控器 - **身份验证** — 支持基于令牌的注册和登录 - **自动刷新** — 仪表板和监控详情页面每 30 秒自动刷新,无需完全重新加载页面 - **CSV 导出** — 为任意监控器导出检查历史记录 - **移动端响应式** — 可在所有屏幕尺寸上使用 ## 技术栈 | 层级 | 技术 | | ---------- | ---------------------------- | | 框架 | Vue 3 (Composition API) | | 状态管理 | Pinia | | 路由 | Vue Router 4 | | HTTP 客户端| Axios | | 图表 | ApexCharts (vue3-apexcharts) | | 样式 | Tailwind CSS v4 + 作用域 CSS | | 字体 | Plus Jakarta Sans | | 构建工具 | Vite | ## 系统要求 - Node.js 18+ - npm - 一个正在运行的 [Pingit API](https://github.com/joecode77/pingit-api) 实例 ## 安装 ### 1. 克隆仓库 ``` git clone https://github.com/joecode77/pingit-app.git cd pingit-app ``` ### 2. 安装依赖 ``` npm install ``` ### 3. 复制环境文件 ``` cp .env.example .env ``` ### 4. 配置 API 地址 使用您正在运行的后端地址更新您的 `.env` 文件: ``` VITE_API_URL=http://localhost:8000 ``` 如果您使用的是线上 API,将其设置为: ``` VITE_API_URL=https://api.pingit.live ``` ## 运行应用程序 ``` npm run dev ``` 应用将在 `http://localhost:5173` 上可用。 ## 生产环境构建 ``` npm run build ``` 生产构建将输出到 `dist/` 文件夹。 要在本地预览生产构建: ``` npm run preview ``` ## 部署 此应用部署在 [Vercel](https://vercel.com) 上。仓库中包含一个 `vercel.json` 文件,用于正确处理客户端路由: ``` { "rewrites": [{ "source": "/(.*)", "destination": "/index.html" }] } ``` ### Vercel 上的环境变量 在您的 Vercel 项目中,前往 **Settings → Environment Variables** 并添加: | 键 | 值 | | -------------- | ----------------------- | | `VITE_API_URL` | `https://api.pingit.live` | 添加环境变量后需要重新部署才能使其生效。 ## 页面 ### 登录 / 注册 包含表单验证和错误处理的身份验证页面。 ### 仪表板 跨所有监控器的汇总统计 — 总计、正常、故障、降级和暂停的数量,一个总运行时间径向图,以及一个聚合自所有活跃监控器的响应时间趋势面积图。每 30 秒自动刷新。 ### 监控列表 可按状态过滤,按名称或 URL 搜索,按名称、运行时间或最后检查时间排序。每个监控卡片显示当前状态、运行时间百分比、最后检查时间、检查间隔和一个 30 天运行时间条。 ### 监控详情 单个监控器的完整详情视图,包括: - 90 天运行时间条 - 关键统计数据(运行时间、平均响应时间、总检查次数、检查间隔、SSL 证书过期时间) - 响应时间图表(24小时、7天、30天) - 事件历史记录(含活跃事件指示器) - 监控器配置面板 - 分页检查历史记录表格(支持 CSV 导出) - 通知渠道管理 - 标签管理 每 30 秒自动刷新监控状态。 ### 通知渠道 管理所有监控器的邮件和 webhook 通知渠道。渠道按监控器分组,并显示它们被配置为触发的事件(故障、恢复、降级)。 ### 标签 创建和删除标签。标签在“监控详情”页面附加到单个监控器或从其分离。
标签:ApexCharts, Pinia, Vue 3, 事件历史, 仪表板, 响应式设计, 响应时间图表, 图表库, 多引擎聚合, 实时数据, 实时状态, 应用监控, 数据导出, 标签管理, 正常运行时间监控, 状态监控, 状态管理, 用户认证, 监控列表, 监控工具, 监控系统, 监控详情, 移动响应式, 网站监控, 自动刷新, 通知管理