[W-06][low] 界面布局与文案:表格高度写死不随窗口自适应、直接显示英文枚举与配置键名、概览缺自助注册数 #56

Closed
opened 2026-09-30 13:57:05 +08:00 by nixevol · 1 comment
Owner

编号:W-06 严重级:low 工作线:后台网页(web/) 来源:审查 A-22、A-23、A-20
依赖:建议在 W-01 (#51) 至 W-05 (#55) 之后 被依赖:无

结论与统一方案

采用审查 A-22、A-23、A-20 的方案:

  1. 布局:.page-body 改为 flex 列布局,筛选栏不参与伸缩;表格用 flex-height 配合 flex:1; min-height:0;弹窗里的长表格单独设 max-height 在内部滚动;一次性密码框不参与伸缩,或改为弹窗。
  2. 文案:建中文映射表(消息状态、目标类型、投递状态、原因码译成中文,原值放 tooltip);运行参数用中文标签,键名放 HelpTip;端列表拆成"最近上线""最近离线"两列。
  3. 概览增加"其中自助注册"一项,运行时长按天、时、分显示。

改动文件

web/src/views/*.vue、web/src/utils/labels.ts(新)。

与其他问题的交互 / 冲突说明

  • e2e 中断言 cell "scheduled" 的地方要同步修改。
  • 与 W-01 至 W-05 改同一批视图,建议网页线最后做。

验收与测试

  • Playwright 在 1366×768 与 1920×1080 下截图,断言没有页面级滚动。
  • 组件测试断言中文标签与自助注册数。

问题明细(各区审查原文,证据含文件与行号)

以下是本次复审各区审查报告的原文段落。A、M、I、P、S 开头的是原始发现编号(A 管理后台与网页、M 消息核心、I 身份认证群在线、P 传输平台部署、S SDK)。解决方案以本 issue 上方的"结论与统一方案"为准;原文里的方案与之不一致时,按上方执行。

[A-22] 表格高度写死、不随窗口自适应,长列表由页面或弹窗整体滚动

  • 严重级:low
  • 分类:界面
  • 现象与影响:
    • 表格高度固定为 480。在 1366×768 下,加上浏览器边框后页面本身也要滚动,分页条会落到屏幕外,出现双滚动条;在 1920×1080 下下方大片空白。
    • 群详情和投递详情把表单和长表格放在同一个 n-scrollbar 里,整个弹窗一起滚动。
    • 端页顶部的一次性密码框会把表格往下推。
  • 证据:EndpointsView.vue:393,499-504;GroupsView.vue:254,301;MessagesView.vue:155,170;TokensView.vue:152。
  • 文档依据:用户界面规则"长内容在控件内部滚动,并按桌面浏览器可用高度自适应";DEVELOPMENT 2.4(约 114 行)。
  • 为何不是故意设计:DEVIATIONS 没有相关条目。
  • 解决方案:.page-body 改为 flex 列布局,筛选栏不参与伸缩;表格用 flex-height 配合 flex:1; min-height:0;弹窗里的长表格单独设置 max-height 在内部滚动;一次性密码框不参与伸缩,或改为弹窗。
  • 改动文件:EndpointsView.vue、GroupsView.vue、MessagesView.vue、TokensView.vue。
  • 交互/冲突风险:无。
  • 需补测试:Playwright 在两种分辨率下截图并断言没有页面级滚动。
  • 置信度:较高

[A-23] 界面直接显示英文枚举和配置键名,端列表"最近在线"含义混淆

  • 严重级:low
  • 分类:界面 / 与PRD不符
  • 现象与影响:
    • 投递记录的状态、目标类型、投递状态都直接显示英文原值,例如 scheduled、endpoint:b、pending。
    • 运行参数直接列出英文键名。
    • 端列表只有一列"最近在线",在线的端显示上线时间,离线的端显示的其实是离线时间。
  • 证据:MessagesView.vue:69-75,107,176;SettingsView.vue:84-97;EndpointsView.vue:149-154。
  • 文档依据:PRD F17"界面中文"及端列表"最近上下线时间";DEVELOPMENT 2.4。
  • 为何不是故意设计:DEVIATIONS 没有相关条目。
  • 解决方案:建中文映射表(定时中、投递中、已完成;待投递、已收下、已撤回、已过期、已丢弃、已拒绝;原因码译成中文,原值放 tooltip);参数项用中文标签,键名放 HelpTip;端列表拆成"最近上线""最近离线"两列。
  • 改动文件:上述三个视图,可加一个 utils/labels.ts。
  • 交互/冲突风险:e2e 里断言 cell "scheduled" 的地方要同步修改。
  • 需补测试:组件测试。
  • 置信度:代码阅读确定

[A-20] 概览页不显示"其中自助注册数"

  • 严重级:low
  • 分类:与PRD不符
  • 现象与影响:后端返回了 endpoints_self,页面没有展示。运行时长只显示秒数,不直观。
  • 证据:OverviewView.vue:25-41;overview.go:52-62;types.ts:37-38。
  • 文档依据:PRD F17(约 362 行)"端数量(其中自助注册的数量)"。
  • 为何不是故意设计:A3.1 只写了"W 可选用",但 PRD 把它列为必需项。
  • 解决方案:增加"其中自助注册"一项;类型改为必有;运行时长按天、时、分显示。
  • 改动文件:OverviewView.vue、types.ts。
  • 交互/冲突风险:无。
  • 需补测试:组件测试断言显示了自助注册数。
  • 置信度:代码阅读确定

复审基线:main 4059a15(2026-09-30)。编号说明、各工作线的合并顺序、共享文件归属见总览 #7。

**编号**:W-06 **严重级**:low **工作线**:后台网页(web/) **来源**:审查 A-22、A-23、A-20 **依赖**:建议在 W-01 (#51) 至 W-05 (#55) 之后 **被依赖**:无 ### 结论与统一方案 采用审查 A-22、A-23、A-20 的方案: 1. 布局:`.page-body` 改为 flex 列布局,筛选栏不参与伸缩;表格用 `flex-height` 配合 `flex:1; min-height:0`;弹窗里的长表格单独设 `max-height` 在内部滚动;一次性密码框不参与伸缩,或改为弹窗。 2. 文案:建中文映射表(消息状态、目标类型、投递状态、原因码译成中文,原值放 tooltip);运行参数用中文标签,键名放 HelpTip;端列表拆成"最近上线""最近离线"两列。 3. 概览增加"其中自助注册"一项,运行时长按天、时、分显示。 ### 改动文件 `web/src/views/*.vue`、`web/src/utils/labels.ts`(新)。 ### 与其他问题的交互 / 冲突说明 - e2e 中断言 `cell "scheduled"` 的地方要同步修改。 - 与 W-01 至 W-05 改同一批视图,建议网页线最后做。 ### 验收与测试 - Playwright 在 1366×768 与 1920×1080 下截图,断言没有页面级滚动。 - 组件测试断言中文标签与自助注册数。 --- ### 问题明细(各区审查原文,证据含文件与行号) > 以下是本次复审各区审查报告的原文段落。A、M、I、P、S 开头的是原始发现编号(A 管理后台与网页、M 消息核心、I 身份认证群在线、P 传输平台部署、S SDK)。**解决方案以本 issue 上方的"结论与统一方案"为准**;原文里的方案与之不一致时,按上方执行。 #### [A-22] 表格高度写死、不随窗口自适应,长列表由页面或弹窗整体滚动 - 严重级:low - 分类:界面 - 现象与影响: - 表格高度固定为 480。在 1366×768 下,加上浏览器边框后页面本身也要滚动,分页条会落到屏幕外,出现双滚动条;在 1920×1080 下下方大片空白。 - 群详情和投递详情把表单和长表格放在同一个 `n-scrollbar` 里,整个弹窗一起滚动。 - 端页顶部的一次性密码框会把表格往下推。 - 证据:`EndpointsView.vue:393,499-504`;`GroupsView.vue:254,301`;`MessagesView.vue:155,170`;`TokensView.vue:152`。 - 文档依据:用户界面规则"长内容在控件内部滚动,并按桌面浏览器可用高度自适应";DEVELOPMENT 2.4(约 114 行)。 - 为何不是故意设计:DEVIATIONS 没有相关条目。 - 解决方案:`.page-body` 改为 flex 列布局,筛选栏不参与伸缩;表格用 `flex-height` 配合 `flex:1; min-height:0`;弹窗里的长表格单独设置 `max-height` 在内部滚动;一次性密码框不参与伸缩,或改为弹窗。 - 改动文件:`EndpointsView.vue`、`GroupsView.vue`、`MessagesView.vue`、`TokensView.vue`。 - 交互/冲突风险:无。 - 需补测试:Playwright 在两种分辨率下截图并断言没有页面级滚动。 - 置信度:较高 #### [A-23] 界面直接显示英文枚举和配置键名,端列表"最近在线"含义混淆 - 严重级:low - 分类:界面 / 与PRD不符 - 现象与影响: - 投递记录的状态、目标类型、投递状态都直接显示英文原值,例如 `scheduled`、`endpoint:b`、`pending`。 - 运行参数直接列出英文键名。 - 端列表只有一列"最近在线",在线的端显示上线时间,离线的端显示的其实是离线时间。 - 证据:`MessagesView.vue:69-75,107,176`;`SettingsView.vue:84-97`;`EndpointsView.vue:149-154`。 - 文档依据:PRD F17"界面中文"及端列表"最近上下线时间";DEVELOPMENT 2.4。 - 为何不是故意设计:DEVIATIONS 没有相关条目。 - 解决方案:建中文映射表(定时中、投递中、已完成;待投递、已收下、已撤回、已过期、已丢弃、已拒绝;原因码译成中文,原值放 tooltip);参数项用中文标签,键名放 HelpTip;端列表拆成"最近上线""最近离线"两列。 - 改动文件:上述三个视图,可加一个 `utils/labels.ts`。 - 交互/冲突风险:e2e 里断言 `cell "scheduled"` 的地方要同步修改。 - 需补测试:组件测试。 - 置信度:代码阅读确定 #### [A-20] 概览页不显示"其中自助注册数" - 严重级:low - 分类:与PRD不符 - 现象与影响:后端返回了 `endpoints_self`,页面没有展示。运行时长只显示秒数,不直观。 - 证据:`OverviewView.vue:25-41`;`overview.go:52-62`;`types.ts:37-38`。 - 文档依据:PRD F17(约 362 行)"端数量(其中自助注册的数量)"。 - 为何不是故意设计:A3.1 只写了"W 可选用",但 PRD 把它列为必需项。 - 解决方案:增加"其中自助注册"一项;类型改为必有;运行时长按天、时、分显示。 - 改动文件:`OverviewView.vue`、`types.ts`。 - 交互/冲突风险:无。 - 需补测试:组件测试断言显示了自助注册数。 - 置信度:代码阅读确定 --- <sub>复审基线:main `4059a15`(2026-09-30)。编号说明、各工作线的合并顺序、共享文件归属见总览 #7。</sub>
nixevol added the P3-lowlane/webreview-2026-09-30 labels 2026-09-30 13:57:05 +08:00
Author
Owner

已合入 origin/main 0c9b459。落地提交 eb4e2db fix: 自适应表格高度并改用中文标签 (#56)。

已合入 origin/main `0c9b459`。落地提交 `eb4e2db` fix: 自适应表格高度并改用中文标签 (#56)。
Sign in to join this conversation.