Add ops task overview, chart ahead window, and WebCRT lifecycle status.

Unify live runners in /audit/tasks (including UME sync and connect tests), extend port-traffic compare past now via ahead_hours, and distinguish WebCRT connecting/ready/detached.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
oliver 2026-08-02 14:05:59 +08:00
parent 3f0787da11
commit 3908b78dbb
28 changed files with 1083 additions and 54 deletions

View file

@ -38,7 +38,7 @@ const en = {
users: "Users",
usersDesc: "Admin: create, disable users and reset passwords",
audit: "Audit",
auditDesc: "View login and operation records",
auditDesc: "Live task overview and operation logs",
apiKeys: "API Keys",
apiKeysDesc: "Issue MCP/script tokens per user with expiry",
},
@ -170,6 +170,11 @@ const en = {
compareShift: "Previous window",
compareCustom: "Custom offset",
offsetHours: "Offset (hours)",
aheadHours: "Extend past now (hours)",
aheadHoursHint:
"Push the chart end past now. With period compare enabled, the overlay can show trend after the current clock; 0 ends at now.",
mapBaselineHint:
"Mapped baseline can be combined with period compare; turn on Yesterday yourself when you need that contrast.",
baseline: "Baseline",
baselineAt: "Baseline time",
baselineDevice: "Baseline device",
@ -1474,6 +1479,55 @@ const en = {
sliceStats: "{{maps}} map(s) planned, {{overlap}} NE(s) on multiple maps",
nodeCount: "{{count}} NE(s)",
},
audit: {
title: "Audit & ops",
logsTitle: "Operation logs",
nav: {
tasks: "Task overview",
logs: "Operation logs",
},
tasks: {
title: "Task overview",
hint: "Live view of running or pending background work. Actor prefers recent audit entries; scheduled work shows as scheduler/system.",
empty: "No tasks to show right now.",
open: "Open",
kpiActive: "Active / in-flight",
kpiTotal: "Total rows",
kpiKinds: "By kind",
kpiStatuses: "By status",
colKind: "Kind",
colTitle: "Task",
colStatus: "Status",
colActor: "Actor",
colTrigger: "Trigger",
colProgress: "Progress",
colStarted: "Started",
colUpdated: "Updated",
colLink: "Open",
kind: {
port_traffic: "Port traffic",
config_sync: "Config sync",
ne_collect: "Batch collect",
lldp_discover: "LLDP discover",
ume_sync: "UME sync",
ne_connect: "Connect test",
ume_runtime: "UME runtime",
webcrt: "WebCRT",
},
status: {
collecting: "Collecting",
running: "Running",
testing: "Testing",
connecting: "Logging in",
ready: "Connected",
detached: "Detached (grace)",
pending: "Pending",
paused: "Paused",
error: "Error",
failed: "Failed",
},
},
},
};
export default en;

View file

@ -38,7 +38,7 @@ const zh = {
users: "用户管理",
usersDesc: "管理员添加、禁用用户并重置密码",
audit: "操作审计",
auditDesc: "查看登录与操作记录",
auditDesc: "任务概览与操作日志",
apiKeys: "API Key",
apiKeysDesc: "为用户生成 MCP/脚本用 Token,可设有效期",
},
@ -170,6 +170,10 @@ const zh = {
compareShift: "前一窗",
compareCustom: "自定义偏移",
offsetHours: "偏移(小时)",
aheadHours: "向后延长(小时)",
aheadHoursHint:
"图表终点相对当前时刻再往后延长。开启周期对比时可看到对照曲线在「现在」之后的走势;0 表示截止到现在。",
mapBaselineHint: "映射基线可与周期对比叠加使用;需要昨日对照时请自行打开「昨日同时刻」。",
baseline: "基线",
baselineAt: "基线原时刻",
baselineDevice: "基线网元",
@ -1466,6 +1470,55 @@ const zh = {
sliceStats: "计划 {{maps}} 张图,重复上图网元 {{overlap}} 个",
nodeCount: "{{count}} 个网元",
},
audit: {
title: "操作审计",
logsTitle: "操作日志",
nav: {
tasks: "任务概览",
logs: "操作日志",
},
tasks: {
title: "任务概览",
hint: "汇总当前系统中正在运行或挂起的各类后台任务;发起人优先取近期审计记录,调度类任务显示为 scheduler/system。",
empty: "当前没有可展示的任务。",
open: "打开",
kpiActive: "活跃/在途",
kpiTotal: "条目总数",
kpiKinds: "按类型",
kpiStatuses: "按状态",
colKind: "类型",
colTitle: "任务",
colStatus: "状态",
colActor: "发起人",
colTrigger: "触发",
colProgress: "进度",
colStarted: "开始",
colUpdated: "更新",
colLink: "入口",
kind: {
port_traffic: "端口流量",
config_sync: "配置同步",
ne_collect: "批量采集",
lldp_discover: "LLDP 发现",
ume_sync: "UME 同步",
ne_connect: "连通性测试",
ume_runtime: "UME 后台",
webcrt: "WebCRT",
},
status: {
collecting: "采集中",
running: "运行中",
testing: "测试中",
connecting: "登录中",
ready: "已连接",
detached: "已断开(宽限)",
pending: "排队",
paused: "暂停",
error: "错误",
failed: "失败",
},
},
},
};
export default zh;