From 591e44721afd2bb8cc0e6d276f550768fb860751 Mon Sep 17 00:00:00 2001
From: jkooe <62494645+jkooe@users.noreply.github.com>
Date: Sun, 11 Oct 2026 13:50:49 +0800
Subject: [PATCH] =?UTF-8?q?style(console):=20=E7=95=8C=E9=9D=A2=E4=B8=80?=
=?UTF-8?q?=E5=BE=8B=E4=B8=8D=E4=BD=BF=E7=94=A8=E5=9B=BE=E6=A0=87=20?=
=?UTF-8?q?=E2=80=94=E2=80=94=20=E5=AF=BC=E8=88=AA=E6=94=B9=E7=BA=AF?=
=?UTF-8?q?=E6=96=87=E5=AD=97=EF=BC=8C=E5=B9=B6=E5=85=B3=E9=97=AD=E5=86=85?=
=?UTF-8?q?=E7=BD=AE=E6=8F=92=E7=94=BB/=E5=9B=BE=E6=A0=87?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
触发原因是一次真实的渲染事故:侧栏那些 emoji 图标在非系统字体栈的渲染器里
退化成**豆腐块**(本机截图对比可见)。试过给图标指定 Apple Color Emoji、
全局字体栈加 !important、乃至 font-variant-emoji —— 分别无效或更糟
(最后一招把 ASCII 数字也拆成了 emoji 呈现)。而「哪套字体栈一定带 emoji」
跨平台并不成立,与其赌字形,不如不用。
emoji 图标 → 路由表 meta.icon 字段整体移除,侧栏改纯文字
n-empty 空态插画 → 16 处 :show-icon="false"(空态里的插画比图标更「图形」,
分布在 9 个页面,是最容易漏掉的一类)
n-alert 类型图标 → 7 处(naive-ui 的 showIcon 默认 true,不显式关就在)
n-popconfirm 询问图标 → 3 处
夹在文案里的 ⚠ → TerminalView 的「高权限操作,请谨慎」保留纯文字
严重程度不靠图标也能读:n-alert 仍由 type 的底色/边框区分。
顺带清掉随包的模板残留资产:
public/vite.svg、public/tauri.svg —— public/ 下的文件会被整体复制进产物,
此前等于把 Vite / Tauri 的 logo 一并发出去了(且 index.html 的 favicon 正指向它);
src/assets/vue.svg —— 无人引用;
index.html 的
还是模板默认的「Tauri + Vue + Typescript App」。
原生窗口标题取自 tauri.conf.json("nodeagent 控制台"),故此前不影响观感,
但与 dev 态浏览器标签页不一致,一并改齐。
「不属界面图标、刻意未动」的三类写明在 CHANGELOG 里:
托盘图标(菜单栏没图标就点不到,关窗后应用无法寻回,属功能必需)、
被控端 CLI 自身打印的文本标记(⚠️/ℹ️/✅,是程序输出内容,非界面元素)、
控件的结构性部件(下拉箭头、折叠箭头、输入框清除钮、表格排序箭头)。
验证:vue-tsc 0 错 | 契约守卫 6/6 | 单测 280/280 | 前端产物内已无任何 svg 与 logo 字样 |
macOS .app 重打通过(92.21 MiB,前端在无 public/ 下亦正常构建)。
---
CHANGELOG.md | 21 ++++++++++++++++++++
apps/console/index.html | 3 +--
apps/console/public/tauri.svg | 6 ------
apps/console/public/vite.svg | 1 -
apps/console/src/assets/vue.svg | 1 -
apps/console/src/components/AppShell.vue | 7 ++++---
apps/console/src/router/index.ts | 22 +++++++++++----------
apps/console/src/views/AuditView.vue | 5 ++---
apps/console/src/views/FilesView.vue | 4 ++--
apps/console/src/views/LocalServiceView.vue | 6 +++---
apps/console/src/views/LogsView.vue | 2 +-
apps/console/src/views/NodesView.vue | 8 ++++----
apps/console/src/views/OverviewView.vue | 6 +++---
apps/console/src/views/ProcessesView.vue | 10 +++++-----
apps/console/src/views/SoftwareView.vue | 10 +++++-----
apps/console/src/views/TerminalView.vue | 4 ++--
16 files changed, 65 insertions(+), 51 deletions(-)
delete mode 100644 apps/console/public/tauri.svg
delete mode 100644 apps/console/public/vite.svg
delete mode 100644 apps/console/src/assets/vue.svg
diff --git a/CHANGELOG.md b/CHANGELOG.md
index a0a438d..336df0a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -88,6 +88,27 @@
**新步骤必须逐条核对前置产物由哪一步生成、顺序是否在其后** —— 本地验证时产物早就在,会把这层依赖完全掩盖)。
- `.github/workflows/windows-e2e.yml`:步骤名与注释同步为含 `agent.mjs` 的说明。
+### 变更 —— 界面一律不使用图标
+
+- **去掉全部 emoji 图标**:路由表 `meta.icon` 字段整体移除,侧栏导航由「图标 + 标题」改为**纯文字**。
+ 触发原因是一次真实的渲染事故:emoji 图标在非系统字体栈的渲染器里退化成**豆腐块**(截图对比可见),
+ 而「哪套字体栈一定带 emoji」跨平台并不成立 —— 与其赌字形,不如不用。
+- **`n-alert` / `n-empty` / `n-popconfirm` 的内置图形一并关闭**:这三个组件的 `showIcon` 默认均为 `true`,
+ 故 16 处 `n-empty` 的空态插画、7 处 `n-alert` 的类型图标、3 处 `n-popconfirm` 的询问图标全部消失,
+ 只剩文字与配色(严重程度仍由 `type` 的底色/边框区分,信息不丢)。
+ `n-empty` 是**空态里的插画**(比图标更「图形」),在 9 个页面都有,是最容易漏掉的一类。
+- **夹在文案里的符号也去掉**:`TerminalView` 的「⚠ 高权限操作,请谨慎」保留纯文字。
+- **清理随包的模板残留资产**:删掉 `public/vite.svg`、`public/tauri.svg`、`src/assets/vue.svg`
+ 与 `index.html` 的 favicon 声明。`public/` 下的文件会被整体复制进产物,
+ 此前等于把 Vite / Tauri 的 logo 一起发了出去;`index.html` 的标题也还是模板默认值
+ (原生窗口标题取自 `tauri.conf.json`,不受影响),本次一并改齐。
+
+> **边界(以下不算「界面图标」,未动)**:① 托盘图标 —— 菜单栏没有图标就点不到,
+> 关窗后应用将无法寻回,属**功能必需**;② 被控端 CLI 自身打印的文本标记(`⚠️`/`ℹ️`/`✅`,
+> 见 `apps/agent/src/index.ts`、`packages/client/src/keys.ts`、`apps/agent/src/metrics.ts`)——
+> 它们是**程序输出内容**,会原样出现在「服务日志」页里,但不是界面元素;
+> ③ 控件的结构性部件(下拉箭头、折叠箭头、输入框清除钮、表格排序箭头)。
+
### 说明 —— 本轮**刻意不升版本号**
本轮新增的全部是**控制台**功能,**被控端能力集合未变**(未增删任何 `system.*` / `fs.*` / `app.*` 能力)。
diff --git a/apps/console/index.html b/apps/console/index.html
index 99f203f..1571290 100644
--- a/apps/console/index.html
+++ b/apps/console/index.html
@@ -2,9 +2,8 @@
-
- Tauri + Vue + Typescript App
+ nodeagent 控制台
diff --git a/apps/console/public/tauri.svg b/apps/console/public/tauri.svg
deleted file mode 100644
index 31b62c9..0000000
--- a/apps/console/public/tauri.svg
+++ /dev/null
@@ -1,6 +0,0 @@
-
diff --git a/apps/console/public/vite.svg b/apps/console/public/vite.svg
deleted file mode 100644
index e7b8dfb..0000000
--- a/apps/console/public/vite.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/console/src/assets/vue.svg b/apps/console/src/assets/vue.svg
deleted file mode 100644
index 770e9d3..0000000
--- a/apps/console/src/assets/vue.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/console/src/components/AppShell.vue b/apps/console/src/components/AppShell.vue
index 07458a1..6ed013f 100644
--- a/apps/console/src/components/AppShell.vue
+++ b/apps/console/src/components/AppShell.vue
@@ -1,5 +1,5 @@