go-admingo-admin
  • 指南
  • 开发
    • 进阶
    • 指令
  • 前端
  • 高阶
  • 授权
  • 帮助
  • GitHub
  • Changelog
⌘ K
标准写法
标准模块开发
服务端基础
后端目录结构
后端配置文件
启动后端服务
前端基础
前端目录结构
前端配置文件
启动前端服务
开发模式
Actions 模式
常规模式
第一个接口
分层开发
API 层
Service 层
DTO 定义
Model 定义
路由注册
多环境配置
数据库表规范
数据权限
统一响应
代码生成
生成前配置
生成业务代码
一键生成菜单
菜单绑定接口
配置角色权限
验证功能
用 AI 生成代码
进阶能力
Runtime 核心 API
认证与鉴权
日志
请求追踪
缓存
队列
文件上传
限流
定时任务
Air 热加载
Swagger 文档
代码生成工具
最后更新时间:
Open-source MIT Licensed | Copyright © 2020-present
Powered by go-admin-team

TABLE OF CONTENTS

‌
‌
‌
‌

首先介绍一下 go-admin 后端的目录结构:

bash
.
├── app # 业务代码,见下方说明
├── cmd # 命令入口:api / migrate / config / app / version
├── common # 公共代码:中间件、通用 Action、响应封装等
├── config # 配置文件(settings.yml 等)与建表 SQL
├── docs # Swagger 生成的接口文档,勿手动编辑
├── scripts # 部署脚本,如 Dockerfile
├── static # 静态资源与上传文件目录
├── template # 代码生成器使用的模板
├── test # 测试
├── AGENTS.md # 给 AI 编码工具与新贡献者的开发约定
├── Dockerfile / docker-compose.yml # 容器化部署配置
├── Makefile # 构建、运行相关的常用命令
├── main.go # 程序入口
├── go.mod / go.sum # 依赖声明
└── restart.sh / stop.sh # 简易的启动/停止脚本

app 目录

业务代码都在这里,按应用(app)划分子目录,每个应用内部再按层级组织:

bash
app
├── admin # 内置的用户权限管理模块:用户、角色、菜单、部门、字典等
├── demo # 标准模块的参照实现,见下方说明
├── jobs # 定时任务的示例
└── other # 公共接口,包含文件上传

以 admin 为例,内部结构是:

bash
app/admin
├── apis # Api 层,仅在超出单表 CRUD 时才需要
│ └── ...
├── models # Model 层,GORM 结构体
├── router # 路由注册
└── service
└── dto # DTO 定义
└── ... # Service 层,仅在超出单表 CRUD 时才需要

INFO

新建应用不要直接修改 admin,用 app 指令创建一个新的应用目录,方便后续跟随框架版本升级。见 app 创建模块。

app/demo:标准模块的参照物

app/demo 是当前推荐写法的完整示例,可编译、有测试、CI 会跑。标准的单表增删改查只需要三个文件:

bash
app/demo
├── models/demo_product.go # Model
├── service/dto/demo_product.go # DTO
└── router/demo_product.go # 路由 + 全部 CRUD,基于通用 Action

没有 apis/,没有 service/——通用 Action 已经覆盖了参数绑定、数据权限过滤、分页与响应封装。详见标准模块开发与 Actions 模式。

只有业务超出单表增删改查(跨表事务、外部调用、复杂校验)时,才需要手写 Api 与 Service,此时才会用到 apis/ 与 service/ 目录,参照 app/admin 的写法。

WARNING

从哪里获得帮助:

如果你在阅读本教程的过程中有任何疑问,可以前往提交建议。