导航新增「规则」项;设置、配置、规则页接 saved 事件重读配置,仪表盘只 读传 data。心跳每 10 秒探一次内核在不在:kernel.online 原本只在 load() 里更新,用户停在任何页面期间它都是静态快照,内核重启一次,请求页和 仪表盘会锁死在「内核未连接」,各页等它回来的 watch 永远不可达。恢复 在线的那一次顺带拉新运行时数据。
30 lines
1.0 KiB
TypeScript
30 lines
1.0 KiB
TypeScript
/**
|
|
* 左侧导航。
|
|
*
|
|
* 仪表盘打头(打开先看一眼状态),路由紧随其后(这个工具存在的理由),设置垫底。
|
|
*/
|
|
import IconRoute from '~icons/ri/route-line'
|
|
import IconDashboard from '~icons/ri/dashboard-line'
|
|
import IconConfig from '~icons/ri/file-list-3-line'
|
|
import IconRules from '~icons/ri/filter-3-line'
|
|
import IconRequests from '~icons/ri/pulse-line'
|
|
import IconConnections from '~icons/ri/links-line'
|
|
import IconSettings from '~icons/ri/settings-3-line'
|
|
import type { Component } from 'vue'
|
|
|
|
export interface NavItem {
|
|
key: string
|
|
label: string
|
|
icon: Component
|
|
}
|
|
|
|
export const NAV: NavItem[] = [
|
|
{ key: 'dashboard', label: '仪表盘', icon: IconDashboard },
|
|
{ key: 'router', label: '路由', icon: IconRoute },
|
|
{ key: 'config', label: '配置', icon: IconConfig },
|
|
{ key: 'rules', label: '规则', icon: IconRules },
|
|
{ key: 'requests', label: '请求', icon: IconRequests },
|
|
{ key: 'connections', label: '连接', icon: IconConnections },
|
|
{ key: 'settings', label: '设置', icon: IconSettings },
|
|
]
|