## 目的 调研一下现在系统各页面的美观度:逐页过一遍,列出哪里不好看、哪里各页做法不一致,再定统一的改法。**这个 issue 先出调研结论,不直接改代码**;结论定了再拆成具体的修改 PR。 边距(上 24 / 左右 16 / 有的页 0)那件事单独在 #209,这里不重复,但调研时如果发现别的间距问题一并记下来。 ## 已知问题一:页面顶部固定一行说明文字,不好看 `PageHeader` 早就把页面说明改成只给读屏软件看(`sr-only`)了,理由写在 `packages/platform/src/shell/page-header.tsx` 顶部:页名已经在标签上,一屏最值钱的顶部不该被「一句不会有人读第二遍的描述」占掉。但有 7 页绕开了它,自己写了一行能看到的灰字,钉在页面最上面: | 页面 | 文件 | 说明文字 | |---|---|---| | 能力开放 · 应用管理 | `pages/open-app/index.tsx:367` | 给对接的外部系统发一对 AK/SK… | | 能力开放 · 调用日志 | `pages/open-log/index.tsx:251` | 外部系统每次调用开放接口都会记一条… | | AI 助手 · MCP 凭据 | `pages/ai-mcp-client/index.tsx:51` | 外部系统(如 pis-agent、Claude Desktop)用这里发的令牌… | | AI 助手 · 模型供应商 | `pages/ai-provider/index.tsx:63` | AI 助手通过这里配置的供应商调用模型… | | 消息推送 · 群机器人 | `pages/notify-bot/index.tsx:62` | 把公告、审批结果这类通知推到飞书 / 钉钉 / 企业微信群里… | | 短信 · 短信配置 | `pages/sms-config/index.tsx:70` | 使用方只认业务模板码… | | 系统管理 · 存储管理 | `pages/storage/index.tsx:81` | 新上传的文件落在默认存储… | 不好看在哪: - 一行灰字横在查询区 / 卡片上面,页面第一眼看到的不是内容而是一段话,和其他页面的开头不一样 - 字长短不一,有的折成两行,每页顶部的高度都不同,切标签时内容在上下跳 - 每次打开都显示,看过一次就没用了 `open-app` 那里还有注释「说明要让人看见,单独一行(同 MCP 凭据页)」—— 是照兄弟页抄过来的,和 #209 同一个根。 初步改法(调研时确认):说明一律走 `PageHeader` 的 `description`;里面操作时真正要知道的那半句(「SK 明文只显示一次」「切换默认只影响之后的上传」「凭据只显示掩码」)挪到用得着的那一刻 —— 创建 / 重置结果弹窗、确认框、表单字段提示、空状态里。 ## 调研范围(逐页过,每页截图 1920 + 390、浅色 + 深色) - [ ] **页面开头**:第一行是什么(查询区 / 工具栏 / 卡片 / 说明文字),各页是否一致 - [ ] **工具栏**:刷新 / 列设置 / 导出 / 新增按钮的位置和顺序;有的在查询区右边、有的单独一行 - [ ] **卡片页 vs 表格页**:设置屏、卡片列表(供应商 / 存储 / 短信配置 / 群机器人)的卡片尺寸、圆角、阴影、内边距是否一套 - [ ] **空状态**:表格空、卡片空、主从页右侧空,各自长什么样,是否有图标 + 引导按钮 - [ ] **表格**:列宽、等宽字体用在哪、状态徽章的颜色与样式、操作列(图标按钮 / 三点菜单)是否统一 - [ ] **表单抽屉 / 弹窗**:宽度、标题区、底部按钮的位置 - [ ] **字号与层级**:同一种信息(时间、ID、次要说明)在不同页是否用同样的字号和颜色 - [ ] **深色模式**:有没有写死颜色、对比度不够的地方 - [ ] **窄屏**:390 宽下查询区、工具栏、表格是否挤坏 ## 产出 - 一份带截图的清单:页面 × 问题,标出「各页不一致」和「单页难看」两类 - 每类问题给一个统一的做法(能沉淀成共用组件的写明组件名) - 按影响面排优先级,拆成后续 PR
Activity
[-]去掉页面顶部可见的说明文字:7 页绕开 PageHeader 自己写了一行(应用管理 / 调用日志 / MCP 凭据 / 模型供应商 / 群机器人 / 短信配置 / 存储管理)[/-][+]调研:现在系统各页面的美观度 —— 先从「页面顶部固定一行说明文字」开始,逐页过一遍出统一改法[/+]yilecoding commentedon Nov 2, 2026
调研结论(2026-11-02)
方法:本地起服务,用 Playwright 逐页打开 35 个菜单页面,每页截三张(1920 浅色 / 1920 深色 / 390 手机),再逐张看图。最严重的几条另外人工复核过截图。边距问题归 #209,这里不重复。
问题按「改一处、修一片」的程度排序:前面的都是改一个共用组件或一个设计变量就能覆盖很多页的。
P0 —— 坏了 / 看不清
1. 错误块(
QueryError)原文不换行,桌面端看不到「重试」执行记录、消息中心、通知公告:报错文字一整行横向溢出表格右边界,被裁掉,桌面端看不到重试按钮(390 宽反而能看到)。仪表盘的消息卡则相反,几十行 SQL 竖着铺满,把卡片撑出屏幕。
→ 改法:一句人话的标题 + 原文折叠进「详情」(
break-words+ 限高),重试按钮放在标题行,任何宽度都可见。改ui/components/query-error.tsx一处,所有页一起修好。2. 深色模式下,主色文字太暗
浅色和深色用的是同一个深靛蓝,压在近黑底上很难看清。涉及:登录日志 / 操作日志 / 投递记录 / 开放调用日志 / 短信发送日志的时间列,任务调度的任务名,仪表盘卡片右上角的「全部 / 查看全部 →」,文件管理和参数配置左栏的选中项。
→ 改法:
.dark下给「主色当文字用」单独一个更亮的值(靛蓝 300~400 那一档),一个变量修十几页。3. 主按钮的禁用态像坏掉了
浅色下是浅紫底配白字,深色下是深靛蓝底配暗紫字,两种都看不出是「禁用」还是「样式没加载」。涉及:个人中心(保存 / 绑定邮箱 / 绑定手机号)、角色「保存权限」、参数配置「保存」、通知策略「保存」、AI 对话的发送按钮。
→ 改法:禁用态改成中性灰底 + 前景色降透明度,改
Button一处。4. 手机宽度(390)真挤坏的几处
LTAI5t…Yw2b******109r不换行,卡片撑出屏幕,删除按钮被裁掉一半(已复核)P1 —— 各页做法不一致(定规范 + 抽组件)
5. 页面顶部的说明文字(本 issue 原来那条)
7 页在顶部钉了一行灰字:应用管理、开放调用日志、MCP 凭据、模型供应商、群机器人、短信配置、存储管理(清单见 issue 正文)。通知策略则把说明放在了表格下面。
→ 统一走
PageHeader的description(只给读屏);操作时要知道的那半句挪进对应的弹窗、确认框或空状态。6. 工具栏:没有两页是一样的
→ 定一条规范(建议:左边主动作,右边是刷新、列设置这类视图工具;破坏性的操作收进 ⋯),写进
pages/AGENTS.md,再套到各页。7. 表格单元格:同类数据好几种写法
52ms黑色 14px(AI 调用日志、短信日志)和7.0 ms灰色 12px,慢请求标橙(开放调用日志)→ 抽
TimeCell/DurationCell/EmptyCell/StatusBadge,各页统一换用。8. 操作列
三点菜单(多数)/ 三个裸图标(数据权限)/ ▶ 加红色「删除」字(任务调度,10 行红字连成一条红带)/ 每张卡片一个红色「卸载」按钮(插件管理,满屏红点)。表头有的空着,有的写「操作」但下面的格子是空的(投递记录)。
→ 统一用 ⋯ 菜单,危险操作放在菜单里,列宽固定。
9. 卡片页(供应商 / 短信配置 / 群机器人 / MCP 凭据 / 存储)
外框是一套,里面不是:标签列宽有两套(48px 和 72px,「标签 + 值」两列对不齐);底部按钮有的是一个描边按钮,有的是描边 + 幽灵;「新增」占位卡有的是「+ 一行字」,有的是图标 + 标题 + 两行说明;存储那页同一张卡片标题旁边混着描边、灰底、绿底三种徽章。
→ 抽一个
ResourceCard(标题区 / 键值区 / 动作区)+AddCard。10. 主从页的详情标题
角色和数据权限用 18px 粗体,字典用 14px 常规,同一种位置差了一大截。
P2 —— 留白与层级
--card和--background几乎一样,只靠一条很暗的边框;虚线「新增」卡的边框、未勾选的复选框都几乎看不见建议的拆分
QueryError排版 + 禁用态按钮 + 深色主色提亮 + 深色--border/--cardpackages/ui,全站受益)pages/AGENTS.md,然后逐页套用P2 的其余几条等前面这些做完再看还剩多少。
截图和逐页的原始记录在我本机的临时目录里,需要的话可以挑几张贴上来。
Merge main into fix/page-shell-polish —— #209 采用 #211 的实现
Merge pull request #212 from yilecoding/fix/page-shell-polish
Merge pull request #213 from yilecoding/feat/table-cells
Merge pull request #214 from yilecoding/feat/toolbar-order
Merge pull request #215 from yilecoding/feat/resource-card
Merge pull request #216 from yilecoding/fix/narrow-screen
yilecoding commentedon Nov 2, 2026
进度(2026-11-02):拆分计划的 6 个 PR 都合进去了
_shared/cells.tsx:TimeCell / DurationCell / EmptyCell / RowActions)_shared/resource-card.tsx)规范都写进了
packages/platform/src/pages/AGENTS.md和packages/ui/AGENTS.md。还没做的
--card/--background分不开、边框太暗(原计划 ① 里的一项,没动)这个 issue 先留着开,剩下的按需再拆。
Merge pull request #218 from yilecoding/feat/mobile-master
Merge pull request #217 from yilecoding/feat/dark-depth
Merge pull request #219 from yilecoding/feat/plugin-cards