docs: 归档 Sense GoAdmin 源码骨架 (#61)

This commit is contained in:
QiuSW
2026-08-14 11:20:18 +08:00
parent 96740834d6
commit b5098ac248
4 changed files with 104 additions and 8 deletions
@@ -0,0 +1,77 @@
<!-- gitea-wiki-mirror:start -->
generated: true (请先修改 Gitea Wiki,禁止直接编辑本文件)
wiki_page: Task-61-Sense冻结GoAdmin源码产品骨架
wiki_url: https://git.ilapage.cn/ila/yovision/wiki/Task-61-Sense%E5%86%BB%E7%BB%93GoAdmin%E6%BA%90%E7%A0%81%E4%BA%A7%E5%93%81%E9%AA%A8%E6%9E%B6.-
wiki_revision: 76b5c16d4dd24230d9254a636288be7d529cee2d
synchronized_at: 2026-08-14T03:20:14Z
<!-- gitea-wiki-mirror:end -->
# 61 Sense 冻结 GoAdmin 源码产品骨架
- 类型:重构
- 所属 Epic:#7
- 所属 MVP / 版本:#8
- 状态:待验收
- 日期:2026-08-14
- Gitea 工单:https://git.ilapage.cn/ila/yovision/issues/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 commit `67d393d713877572fab0b897296a4c1d525fc81d` 导入前端;go-admin-doc commit `424855aacf6905f3fde860c3331385cb25529a0d` 仅作使用参考。
- 后端模块改为 `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 及后续独立工单实现。
## 相关提交
- `9674083` feat: 从冻结 GoAdmin 源码重建 Sense 骨架 (#61)