Clone
4
Task-61-Sense冻结GoAdmin源码产品骨架
ila edited this page 2026-08-14 11:27:23 +08:00
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 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)