docs: 完成任务 #101 待验收归档
This commit is contained in:
@@ -0,0 +1,81 @@
|
||||
<!-- gitea-wiki-mirror:start -->
|
||||
generated: true (请先修改 Gitea Wiki,禁止直接编辑本文件)
|
||||
wiki_page: Task-101-Sense-GoAdmin-应用外壳
|
||||
wiki_url: https://git.ilapage.cn/ila/yovision/wiki/Task-101-Sense-GoAdmin-%E5%BA%94%E7%94%A8%E5%A4%96%E5%A3%B3.-
|
||||
wiki_revision: 416668dca04772908eb66c5f74ef0cec7e79524c
|
||||
synchronized_at: 2026-08-16T15:32:14Z
|
||||
<!-- gitea-wiki-mirror:end -->
|
||||
|
||||
# 101 Sense-GoAdmin-应用外壳
|
||||
|
||||
- 类型:缺陷修复
|
||||
- 所属 Epic:#7
|
||||
- 所属 MVP / 版本:#8 / Sense 首个独立纵切
|
||||
- 状态:待验收
|
||||
- 日期:2026-08-16
|
||||
- Gitea 工单:https://git.ilapage.cn/ila/yovision/issues/101
|
||||
- Wiki 页面:Task-101-Sense-GoAdmin-应用外壳
|
||||
- Wiki revision:见本地镜像头
|
||||
|
||||
## 背景与目标
|
||||
|
||||
Sense 五个业务菜单原来都以顶层业务组件注册。go-admin-ui 只有在动态路由组件为 `Layout` 时才保留侧栏、顶部导航和标签页,因此点击设备管理等入口会用业务页面替换整个 GoAdmin 外壳。
|
||||
|
||||
本任务恢复冻结 GoAdmin 的标准父子菜单结构:应用外壳保持不变,模块切换只替换右侧内容区域。
|
||||
|
||||
## 最终方案
|
||||
|
||||
新增迁移 `2026081623100_sense_layout.go`,创建唯一的“视频感知”顶层目录:
|
||||
|
||||
- 顶层目录:`MenuType=M`、`Path=/sense`、`Component=Layout`。
|
||||
- 设备管理、视频接入、视频服务、实时监看、区域与警戒线:作为相对路径的 `MenuType=C` 子页面。
|
||||
- 页面下既有 `MenuType=F` 操作权限保持不变。
|
||||
- 递归重算父目录、页面和按钮的完整 `paths`。
|
||||
- 页面 URL、组件、权限标识、角色关联和业务 API 均不改变。
|
||||
- 使用新增事务迁移兼容已经执行旧迁移的 PostgreSQL 数据库,不修改历史迁移。
|
||||
|
||||
与建单方案一致,没有修改 go-admin-ui 公共 Layout 或动态路由生成器。
|
||||
|
||||
## 修改文件
|
||||
|
||||
- `Sense/server/cmd/migrate/migration/version/2026081623100_sense_layout.go`:新增 GoAdmin Layout 菜单兼容迁移。
|
||||
- `Sense/server/cmd/migrate/migration/version/2026081623100_sense_layout_test.go`:覆盖菜单层级、相对路径、完整 paths、角色关联保持、重复对齐、事务回滚和 PostgreSQL。
|
||||
- `docs/02-architecture-and-code-map.md`:同步架构 Wiki 中的 Sense 动态菜单长期规则。
|
||||
- `wiki-docs.json`、`docs/task/101-Sense-GoAdmin-应用外壳.md`:任务归档映射与镜像。
|
||||
|
||||
## 验收结果
|
||||
|
||||
| 验收标准 | 结果 |
|
||||
|---|---|
|
||||
| 五个业务页位于 Layout 父路由下 | 通过 |
|
||||
| 设备管理进入 `#/sense/devices`,标题与路径不串位 | 通过 |
|
||||
| 切换和刷新后侧栏、顶部栏、标签页保留 | 通过 |
|
||||
| 页面组件、权限标识和角色关联保持 | 通过 |
|
||||
| 已有 PostgreSQL 数据库迁移无重复菜单 | 通过 |
|
||||
| 重复对齐安全、失败事务回滚 | 通过 |
|
||||
| 后端、前端和 Windows 包验证 | 通过 |
|
||||
| Wiki、归档、PR 和证据 | 通过,等待用户验收 |
|
||||
|
||||
## 测试
|
||||
|
||||
- `go test ./cmd/migrate/migration/version -run 'Test(AlignSenseLayout|MigrateSenseLayout|SenseLayout)' -count=1`:通过。
|
||||
- 真实 PostgreSQL 隔离 schema `TestSenseLayoutMigrationOnPostgres`:通过并清理测试 schema。
|
||||
- `go test ./...`:通过。
|
||||
- `go vet ./...`、后端构建:通过。
|
||||
- `pnpm lint`:0 error,32 条冻结上游/既有 warning。
|
||||
- `pnpm test:unit -- --runInBand`:17 suites、46 tests 全部通过。
|
||||
- `pnpm build:prod`:通过,4 条既有构建 warning。
|
||||
- Windows PowerShell 5.1 包测试:21 assertions 通过;包审计通过。
|
||||
- 本机生产数据库迁移及启动:通过。
|
||||
- Headless Edge:依次打开五个菜单及刷新区域页面,`.app-wrapper`、侧栏、navbar、TagsView 全程可见,URL 均正确。
|
||||
- Windows ZIP:`Sense/dist/sense-windows-amd64.zip`,SHA-256 `BAAA973F8502BB5B0BC080F11931E60419B25EFA8FF722A6B9F9B98364399642`,源码提交 `4423d528b1dc6ebe8b6f7b8272ca5111032a1608`。
|
||||
- **未验证部分**:客户全新 Windows 主机、客户目标浏览器及 implementation_operator/site_admin/viewer 三种岗位的人工视觉验收;本机使用 admin 完成真实浏览器回归。
|
||||
|
||||
## 遗留问题
|
||||
|
||||
#99 仍处于待验收并使用独立分支;本任务代码不依赖 #99,但两项长期架构说明位于同一 Wiki 页面。PR 集成时建议先验收/合入 #99,再更新本分支到最新 dev,以消除镜像元数据的并行差异。#90 的项目档案 Wiki 更新未混入本任务提交。
|
||||
|
||||
## 相关提交
|
||||
|
||||
- `4423d528b1dc6ebe8b6f7b8272ca5111032a1608` 修复 Sense GoAdmin 应用外壳。
|
||||
- `e652109` 记录 Sense Layout 菜单长期架构。
|
||||
@@ -143,6 +143,10 @@
|
||||
{
|
||||
"page": "Task-97-Sense免验证码登录与管理员密码重置",
|
||||
"path": "docs/task/97-Sense免验证码登录与管理员密码重置.md"
|
||||
},
|
||||
{
|
||||
"page": "Task-101-Sense-GoAdmin-应用外壳",
|
||||
"path": "docs/task/101-Sense-GoAdmin-应用外壳.md"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user