Page:
Task-61-Sense冻结GoAdmin源码产品骨架
Pages
Architecture-and-Code-Map
Audience-Document-Template
Business-Rules-and-Glossary
Common-Changes
Delivery-Documentation-Guide
Deployment-Template
Deployment-and-Operations
Development-Workflow
Existing-Project-Adoption-Guide
Home
Local-Development-and-Verification
Multi-Agent-Collaboration
New-Project-Documentation-Setup
Product-Requirements
Product-Roadmap
Project-Profile
Requirements-Migration-Matrix
Task-1-三项目并行建单与协同工单顺序
Task-101-Sense-GoAdmin-应用外壳
Task-104-Sense-30天登录有效期
Task-106-Sense-本机-Supervisor-实例
Task-12-Bell独立登录RBAC与认证审计
Task-17-Bell不可变Event与永久幂等收据
Task-18-Bell开发测试合成事件入口
Task-19-Bell规则匹配与Event-Alert链路
Task-20-Bell-Alert并发处置与审计时间线
Task-21-Sense独立GoAdmin产品骨架
Task-22-Sense独立登录RBAC与审计
Task-23-Sense设备台账与凭据边界
Task-24-ONVIF与RTSP视频接入验证
Task-25-MediaMTX进程与状态对账
Task-26-Sense单路实时监看
Task-27-Sense区域与方向警戒线版本配置
Task-28-三项目当前MVP交互原型
Task-3-GoAdmin默认模块精简与UI组件复用
Task-30-Sense原型对齐GoAdmin与Element-Plus
Task-31-Bell原型对齐GoAdmin与Element-Plus
Task-32-Sense网管与非技术人员原型
Task-33-Bell普通用户预警处理原型
Task-36-Bell-MVP文档与待验收归档
Task-37-Sense-Windows前后端一键打包
Task-40-Sense全模式密码最短6位
Task-42-Sense密码策略仅限制最短6位
Task-44-Sense管理员侧栏模块为空修复
Task-46-Sense-Windows包内配置加载
Task-48-支持ONVIF-Digest认证与安全Media地址归一化
Task-5-冻结Sense与Bell-GoAdmin技术基线
Task-50-ONVIF与RTSP分离凭据并持久化Profile
Task-51-接入成功后自动建立媒体路由并进入实时监看
Task-54-修复实时监看按需拉流循环等待
Task-56-修复设备编辑请求包含新建专用字段
Task-58-建立explore-main-dev分支治理并重置GoAdmin开发基线
Task-61-Sense冻结GoAdmin源码产品骨架
Task-64-Sense登录RBAC与审计
Task-65-Sense设备台账与凭据边界
Task-66-Sense视频接入与Profile
Task-67-Sense视频服务生命周期与状态对账
Task-68-Sense单路实时监看与播放状态反馈
Task-69-Sense多边形区域与方向警戒线配置
Task-70-Sense-Windows配置启动与打包交付
Task-9-Bell独立GoAdmin产品骨架
Task-90-Sense项目根目录Windows启动脚本
Task-92-Sense旧设备能力JSONB兼容迁移
Task-95-Sense旧媒体路由唯一约束兼容迁移
Task-97-Sense免验证码登录与管理员密码重置
Task-99-Sense登录页只读配置接口
Task-Archive-Template
Troubleshooting
Clone
This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
61 Sense 冻结 GoAdmin 源码产品骨架
- 类型:重构
- 所属 Epic:#7
- 所属 MVP / 版本:#8
- 状态:已完成
- 日期:2026-08-14
- 验收:2026-08-14,用户明确回复“#61 验收通过”
- Gitea 工单:#61
- Wiki 页面:Task-61-Sense冻结GoAdmin源码产品骨架
- Wiki revision:见本地镜像头
背景与目标
原 Sense 自研平台已保留在 explore,dev 需要从冻结的 go-admin/go-admin-ui 真源码建立新产品骨架,使后续独立任务在统一 GoAdmin 后端、go-admin-ui 前端和 PostgreSQL 基线上实施。
最终方案
- 从冻结 go-admin commit
f06540883b41d03782bb6b2c4150f298f328c6b6导入后端,从 go-admin-ui commit67d393d713877572fab0b897296a4c1d525fc81d导入前端;go-admin-doc commit424855aacf6905f3fde860c3331385cb25529a0d仅作使用参考。 - 后端模块改为
git.ilapage.cn/ila/yovision/Sense/server,保留 Cobra、Gin、GORM、Casbin、JWT 和迁移框架;前端保留 Router、Store、API、Layout、权限指令和 Element Plus 通用组件。 - PostgreSQL 成为唯一启用的数据库驱动。生产启动要求至少 32 个字符的 JWT 密钥和非空数据库连接串,配置输出及数据库初始化日志不回显连接串。
- 删除种子管理员、默认密码、固定 JWT、演示地图密钥和上游个人信息。仓库不提供可登录默认账号。
- 初始可见菜单仅保留用户、角色、菜单、登录日志和操作日志。上游作业及开发工具源码保留用于升级追溯,但后端路由不注册、前端入口隐藏。
- 对象存储外部集成测试改为显式环境开关,默认测试不会访问外部服务。
- 来源、许可证、工具链和本地命令记录在
Sense/LICENSES/SOURCES.md与Sense/README.md。
修改文件
Sense/server/:冻结 GoAdmin 后端源码、Sense 模块路径、安全配置、迁移与测试收敛。Sense/ui/:冻结 go-admin-ui 源码、Sense 品牌、空登录表单和 Windows 可执行构建脚本。Sense/LICENSES/SOURCES.md:完整上游 URL、commit、导入排除和许可证位置。Sense/README.md:工具链、构建、测试和安全配置入口。docs/02-architecture-and-code-map.md、docs/04-local-development-and-verification.md:由 Wiki 更新后导出的只读镜像。
验收结果
| 验收标准 | 结果 |
|---|---|
| 确实从冻结 GoAdmin/go-admin-ui 源码派生并保留许可证与完整来源 | 通过 |
| 保留 GoAdmin 后端分层及 go-admin-ui Router/Store/API/Layout/权限能力 | 通过 |
| Go 1.26.5、Node 22.22.1、pnpm 9.15.1 可复现构建 | 通过 |
| PostgreSQL 迁移、启动、健康检查、登录与管理员 RBAC 烟测 | 通过 |
| 无默认账号、默认密码、固定 JWT 或配置/日志凭据泄露 | 通过 |
| 无关作业/开发工具路由与菜单入口不启用 | 通过 |
未从 explore 复制旧自研平台实现 |
通过 |
测试
go version/go env GOVERSION GOTOOLCHAIN:实际 Go 1.26.5,toolchain auto。go test ./...:通过;对象存储外部集成用例在未显式授权时安全跳过。go vet ./...:通过。go build ./...:通过。corepack pnpm@9.15.1 install --frozen-lockfile:通过。corepack pnpm@9.15.1 lint:通过,0 error、30 条上游 warning。corepack pnpm@9.15.1 test:unit:7 suites、29 tests 全通过。corepack pnpm@9.15.1 build:prod:通过;保留 6 条上游兼容/体积 warning。- 临时 PostgreSQL 17 集群:2 个迁移版本成功,种子用户数 0,无关可见菜单数 0。
- 临时动态管理员烟测:登录、
getinfo、admin 权限、菜单可见性通过;作业路由返回 404。 - 生产模式烟测:
/info返回 200;启动日志与config输出未出现数据库连接串。 - 安全扫描:固定默认密码 0、旧模块导入 0、默认用户 INSERT 0。
- 未验证部分:尚未在真实生产 PostgreSQL、反向代理和浏览器人工 UI 中验证;这些不影响本工单源码骨架与本地可复现验收,后续部署/UI 工单继续覆盖。
遗留问题
- 前端冻结上游仍有 lint/build warning,未在本骨架工单中扩大范围清理。
- 管理员安全初始化、具体 Sense 业务菜单与页面由 #64 及后续独立工单实现。
相关提交
9674083feat: 从冻结 GoAdmin 源码重建 Sense 骨架 (#61)