From 46f488c8aea69d28cb5297b782d5019331b28ed7 Mon Sep 17 00:00:00 2001 From: Cheng Zhou Date: Wed, 1 Jul 2026 17:04:23 +0800 Subject: [PATCH] =?UTF-8?q?feat(desktop):=20=E7=A8=B3=E5=AE=9A=E6=A1=8C?= =?UTF-8?q?=E9=9D=A2=E7=AB=AF=E7=95=8C=E9=9D=A2=E4=B8=8E=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E6=93=8D=E4=BD=9C=E5=8F=8D=E9=A6=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 重构 DesktopPreferences 为分栏式设置面板,整合连接、外观、通知、更新与诊断信息分区,并补充过渡动效与暗色主题样式 - DesktopLayout 侧边栏导航分组支持展开折叠,调整管理/项目区块顺序并统一图标与标题 - 新增 fileTaskFeedback 工具,统一 pickFiles/saveFile/openFile 的成功/取消提示,替换审计导出、权限日志、附件、文档、线程、项目配置等处的直接调用 - desktopUpdateManager 暴露更新状态快照与状态变更监听,区分检查中、安装中、已推迟、失败等状态 - DesktopServerSettings 增加连接诊断信息(检查时间、健康地址、耗时、HTTP 状态) - unified-page.css 与 ProjectMilestones 引入 CSS 变量以适配暗色主题 - WebLayout 将服务器设置入口改为打开系统偏好面板,管理菜单中邮件服务归入系统设置分组 - ProfileSettings 移除已迁入偏好面板的桌面端专属区块 - 补充 Layout.desktop 布局与偏好面板契约测试 --- .../src/audit/export/auditExportService.ts | 4 +- frontend/src/components/DesktopLayout.vue | 606 +++++--- .../src/components/Layout.desktop.test.ts | 195 +++ .../src/components/PermissionAccessLogs.vue | 4 +- frontend/src/components/ThreadComposer.vue | 5 +- frontend/src/components/ThreadList.vue | 4 +- frontend/src/components/WebLayout.vue | 14 +- .../components/attachments/AttachmentList.vue | 11 +- frontend/src/components/layout/navigation.ts | 15 +- frontend/src/session/desktopUpdateManager.ts | 112 +- frontend/src/styles/unified-page.css | 26 +- frontend/src/utils/fileTaskFeedback.ts | 35 + frontend/src/views/DesktopPreferences.vue | 1305 ++++++++++++++--- frontend/src/views/DesktopServerSettings.vue | 130 +- frontend/src/views/ProfileSettings.vue | 204 +-- frontend/src/views/admin/ProjectDetail.vue | 4 +- .../src/views/documents/DocumentDetail.vue | 8 +- frontend/src/views/ia/ProjectMilestones.vue | 22 +- .../views/ia/RiskIssueMonitoringVisits.vue | 6 +- 19 files changed, 2098 insertions(+), 612 deletions(-) create mode 100644 frontend/src/utils/fileTaskFeedback.ts diff --git a/frontend/src/audit/export/auditExportService.ts b/frontend/src/audit/export/auditExportService.ts index 190ef751..b6c1182b 100644 --- a/frontend/src/audit/export/auditExportService.ts +++ b/frontend/src/audit/export/auditExportService.ts @@ -1,7 +1,7 @@ import { auditExportColumns } from "./auditExportColumns"; import { formatAuditRows } from "./auditExportFormatter"; import type { AuditEvent } from ".."; -import { saveFile } from "../../runtime"; +import { saveFileWithFeedback } from "../../utils/fileTaskFeedback"; const BOM = "\ufeff"; @@ -24,7 +24,7 @@ export const exportAuditCsv = async (events: AuditEvent[], options: AuditExportO const rows = formatAuditRows(events); const csv = buildCsv(rows); const blob = new Blob([csv], { type: "text/csv;charset=utf-8;" }); - await saveFile({ + await saveFileWithFeedback({ suggestedName: options.fileName.endsWith(".csv") ? options.fileName : `${options.fileName}.csv`, mimeType: "text/csv;charset=utf-8", data: blob, diff --git a/frontend/src/components/DesktopLayout.vue b/frontend/src/components/DesktopLayout.vue index 122612b3..4095a5b1 100644 --- a/frontend/src/components/DesktopLayout.vue +++ b/frontend/src/components/DesktopLayout.vue @@ -1,15 +1,12 @@ diff --git a/frontend/src/views/DesktopServerSettings.vue b/frontend/src/views/DesktopServerSettings.vue index f090cf02..ae1dfce0 100644 --- a/frontend/src/views/DesktopServerSettings.vue +++ b/frontend/src/views/DesktopServerSettings.vue @@ -22,6 +22,19 @@ :closable="false" /> +
+
+ 检查时间 + {{ connectionDiagnostic.checkedAt }} + 健康检查 + {{ connectionDiagnostic.healthUrl }} + 耗时 + {{ connectionDiagnostic.durationMs }}ms + HTTP + {{ connectionDiagnostic.httpStatus || "-" }} +
+
+ -
- 允许 HTTPS 服务地址;本地开发可使用 http://localhost 或 http://127.0.0.1。 -
-
取消 @@ -51,7 +60,7 @@