From 05aa30bf3a1573a143da72932bf8e9fc63216acc Mon Sep 17 00:00:00 2001 From: Lyon <88232613+pikasTech@users.noreply.github.com> Date: Mon, 15 Jun 2026 22:10:23 +0800 Subject: [PATCH] fix: simplify workbench session list (#1285) --- .../src/components/agent/TraceTimeline.vue | 2 +- .../src/components/workbench/SessionRail.vue | 21 +++++--- .../src/stores/workbench-session.ts | 50 +++++++++++-------- web/hwlab-cloud-web/src/styles/workbench.css | 32 ++++++++---- 4 files changed, 68 insertions(+), 37 deletions(-) diff --git a/web/hwlab-cloud-web/src/components/agent/TraceTimeline.vue b/web/hwlab-cloud-web/src/components/agent/TraceTimeline.vue index d01b03c7..97aa27f0 100644 --- a/web/hwlab-cloud-web/src/components/agent/TraceTimeline.vue +++ b/web/hwlab-cloud-web/src/components/agent/TraceTimeline.vue @@ -116,7 +116,7 @@ function traceRecord(trace: RunnerTrace | null | undefined): Record -

等待后端事件。

+

思考中...

diff --git a/web/hwlab-cloud-web/src/components/workbench/SessionRail.vue b/web/hwlab-cloud-web/src/components/workbench/SessionRail.vue index 1d81f01d..1c67fa8d 100644 --- a/web/hwlab-cloud-web/src/components/workbench/SessionRail.vue +++ b/web/hwlab-cloud-web/src/components/workbench/SessionRail.vue @@ -2,7 +2,6 @@ import { computed, ref } from "vue"; import { useWorkbenchStore } from "@/stores/workbench"; import { useClipboard } from "@/composables/useClipboard"; -import { formatRelativeTime } from "@/utils"; const workbench = useWorkbenchStore(); const { copied, copy } = useClipboard(); @@ -51,6 +50,18 @@ function readWidth(): number { return 300; } } + +function formatSessionUpdatedTime(value: string | null | undefined): string { + if (!value) return "未记录"; + const date = new Date(value); + if (!Number.isFinite(date.getTime())) return value; + const delta = Date.now() - date.getTime(); + if (delta < 60_000) return "刚刚"; + if (delta < 3_600_000) return `${Math.max(1, Math.round(delta / 60_000))} 分`; + if (delta < 86_400_000) return `${Math.max(1, Math.round(delta / 3_600_000))} 时`; + if (delta < 604_800_000) return `${Math.max(1, Math.round(delta / 86_400_000))} 天`; + return date.toLocaleString(undefined, { month: "numeric", day: "numeric", hour: "2-digit", minute: "2-digit" }); +}