docs: 部署规则与交接记录规范,开发交接记录、变更记录更新

This commit is contained in:
weijuesen
2026-08-12 14:43:09 +08:00
parent 7647705f3b
commit 9c8388d220
4 changed files with 224 additions and 4 deletions
+64 -2
View File
@@ -1,5 +1,69 @@
# 变更记录
## 2026-08-12 知识库初始版开发与部署
### 变更背景
依据《后续工作计划》#10,先跳过 YOLO 训练相关项(物理机问题),优先交付独立、见效快的模块「知识库初始版」(蚕病百科 + AI 结果解读)。蚕病内容全部取自规格书 3.6、3.1.4(风险分级阈值)与附录 11.1,不自行编造。
### 后端变更(server-go
| 文件 | 变更 |
|------|------|
| `internal/model/knowledge.go`(新增) | `Disease` / `KnowledgeArticle` 模型(`diseases``knowledge_articles` 表) |
| `internal/model/knowledge_seed.go`(新增) | 种子数据:9 个蚕病条目 + 1 篇 AI 结果解读,启动幂等写入 |
| `internal/model/knowledge_seed_test.go`(新增) | seed 数据完整性单元测试(TDD 红→绿) |
| `internal/handler/knowledge.go`(新增) | 知识库 CRUD API:`/api/v1/knowledge/diseases``/api/v1/knowledge/articles` |
| `internal/model/permission_seed.go` | 新增权限 `knowledge:read` / `knowledge:write` 及角色映射 |
| `internal/database/db.go` | AutoMigrate 注册两表 + `seedKnowledge` 幂等种子 |
| `cmd/server/main.go` | 注册知识库路由 |
### Web 变更(web
- `src/dal/knowledge.ts`(新增):知识库 API 封装与类型
- `src/pages/Knowledge.tsx`(新增):蚕病百科 + AI 结果解读双 Tab,可增删改(按权限)
- `src/router.tsx``src/layout/BasicLayout.tsx`:新增 `/knowledge` 路由与「知识库」菜单
### 小程序变更(miniapp
- `src/api/knowledge.ts`(新增)、`src/types/index.ts`:知识库接口与类型
- `src/pages/knowledge/`(新增):知识库列表页 + 详情页
- `src/pages/settings/index.tsx`:设置页新增「知识库」入口
- `src/app.config.ts`:注册新页面
### 部署(开发服务器 100.83.103.1
- 部署内容:Go 后端二进制 `server-go-linux`(含知识库 API 与两表迁移)+ Web `dist`(知识库页面)
- 回滚点:数据库 `pg_dump` `/home/pan/backups/silk-20260812-1111.dump`;旧二进制 `/home/pan/backups/rollback-20260812/server-go-linux.bak`(原位另有 `server-go-linux.old-20260812`);旧 dist `/home/pan/backups/rollback-20260812/web-dist-20260812.tar.gz`(原位另有 `dist.old-20260812`);完整回滚命令见服务器 `/home/pan/backups/rollback-20260812/README.md`
- 验证结果:`/api/v1/health` 200;登录 admin → `GET /api/v1/knowledge/diseases` 返回 9 条;`GET /api/v1/knowledge/articles?kind=ai_guide` 返回 1 条;`http://localhost:5174/` 200DB `diseases=9``knowledge_articles=1`
### 风险与备注
- `start.sh``WVP_API_BASE=18978`,与当前 WVP 实际端口 18080 不一致(既有问题,未随本次修改)
- 服务器 PostgreSQL 为 14(部署指南记录为 16,以实际为准)
- 服务器无 silk 主仓库 git(仅有 wvp-src),代码回滚以文件备份 + 本地 commit 为准
- 前端测试基建(Vitest)未配置,属计划 #27,UI 验证以 lint + 构建为准
### 补充:LAMP 操作教程(P0
- `server-go/internal/model/knowledge_seed.go`:新增 `lamp_guide` 种子文章(原理、适用场景、设备清单、5 步操作流程、结果判读、各病种检测靶标现状),内容取自规格书 3.3.2.1
- `server-go/internal/model/knowledge_seed_test.go`:新增 LAMP 教程存在性测试(TDD 红→绿)
- `miniapp/src/api/knowledge.ts``miniapp/src/pages/knowledge/index.tsx`:知识库列表增加「LAMP 教程」入口
- `miniapp/src/pages/knowledge/detail/index.tsx`:修复非 disease 类型(如 lamp_guide)误走病种详情接口的问题
- Web 无需改动(文章 Tab 已支持 `lamp_guide` 类型)
- 二次部署:后端二进制更新(sha256 `742ffb54…`),验证 `ai_guide=1``lamp_guide=1``GET /api/v1/knowledge/articles?kind=lamp_guide` 返回 1 条;回滚点见服务器 `/home/pan/backups/rollback-20260812/README.md`(原位旧二进制 `server-go-linux.old-20260812-2`
### 补充:症状图谱图片上传(P0)
- `server-go/internal/handler/knowledge_image.go`(新增):`POST /api/v1/knowledge/images`multipart 字段 `file`,限 jpg/jpeg/png/webp、≤5MB),对象键 `knowledge/<日期>/<随机>.ext`,权限 `knowledge:write`
- `server-go/internal/handler/knowledge_image_test.go`(新增):校验/类型/键生成 5 个单元测试(TDD 红→绿)
- `server-go/internal/service/s3.go`:新增 `EnsureBucket`(不存在则创建 + bucket 公开读)、`UploadImage`(对象公开读,Ceph 需对象级 ACL)、`Endpoint`
- `server-go/internal/config/config.go`:新增 `S3_BUCKET_IMAGES`(默认 `silk-images`
- Web:病种表单增加「症状图谱图片」上传 + 预览(antd Upload 自定义请求)
- 小程序:病种详情页顶部展示症状图(有 `imageUrl` 时)
- 三次部署(含 ACL 修复):上传 1x1 PNG 冒烟通过——URL 匿名 GET 200(`image/png`),病种 `imageUrl` 绑定成功(测试数据已清空);回滚点见服务器 `/home/pan/backups/rollback-20260812/README.md`(原位旧二进制 `server-go-linux.old-20260812-5`
- 说明:开发环境图片存 Ceph `silk-images` 桶(公开读),生产切云 OSS/COS 时由桶策略或 CDN 承担公开访问,代码仅需改配置
## 2026-07-17 安全与界面优化整改
### 变更背景
@@ -878,5 +942,3 @@ UPDATE cameras SET gb_channel_id = '44010201001320000001' WHERE gb_device_id = '
- `npm run build` 通过,无 TS 诊断错误
- 前端已部署到 `http://100.83.103.1:5174/videos`5174 端口正常监听)
- 编辑摄像头不再崩溃,"认证密码"正确回显,"码流类型"字段已移除且不再出现残留值