目录结构
XYGo Admin 2025-02-20 222 次阅读
详细了解 server 和 web 的完整目录结构
目录结构
后端目录 server/
server/
├── api/ # API 接口定义
│ ├── admin/ # 后台管理接口(请求/响应结构体 + g.Meta 路由声明)
│ ├── member/ # 会员端接口
│ ├── site/ # 前台公共接口
│ └── system/ # 系统接口(验证码、健康检查)
├── internal/ # 内部模块(不可外部引用)
│ ├── cmd/ # 启动命令(HTTP Server 初始化、路由注册、中间件挂载)
│ ├── controller/ # 控制器层
│ │ ├── admin/ # 后台控制器(20+ 文件)
│ │ ├── member/ # 会员控制器
│ │ ├── site/ # 前台控制器
│ │ └── system/ # 系统控制器
│ ├── logic/ # 业务逻辑层(核心代码)
│ │ ├── admin/ # 管理员管理
│ │ ├── chat/ # 即时聊天
│ │ ├── cmsdoc/ # CMS 文档
│ │ ├── cron/ # 定时任务
│ │ ├── dept/ # 部门管理
│ │ ├── gencodes/ # 代码生成器
│ │ ├── log/ # 日志管理
│ │ ├── member/ # 会员(认证/签到/通知/菜单/分组)
│ │ ├── monitor/ # 系统监控
│ │ ├── notice/ # 通知公告
│ │ ├── post/ # 岗位管理
│ │ ├── sysconfig/ # 系统配置
│ │ ├── user/ # 后台用户/登录
│ │ ├── upload.go # 文件上传
│ │ └── logic.go # 统一注册入口
│ ├── service/ # 服务接口层(gf gen service 自动生成)
│ ├── model/ # 数据模型
│ │ ├── entity/ # 数据库实体(gf gen dao 自动生成)
│ │ ├── do/ # 数据操作对象(自动生成)
│ │ └── input/ # 输入/输出结构体
│ │ ├── adminin/ # 后台输入(25 个文件)
│ │ ├── memberin/ # 会员输入
│ │ └── form/ # 通用分页结构
│ ├── dao/ # 数据访问层
│ │ ├── internal/ # 内层 DAO(自动生成,勿修改)
│ │ └── *.go # 外层 DAO(可扩展自定义方法)
│ ├── middleware/ # 中间件
│ │ ├── auth.go # 后台 JWT 鉴权
│ │ ├── member_auth.go # 会员鉴权
│ │ ├── ws_auth.go # WebSocket 鉴权
│ │ ├── cors.go # 跨域处理
│ │ ├── response.go # 统一响应包装
│ │ ├── operation_log.go # 操作日志
│ │ └── performance.go # 慢接口监控
│ ├── library/ # 基础库
│ │ ├── token/ # JWT 令牌
│ │ ├── cache/ # 缓存
│ │ ├── cron/ # 定时任务调度引擎
│ │ ├── queue/ # 消息队列(Redis/Disk 双驱动)
│ │ ├── monitor/ # 性能监控
│ │ ├── storager/ # 存储驱动(本地/OSS/COS/七牛)
│ │ ├── dbdialect/ # 数据库方言(MySQL/PG 适配)
│ │ └── security/ # 安全(脱敏/登录保护)
│ ├── crons/ # 定时任务注册
│ ├── queues/ # 消息队列消费者注册
│ ├── field/ # 资源注册
│ └── websocket/ # WebSocket 基础设施
├── manifest/
│ └── config/ # 配置文件
├── resource/
│ └── sql/ # SQL 脚本
├── hack/
│ └── config.yaml # GoFrame CLI 配置
├── go.mod
└── main.go # 入口文件
前端目录 web/
web/
├── src/
│ ├── api/ # API 请求
│ │ ├── backend/ # 后台 API(auth/system/common/cms)
│ │ └── frontend/ # 前台 API(member/doc)
│ ├── components/ # 公共组件
│ │ ├── core/ # 核心组件
│ │ │ ├── base/ # 基础(Logo)
│ │ │ ├── charts/ # 图表(9 种 ECharts 组件)
│ │ │ ├── forms/ # 表单(16 个组件)
│ │ │ ├── tables/ # 表格(ArtTable/ArtTableHeader)
│ │ │ ├── layouts/ # 布局(20+ 组件)
│ │ │ ├── media/ # 媒体(视频播放/图片裁剪)
│ │ │ └── others/ # 其他(水印/右键菜单)
│ │ └── business/ # 业务组件
│ ├── views/ # 页面视图
│ │ ├── backend/ # 后台页面(12 个模块)
│ │ └── frontend/ # 前台页面(首页/文档/社区/案例/会员)
│ ├── router/ # 路由
│ │ ├── routes/ # 静态路由 + 动态路由
│ │ ├── modules/ # 后台路由模块
│ │ ├── guards/ # 路由守卫
│ │ └── core/ # 路由核心工具
│ ├── store/ # Pinia 状态管理
│ ├── locales/ # 国际化(zh/en)
│ ├── directives/ # 自定义指令(v-auth/v-roles/v-ripple/v-highlight)
│ ├── utils/ # 工具函数
│ │ ├── http/ # Axios 封装
│ │ ├── socket/ # WebSocket 客户端
│ │ ├── storage/ # 本地存储
│ │ └── ... # 导航/UI/表单/表格/系统
│ ├── types/ # TypeScript 类型定义
│ └── styles/ # 全局样式
├── vite.config.ts # Vite 配置
├── package.json
└── tsconfig.json