Skip to content

Latest commit

 

History

History
176 lines (165 loc) · 10.5 KB

sys-catalog.md

File metadata and controls

176 lines (165 loc) · 10.5 KB

目录结构

目录

  • 服务端
  • web前端
  • uniapp端(待开放)

服务端

/server
├── addons           
│   ├── modules        
│   ├── xxx插件 
│   |   ├── api
│   |   ├── controller
│   |   ├── crons
│   |   ├── global
│   |   ├── logic
│   |   ├── model
│   |   ├── queues
│   |   ├── resource
│   |   ├── router
│   |   ├── service
│   |   ├── main.go
│   |   └── README.md
├── api
│   ├── admin        
│   ├── api           
│   ├── home          
│   ├── websocket     
├── hack
├── internal
│   ├── cmd
│   ├── consts
│   ├── controller
│   ├── crons
│   ├── dao
│   ├── global
│   ├── library
│   ├── logic
│   ├── model
│   |   ├── do
│   │   ├── entity
│   │   └── input
│   ├── packed
│   ├── queues
│   ├── router
│   ├── service
│   └── websocket
├── manifest
├── resource
├── storage
├── utility
├── go.mod
├── main.go
├── Makefile
└── README.md
目录 描述
基于gf的工程目录结构做了部分调整 参考地址: https://goframe.org/pages/viewpage.action?pageId=30740166
addons 所有的插件模块都放在这里
--- modules 为插件模块提供隐式初始化
--- xxx插件 插件模块名称
--- --- api 对外接口。提供服务的输入/输出数据结构定义
--- --- --- admin 后台接口
--- --- --- api 前台通用接口,包含PC端、移动端接口等
--- --- --- home 前台PC端、H5端页面
--- --- --- websocket 可同时为多应用提供websocket接口
--- --- consts 插件内主要的常量定义
--- --- controller 接收/解析用户输入参数的入口/接口层,也可以理解为控制器
--- --- crons 项目中由系统统一接管的定时任务处理
--- --- global 项目内主要的全局变量和系统的一些初始化操作
--- --- logic 业务逻辑封装管理,特定的业务逻辑实现和封装往往是项目中最复杂的部分
--- --- model 数据结构管理模块,管理数据实体对象,以及输入与输出数据结构定义
--- --- --- input 对内接口。用于controller调用service或service之间调用时的输入/输出结构定义,以及输入过滤和预处理
--- queues 为项目内所有的消息队列的消费者提供统一的初始化和处理
--- resource 静态资源文件。这些文件往往可以通过 资源打包/镜像编译 的形式注入到发布文件中
--- --- router 注册对外接口和分组中间件
--- --- service 用于业务模块解耦的接口定义层具体的接口实现在logic中进行注入
--- main.go 插件始化文件和模块插拔接口
api 对外接口。提供服务的输入/输出数据结构定义
--- admin 后台接口
--- api 前台通用接口,包含PC端、移动端接口等
--- home 前台PC端、H5端页面
--- websocket 可同时为多应用提供websocket接口
hack 存放项目开发工具、脚本等内容例如,CLI工具的配置,各种shell/bat脚本等文件
internal 业务逻辑存放目录通过Golang internal特性对外部隐藏可见性
--- cmd 命令行管理目录可以管理维护多个命令行
--- consts 项目内主要的常量定义
--- controller 接收/解析用户输入参数的入口/接口层,也可以理解为控制器
--- crons 项目中由系统统一接管的定时任务处理
--- dao 数据访问对象,这是一层抽象对象,用于和底层数据库交互,仅包含最基础的 CURD 方法
--- global 项目内主要的全局变量和系统的一些初始化操作
--- library 项目内常用功能的扩展库
--- logic 业务逻辑封装管理,特定的业务逻辑实现和封装往往是项目中最复杂的部分
--- model 数据结构管理模块,管理数据实体对象,以及输入与输出数据结构定义
--- --- do 用于dao数据操作中业务模型与实例模型转换,由工具维护,用户不能修改
--- --- entity 与数据集合绑定的程序数据结构定义,通常和数据表一一对应
--- --- input 对内接口。用于controller调用service或service之间调用时的输入/输出结构定义,以及输入过滤和预处理
--- packed 将静态资源打包进可执行文件,无需单独部署
--- queues 为项目内所有的消息队列的消费者提供统一的初始化和处理
--- router 注册对外接口和分组中间件
--- service 用于业务模块解耦的接口定义层具体的接口实现在logic中进行注入
manifest 包含程序编译、部署、运行、配置的文件常见内容如下:
--- config 配置文件存放目录
--- docker Docker镜像相关依赖文件,脚本文件等等
--- deploy 部署相关的文件默认提供了Kubernetes集群化部署的Yaml模板,通过kustomize管理
resource 静态资源文件。这些文件往往可以通过 资源打包/镜像编译 的形式注入到发布文件中
storage 本地数据存储目录,例如文件缓存、磁盘队列数据、sql数据文件、SSL证书等
utility 一些常用的工具方法
go.mod 使用Go Module包管理的依赖描述文件
main.go 程序入口文件
Makefile 程序构建发布和开发快捷指令
README.md 项目介绍文件

web前端

/web
├── build # 打包脚本相关
│   ├── config # 配置文件
│   ├── generate # 生成器
│   ├── script # 脚本
│   └── vite # vite配置
├── mock # mock文件夹
├── public # 公共静态资源目录
├── src # 主目录
│   ├── api # 接口文件
│   ├── assets # 资源文件
│   │   ├── icons # icon sprite 图标文件夹
│   │   ├── images # 项目存放图片的文件夹
│   │   └── svg # 项目存放svg图片的文件夹
│   ├── components # 公共组件
│   ├── design # 样式文件
│   ├── directives # 指令
│   ├── enums # 枚举/常量
│   ├── hooks # hook
│   │   ├── component # 组件相关hook
│   │   ├── core # 基础hook
│   │   ├── event # 事件相关hook
│   │   ├── setting # 配置相关hook
│   │   └── web # web相关hook
│   ├── layouts # 布局文件
│   │   ├── default # 默认布局
│   │   ├── iframe # iframe布局
│   │   └── page # 页面布局
│   ├── locales # 多语言
│   ├── logics # 逻辑
│   ├── main.ts # 主入口
│   ├── router # 路由配置
│   ├── settings # 项目配置
│   │   ├── componentSetting.ts # 组件配置
│   │   ├── designSetting.ts # 样式配置
│   │   ├── encryptionSetting.ts # 加密配置
│   │   ├── localeSetting.ts # 多语言配置
│   │   ├── projectSetting.ts # 项目配置
│   │   └── siteSetting.ts # 站点配置
│   ├── store # 数据仓库
│   ├── utils # 工具类
│   └── views # 页面
├── types # 类型文件
├── vite.config.ts # vite配置文件
└── windi.config.ts # windcss配置文件

uniapp端

// 待开放