[SEN] 对齐 Sense 原型至 go-admin-ui 与 Element Plus #30

Closed
opened 2026-08-12 10:32:32 +08:00 by ila · 2 comments
Owner

当前状态:已完成

用户于 2026-08-14 明确验收通过。

基本信息

  • 类型:需求
  • 任务类型:单项目
  • 主项目:Sense
  • 主 agent:Codex / Sense UX
  • 所属 Epic:#7
  • 所属 MVP / 版本:#8
  • 阶段:原型确认

依赖与并行

  • 前置工单:#28;实现基线同时参考 #21
  • 是否允许与前置工单并行:是,在 #28 验收前作为专项完善项追加到现有原型 PR
  • 原因:当前 Sense 原型业务信息架构已具备,但应用外壳和通用组件尚未直接对齐冻结的 go-admin-ui;本工单只调整 Sense 原型,不依赖 Brain/Bell 在线。

子项目影响

  • 仅影响的子项目 / 交付单元:Sense 原型
  • 是否跨子项目:否
  • 是否修改共享接口或契约:否
  • write_paths:prototypes/sense/**、prototypes/README.md
  • 各子项目需要执行的验证:仅 Sense 原型执行桌面/移动布局、键盘导航和交互检查;Brain、Bell 做静态回归检查

协同接口

  • 生产者:冻结的本地 go-admin-ui 基线与 Sense MVP 需求
  • 消费者:Sense 后续 Vue 3 + Element Plus 页面实施工单 #21–#27
  • 契约/共享事实源:不适用;原型不是 API、数据库或跨项目契约
  • 兼容策略:保留当前 Sense 业务信息架构和原型入口;通用组件映射到 go-admin-ui / Element Plus
  • 被阻塞或需要适配的工单:#28 验收前完成;#21–#27 可将本原型作为页面落地参考
  • 集成顺序:先完成原型对齐并验收,再由 Sense 独立工单复用冻结组件实现
  • 上游只读参考:D:\github\goadmin\go-admin-ui,不得修改

原始需求

  • 来源:用户对话
  • 提出时间:2026-08-12
  • 关键原话或脱敏摘要:在原型验收前,以本地 go-admin-ui 为基准重新对齐应用外壳、导航、标签页和 Element Plus 通用组件,只为视频监看、区域绘制新增业务组件。

要解决什么

当前 Sense 原型使用自定义 HTML/CSS 组件,虽具备通用管理后台结构,但未直接映射 go-admin-ui 的应用外壳、页面容器和 Element Plus 组件。若直接据此实施,会造成布局、组件和交互二次设计。目标是在不改变业务信息架构的前提下,让原型可直接指导最终 go-admin-ui 页面落地。

做什么 / 不做什么

  • 做:
    • 对齐 go-admin-ui 的侧边菜单、Navbar、TagsView、页面容器和内容密度。
    • 将按钮、表单、表格、分页、Dialog、Tag、搜索栏和权限按钮映射到 Element Plus / go-admin-ui 现有模式。
    • 保留运行总览、设备接入、实时监看、区域配置四个业务页面。
    • 仅为视频舞台和区域绘制画布保留 Sense 专用组件。
    • 在原型说明中记录直接参考路径、版本信息和组件映射。
  • 不做:
    • 不复制 go-admin-ui 源码或打包依赖,不修改 D:\github\goadmin。
    • 不创建正式 Vue 页面,不实现 API、RBAC、ONVIF、MediaMTX 或真实播放器。
    • 不修改 Brain/Bell 信息架构或跨项目契约。

已确认方案

  • 原型继续采用可离线打开的 HTML/CSS/JavaScript,但视觉、尺寸、结构与交互语义直接对应 go-admin-ui + Element Plus。
  • 通用组件标注其落地映射:Page Container、el-card、el-form、el-table、el-pagination、el-dialog、el-tag 和权限按钮。
  • 搜索区采用 go-admin-ui 常见的卡片内 inline form;工具栏区分普通操作和权限受控操作。
  • 保留 SVG 图标、键盘焦点、Escape 关闭弹窗、减少动画偏好和 375px 响应式支持。
  • Sense 专用视频监看与区域画布不伪装成通用组件,明确作为后续新增业务组件。

预计修改文件:

  • prototypes/sense/index.html
  • prototypes/sense/go-admin-ui.css
  • prototypes/sense/sense.js
  • prototypes/README.md

需求变化记录

日期 变化内容 原因 用户确认
2026-08-12 Sense 原型由通用后台风格升级为直接对齐冻结 go-admin-ui 降低 #21–#27 正式开发的组件和布局返工 是

文档影响

  • 不影响长期产品文档,原因:本工单调整版本绑定原型,不改变稳定业务需求
  • 更新项目档案或本地开发与验证
  • 更新架构与代码地图
  • 更新业务规则与术语
  • 更新常见修改或故障排查
  • 更新其他 Wiki 页面

交付文档影响

  • 无交付文档影响,原因:不适用
  • 更新已有交付文档,受众与页面:产品/开发/测试使用 prototypes/README.md
  • 新增交付文档
  • 需要目标岗位或客户代表验证:是;浏览器确认布局、组件映射和 Sense 业务流程

验收标准

  • Sense 应用外壳直接对应 go-admin-ui 的 Sidebar、Navbar、TagsView 与 AppMain/Page Container。
  • 页面通用控件可明确映射至 Element Plus 的 Button、Form、Input/Select、Table、Pagination、Dialog 和 Tag。
  • 设备搜索区和权限操作区遵循 go-admin-ui 已有页面模式,权限按钮有明确标识和禁用/受控状态。
  • 仅视频舞台与区域绘制画布作为 Sense 专用组件;其余组件不重复发明。
  • 原有运行总览、设备接入、实时监看和区域配置信息架构与关键交互保持可用。
  • 1440px、768px、375px 布局可用,无页面级横向溢出;键盘焦点、Escape 弹窗和减少动画偏好有效。
  • 无外部 CDN/生产依赖,未修改本地 go-admin-ui 参考仓库,Brain/Bell 原型无回归。
  • README 记录参考仓库、版本/commit 和组件映射边界。

验证方式

  • 对照 D:\github\goadmin\go-admin-ui\src\layout/** 与典型 src/views/**/index.vue
  • 静态资源引用、重复 ID 和外部依赖检查
  • JavaScript 语法检查
  • 浏览器验证 1440px、768px、375px
  • 键盘导航、Escape、搜索、分页、Dialog、标签页和权限按钮检查
  • Brain/Bell 原型入口与关键内容回归
  • python dev_scripts/check_harness.py --strict
  • python -m unittest discover -s tests -v
  • git diff --check

风险和回退

风险:过度照搬框架可能削弱 Sense 的视频业务效率;原型 HTML 也可能被误认为已使用真实 Element Plus。控制方式是记录“组件映射而非运行依赖”,通用组件对齐、专用组件保持独立。回退时仅回退本工单提交,恢复 #28 初版原型。

## 当前状态:已完成 用户于 2026-08-14 明确验收通过。 ## 基本信息 - 类型:需求 - 任务类型:单项目 - 主项目:Sense - 主 agent:Codex / Sense UX - 所属 Epic:#7 - 所属 MVP / 版本:#8 - 阶段:原型确认 ## 依赖与并行 - 前置工单:#28;实现基线同时参考 #21 - 是否允许与前置工单并行:是,在 #28 验收前作为专项完善项追加到现有原型 PR - 原因:当前 Sense 原型业务信息架构已具备,但应用外壳和通用组件尚未直接对齐冻结的 go-admin-ui;本工单只调整 Sense 原型,不依赖 Brain/Bell 在线。 ## 子项目影响 - 仅影响的子项目 / 交付单元:Sense 原型 - 是否跨子项目:否 - 是否修改共享接口或契约:否 - write_paths:prototypes/sense/**、prototypes/README.md - 各子项目需要执行的验证:仅 Sense 原型执行桌面/移动布局、键盘导航和交互检查;Brain、Bell 做静态回归检查 ## 协同接口 - 生产者:冻结的本地 go-admin-ui 基线与 Sense MVP 需求 - 消费者:Sense 后续 Vue 3 + Element Plus 页面实施工单 #21–#27 - 契约/共享事实源:不适用;原型不是 API、数据库或跨项目契约 - 兼容策略:保留当前 Sense 业务信息架构和原型入口;通用组件映射到 go-admin-ui / Element Plus - 被阻塞或需要适配的工单:#28 验收前完成;#21–#27 可将本原型作为页面落地参考 - 集成顺序:先完成原型对齐并验收,再由 Sense 独立工单复用冻结组件实现 - 上游只读参考:D:\github\goadmin\go-admin-ui,不得修改 ## 原始需求 - 来源:用户对话 - 提出时间:2026-08-12 - 关键原话或脱敏摘要:在原型验收前,以本地 go-admin-ui 为基准重新对齐应用外壳、导航、标签页和 Element Plus 通用组件,只为视频监看、区域绘制新增业务组件。 ## 要解决什么 当前 Sense 原型使用自定义 HTML/CSS 组件,虽具备通用管理后台结构,但未直接映射 go-admin-ui 的应用外壳、页面容器和 Element Plus 组件。若直接据此实施,会造成布局、组件和交互二次设计。目标是在不改变业务信息架构的前提下,让原型可直接指导最终 go-admin-ui 页面落地。 ## 做什么 / 不做什么 - 做: - 对齐 go-admin-ui 的侧边菜单、Navbar、TagsView、页面容器和内容密度。 - 将按钮、表单、表格、分页、Dialog、Tag、搜索栏和权限按钮映射到 Element Plus / go-admin-ui 现有模式。 - 保留运行总览、设备接入、实时监看、区域配置四个业务页面。 - 仅为视频舞台和区域绘制画布保留 Sense 专用组件。 - 在原型说明中记录直接参考路径、版本信息和组件映射。 - 不做: - 不复制 go-admin-ui 源码或打包依赖,不修改 D:\github\goadmin。 - 不创建正式 Vue 页面,不实现 API、RBAC、ONVIF、MediaMTX 或真实播放器。 - 不修改 Brain/Bell 信息架构或跨项目契约。 ## 已确认方案 - 原型继续采用可离线打开的 HTML/CSS/JavaScript,但视觉、尺寸、结构与交互语义直接对应 go-admin-ui + Element Plus。 - 通用组件标注其落地映射:Page Container、el-card、el-form、el-table、el-pagination、el-dialog、el-tag 和权限按钮。 - 搜索区采用 go-admin-ui 常见的卡片内 inline form;工具栏区分普通操作和权限受控操作。 - 保留 SVG 图标、键盘焦点、Escape 关闭弹窗、减少动画偏好和 375px 响应式支持。 - Sense 专用视频监看与区域画布不伪装成通用组件,明确作为后续新增业务组件。 预计修改文件: - prototypes/sense/index.html - prototypes/sense/go-admin-ui.css - prototypes/sense/sense.js - prototypes/README.md ## 需求变化记录 | 日期 | 变化内容 | 原因 | 用户确认 | |---|---|---|---| | 2026-08-12 | Sense 原型由通用后台风格升级为直接对齐冻结 go-admin-ui | 降低 #21–#27 正式开发的组件和布局返工 | 是 | ## 文档影响 - [x] 不影响长期产品文档,原因:本工单调整版本绑定原型,不改变稳定业务需求 - [ ] 更新项目档案或本地开发与验证 - [ ] 更新架构与代码地图 - [ ] 更新业务规则与术语 - [ ] 更新常见修改或故障排查 - [ ] 更新其他 Wiki 页面 ## 交付文档影响 - [ ] 无交付文档影响,原因:不适用 - [x] 更新已有交付文档,受众与页面:产品/开发/测试使用 prototypes/README.md - [ ] 新增交付文档 - [x] 需要目标岗位或客户代表验证:是;浏览器确认布局、组件映射和 Sense 业务流程 ## 验收标准 - [ ] Sense 应用外壳直接对应 go-admin-ui 的 Sidebar、Navbar、TagsView 与 AppMain/Page Container。 - [ ] 页面通用控件可明确映射至 Element Plus 的 Button、Form、Input/Select、Table、Pagination、Dialog 和 Tag。 - [ ] 设备搜索区和权限操作区遵循 go-admin-ui 已有页面模式,权限按钮有明确标识和禁用/受控状态。 - [ ] 仅视频舞台与区域绘制画布作为 Sense 专用组件;其余组件不重复发明。 - [ ] 原有运行总览、设备接入、实时监看和区域配置信息架构与关键交互保持可用。 - [ ] 1440px、768px、375px 布局可用,无页面级横向溢出;键盘焦点、Escape 弹窗和减少动画偏好有效。 - [ ] 无外部 CDN/生产依赖,未修改本地 go-admin-ui 参考仓库,Brain/Bell 原型无回归。 - [ ] README 记录参考仓库、版本/commit 和组件映射边界。 ## 验证方式 - 对照 D:\github\goadmin\go-admin-ui\src\layout/** 与典型 src/views/**/index.vue - 静态资源引用、重复 ID 和外部依赖检查 - JavaScript 语法检查 - 浏览器验证 1440px、768px、375px - 键盘导航、Escape、搜索、分页、Dialog、标签页和权限按钮检查 - Brain/Bell 原型入口与关键内容回归 - python dev_scripts/check_harness.py --strict - python -m unittest discover -s tests -v - git diff --check ## 风险和回退 风险:过度照搬框架可能削弱 Sense 的视频业务效率;原型 HTML 也可能被误认为已使用真实 Element Plus。控制方式是记录“组件映射而非运行依赖”,通用组件对齐、专用组件保持独立。回退时仅回退本工单提交,恢复 #28 初版原型。
ila added the kind/taskproject/sensescope/independentpriority/p0area/ux labels 2026-08-12 10:32:32 +08:00
Author
Owner

状态:待验收

Sense 原型已按冻结的本地 go-admin-ui 基线完成直接对齐,并追加到现有 PR #29。

  • 实现提交:1da77fe
  • PR:#29
  • 参考 go-admin-ui commit:67d393d713877572fab0b897296a4c1d525fc81d
  • 应用外壳:Sidebar、Navbar、TagsView、AppMain / 页面容器
  • 通用组件:Button、Form、Input/Select、Table、Pagination、Dialog、Tag、搜索区和权限按钮
  • 专用组件:SenseVideoStage、SenseZoneCanvas

验证结果:

  • Harness 严格检查通过
  • 仓库 25 项测试通过
  • JavaScript 语法与 git diff --check 通过
  • 1440px、768px、375px 及手机横屏无页面级横向溢出
  • 搜索/重置、Dialog/Escape、侧栏折叠、移动抽屉和 TagsView 通过
  • 无重复 ID、无外部运行资源、浏览器控制台无错误
  • Brain/Bell 375px 回归通过
  • 本地 go-admin-ui 参考仓库保持干净未修改

尚未完成产品/客户人工验收,因此不关闭工单。

## 状态:待验收 Sense 原型已按冻结的本地 go-admin-ui 基线完成直接对齐,并追加到现有 PR #29。 - 实现提交:1da77fe - PR:https://git.ilapage.cn/ila/yovision/pulls/29 - 参考 go-admin-ui commit:67d393d713877572fab0b897296a4c1d525fc81d - 应用外壳:Sidebar、Navbar、TagsView、AppMain / 页面容器 - 通用组件:Button、Form、Input/Select、Table、Pagination、Dialog、Tag、搜索区和权限按钮 - 专用组件:SenseVideoStage、SenseZoneCanvas 验证结果: - Harness 严格检查通过 - 仓库 25 项测试通过 - JavaScript 语法与 git diff --check 通过 - 1440px、768px、375px 及手机横屏无页面级横向溢出 - 搜索/重置、Dialog/Escape、侧栏折叠、移动抽屉和 TagsView 通过 - 无重复 ID、无外部运行资源、浏览器控制台无错误 - Brain/Bell 375px 回归通过 - 本地 go-admin-ui 参考仓库保持干净未修改 尚未完成产品/客户人工验收,因此不关闭工单。
Author
Owner

用户验收通过(2026-08-14)

用户已明确确认当前未验收工单通过验收。本工单的实现、测试与既有证据按记录接受,Wiki 归档状态已更新为“已完成”(revision aa30868a002d)。验收镜像已通过 PR #63 合入 dev,merge commit 27f180c。

此验收不改变 #58 的架构决定:旧自研基础框架不会恢复为 dev 基线,Sense/Bell 后续仍分别由 #61/#62 从冻结 GoAdmin 源码重建。

## 用户验收通过(2026-08-14) 用户已明确确认当前未验收工单通过验收。本工单的实现、测试与既有证据按记录接受,Wiki 归档状态已更新为“已完成”(revision `aa30868a002d`)。验收镜像已通过 PR #63 合入 `dev`,merge commit `27f180c`。 此验收不改变 #58 的架构决定:旧自研基础框架不会恢复为 `dev` 基线,Sense/Bell 后续仍分别由 #61/#62 从冻结 GoAdmin 源码重建。
ila closed this issue 2026-08-14 10:06:47 +08:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: ila/yovision#30