PingWatch 网络设备离线监控系统

- FastAPI 后端 + Vue 3 前端
- Docker Compose 一键部署
- Casdoor OAuth 认证集成
- LogHive 集中式日志
- 设备批量 CSV 导入/导出
- WebSocket 实时状态推送
- 企业微信告警通知
- fping 高性能并发 Ping 检测

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-05-09 15:02:04 +08:00
commit 848f804169
55 changed files with 5941 additions and 0 deletions
+63
View File
@@ -0,0 +1,63 @@
import { createRouter, createWebHistory } from 'vue-router'
const routes = [
{
path: '/login',
name: 'Login',
component: () => import('@/views/Login.vue'),
},
{
path: '/',
component: () => import('@/views/Layout.vue'),
redirect: '/dashboard',
children: [
{
path: 'dashboard',
name: 'Dashboard',
component: () => import('@/views/Dashboard.vue'),
meta: { title: '仪表盘' },
},
{
path: 'devices',
name: 'Devices',
component: () => import('@/views/Devices.vue'),
meta: { title: '设备列表' },
},
{
path: 'alerts',
name: 'Alerts',
component: () => import('@/views/Alerts.vue'),
meta: { title: '告警记录' },
},
{
path: 'stats',
name: 'Stats',
component: () => import('@/views/Stats.vue'),
meta: { title: '统计分析' },
},
{
path: 'settings',
name: 'Settings',
component: () => import('@/views/Settings.vue'),
meta: { title: '系统设置', adminOnly: true },
},
],
},
]
const router = createRouter({
history: createWebHistory(),
routes,
})
// 路由守卫:检查登录
router.beforeEach((to, from, next) => {
const token = localStorage.getItem('token')
if (to.name !== 'Login' && !token) {
next({ name: 'Login' })
} else {
next()
}
})
export default router