docs: 归档 Sense GoAdmin 源码骨架 (#61)
This commit is contained in:
@@ -2,8 +2,8 @@
|
||||
generated: true (请先修改 Gitea Wiki,禁止直接编辑本文件)
|
||||
wiki_page: Architecture-and-Code-Map
|
||||
wiki_url: https://git.ilapage.cn/ila/yovision/wiki/Architecture-and-Code-Map.-
|
||||
wiki_revision: 119fb7b2a994d54e4d0a40f7bc2ef6238b162387
|
||||
synchronized_at: 2026-08-14T01:06:22Z
|
||||
wiki_revision: 7619efaad2d1e5567ceb9474b8a059c48f34973e
|
||||
synchronized_at: 2026-08-14T03:13:56Z
|
||||
<!-- gitea-wiki-mirror:end -->
|
||||
|
||||
# 架构与代码地图
|
||||
@@ -31,7 +31,7 @@ Bell 也可接收合成事件、传感器平台或第三方系统事件;Sense
|
||||
|
||||
| 能力 | 路径 | 首个阅读入口 | 验证位置 | 风险 |
|
||||
|---|---|---|---|---|
|
||||
| Sense 产品 | `Sense/` | `Sense/AGENTS.md`;待 GoAdmin 派生工单建立 README/入口 | 待新骨架建立 | 高:GoAdmin 派生、设备、媒体、凭据 |
|
||||
| Sense 产品 | `Sense/` | `Sense/AGENTS.md`、`Sense/README.md`、`Sense/server/main.go`、`Sense/ui/src/main.js` | `Sense/server/` Go 测试;`Sense/ui/` lint/单测/构建 | 高:GoAdmin 派生、设备、媒体、凭据 |
|
||||
| Brain 推理 | `Brain/` | `Brain/AGENTS.md`;后续包入口 | `Brain/` 内测试与契约测试 | 高:模型、GPU、隐私、事件语义 |
|
||||
| Bell 产品 | `Bell/` | `Bell/AGENTS.md`;待 GoAdmin 派生工单建立 README/入口 | 待新骨架建立 | 高:GoAdmin 派生、认证、事件与告警状态机 |
|
||||
| 共享契约 | `contracts/` | `contracts/AGENTS.md` | 三端消费者/生产者测试 | 高:兼容性与跨项目影响 |
|
||||
@@ -83,7 +83,7 @@ Sense/Brain 生成事件
|
||||
<!-- sense-runtime:start -->
|
||||
## Sense 新代码入口
|
||||
|
||||
Sense 当前处于重建前的空基线。新入口必须由 GoAdmin 派生工单从冻结 go-admin/go-admin-ui 源码建立,并在来源清单记录上游 commit;不得沿用 `explore` 中自研的 HTTP、认证、RBAC 或前端外壳作为基础框架。
|
||||
Sense 已由工单 #61 从冻结 go-admin/go-admin-ui 源码建立:后端入口为 `Sense/server/main.go`,前端入口为 `Sense/ui/src/main.js`,来源和完整 commit 记录在 `Sense/LICENSES/SOURCES.md`。后端保留 Cobra、Gin、GORM、Casbin、JWT 和迁移体系,前端保留 Router、Store、API、Layout、动态菜单与权限指令。初始可见模块仅保留用户、角色、菜单和登录/操作审计;上游作业、代码生成、监控等源码暂留用于升级追溯,但路由及用户入口不启用。仓库不提供默认账号、默认密码或可用 JWT 密钥。
|
||||
<!-- sense-runtime:end -->
|
||||
|
||||
<!-- sense-mvp:start -->
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
generated: true (请先修改 Gitea Wiki,禁止直接编辑本文件)
|
||||
wiki_page: Local-Development-and-Verification
|
||||
wiki_url: https://git.ilapage.cn/ila/yovision/wiki/Local-Development-and-Verification.-
|
||||
wiki_revision: 1730ec258fb54c1b4be15ce0f6e1a18e44281810
|
||||
synchronized_at: 2026-08-14T01:06:22Z
|
||||
wiki_revision: e97ea48e8028118b2dcdf4e5fb0199d2ad7e824e
|
||||
synchronized_at: 2026-08-14T03:14:04Z
|
||||
<!-- gitea-wiki-mirror:end -->
|
||||
|
||||
# 本地开发与验证
|
||||
@@ -57,7 +57,7 @@ Sense/Bell 的 Go、Node 与 pnpm 基线已冻结并记录于下文;Brain 的
|
||||
|
||||
| 项目 | 构建 | 测试 | 运行 | 当前状态 |
|
||||
|---|---|---|---|---|
|
||||
| Sense | 待骨架工单冻结 | 待冻结 | 待冻结 | 未初始化业务代码 |
|
||||
| Sense | `cd Sense/server; go build ./...`、`cd Sense/ui; corepack pnpm@9.15.1 build:prod` | `go test ./...`、`go vet ./...`、前端 lint/单测 | `sense server -c <仓库外配置>` | GoAdmin 源码骨架已建立;业务模块待后续工单 |
|
||||
| Brain | 待骨架工单冻结 | 待冻结 | 待冻结 | 未初始化业务代码 |
|
||||
| Bell | 待 GoAdmin 派生工单建立 | 待建立 | 待建立 | 旧实现仅在 `explore`;新基线未初始化 |
|
||||
|
||||
@@ -114,7 +114,22 @@ pnpm --version
|
||||
<!-- sense-runtime:start -->
|
||||
## Sense 本地构建与验证
|
||||
|
||||
新 Sense 尚未初始化。骨架工单必须先验证冻结 go-admin/go-admin-ui commit 与许可证,再记录从上游继承的构建、迁移、启动和测试命令;不得把 `explore` 的自研命令写成新基线事实。
|
||||
Sense 后端与前端已由工单 #61 从冻结源码建立。先确认 Go 1.26.5、Node 22.22.1 和 pnpm 9.15.1,再执行:
|
||||
|
||||
```powershell
|
||||
cd Sense/server
|
||||
go test ./...
|
||||
go vet ./...
|
||||
go build ./...
|
||||
|
||||
cd ../ui
|
||||
corepack pnpm@9.15.1 install --frozen-lockfile
|
||||
corepack pnpm@9.15.1 lint
|
||||
corepack pnpm@9.15.1 test:unit
|
||||
corepack pnpm@9.15.1 build:prod
|
||||
```
|
||||
|
||||
数据库固定为 PostgreSQL。复制 `Sense/server/config/settings.yml` 到仓库外,填写连接串和至少 32 个字符的随机 JWT 密钥;仓库模板本身不可直接启动生产服务,也不包含默认管理员。迁移和启动命令分别为 `sense migrate -c <配置路径>` 与 `sense server -c <配置路径>`。详细来源与安全约束见 `Sense/LICENSES/SOURCES.md` 和 `Sense/README.md`.
|
||||
<!-- sense-runtime:end -->
|
||||
|
||||
|
||||
|
||||
@@ -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)
|
||||
@@ -99,6 +99,10 @@
|
||||
{
|
||||
"page": "Task-32-Sense网管与非技术人员原型",
|
||||
"path": "docs/task/32-Sense网管与非技术人员原型.md"
|
||||
},
|
||||
{
|
||||
"page": "Task-61-Sense冻结GoAdmin源码产品骨架",
|
||||
"path": "docs/task/61-Sense冻结GoAdmin源码产品骨架.md"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user