6. 开发与架构

开发与架构

本章面向维护后端、管理端或私有扩展的开发者。当前服务端要求 Go 1.26,管理端是 admin-webui Git 子模块,使用 Node.js 22 与仓库声明的 pnpm 10.10.0。

阅读顺序

  1. 系统架构与扩展点
  2. 源码构建
  3. 开发环境与首次运行
  4. 代码组织与分层约定
  5. 添加新功能与数据库迁移
  6. 测试、调试与日志
  7. 贡献流程与代码规范
  8. 管理端前端开发

版本基线

组件 当前基线
Go 1.26
go-web 1.8.4
Gin 1.12.0(由 HTTP 抽象层承载)
GORM 1.31.1
Goose 3.27.1
Node.js 推荐 22
pnpm 10.10.0
Vue / UI Vue 3、Ant Design Vue、Vben Admin 5

开发边界

  • 不直接修改已经发布的迁移;结构变化新增三个数据库方言的迁移。
  • Controller 使用 RouterContextInterface,不要把 *gin.Context 泄露到业务层。
  • Service 承担业务规则,DAO 承担数据库访问,Controller 只处理输入、权限和响应。
  • 所有工作区业务查询都要带 workspace_id,不能只依赖前端筛选。
  • 不在日志、测试数据、截图或提交中放入真实密码、Token、App Secret、个人信息。
  • 二次开发和分发必须遵守仓库 LICENSE,它不是标准开源许可证。

业务 API 约定见 API 与系统集成,运行配置见部署与运维