调整项目架构,让框架更优化
This commit is contained in:
65
README.md
65
README.md
@@ -1,56 +1,45 @@
|
||||
# GoCommon - Go 通用工具类库
|
||||
# GoCommon
|
||||
|
||||
供其他 Go 项目引用的通用工具集合。业务项目对接请直接阅读:
|
||||
|
||||
**[业务项目对接操作手册(INTEGRATION.md)](./INTEGRATION.md)**
|
||||
|
||||
## 模块路径
|
||||
供其他 Go 项目引用的通用工具库。对接请看:**[INTEGRATION.md](./INTEGRATION.md)**
|
||||
|
||||
```
|
||||
git.toowon.com/jimmy/go-common
|
||||
```
|
||||
|
||||
## 安装
|
||||
|
||||
```bash
|
||||
go env -w GOPRIVATE=git.toowon.com
|
||||
go get git.toowon.com/jimmy/go-common@v1.0.0
|
||||
go get git.toowon.com/jimmy/go-common@v1.2.0
|
||||
```
|
||||
|
||||
## 设计概要
|
||||
## 设计
|
||||
|
||||
- **Factory**:入口,启动时初始化一次,按需 getter 获取模块对象(DB、Redis、Logger 等)
|
||||
- **各模块包**:能力在对象方法上(`log.Info()`、`store.Upload()`)
|
||||
- **http 包**:统一 HTTP 出参(Response / PageData / Handler)
|
||||
- **migration**:独立 CLI 或 Factory 执行 SQL 迁移
|
||||
- **tools**:无状态工具函数,直接 import
|
||||
- **Factory**:启动初始化一次,getter 取模块对象
|
||||
- **模块包**:`object.Method()`(如 `log.Info`、`store.Upload`)
|
||||
- **http**:统一出参(`Handler`)
|
||||
- **tools / migration**:无状态或独立 CLI,不经 Factory 透传
|
||||
|
||||
## 功能模块
|
||||
## 模块
|
||||
|
||||
| 模块 | 包路径 | 说明 |
|
||||
|------|--------|------|
|
||||
| 配置 | `config` | JSON 配置加载 |
|
||||
| 工厂 | `factory` | 统一入口与 lazy getter |
|
||||
| HTTP | `http` | 请求解析、统一响应 |
|
||||
| 中间件 | `middleware` | CORS、日志、Recovery、限流、语种、时区 |
|
||||
| 工具 | `tools` | 时间、加密、金额、类型转换 |
|
||||
| 日志 | `logger` | 异步日志 |
|
||||
| 存储 | `storage` | Local / OSS / MinIO |
|
||||
| 邮件 / 短信 | `email` / `sms` | SMTP、阿里云短信 |
|
||||
| Excel | `excel` | 数据导出 |
|
||||
| 国际化 | `i18n` | 多语言消息 |
|
||||
| 迁移 | `migration` | SQL 版本管理 |
|
||||
| 包 | 说明 |
|
||||
|----|------|
|
||||
| `config` | JSON 配置 |
|
||||
| `factory` | 入口与 lazy getter |
|
||||
| `http` | 请求解析、统一响应 |
|
||||
| `middleware` | CORS、日志、Recovery、限流、语种、时区 |
|
||||
| `logger` | 异步日志 |
|
||||
| `storage` | Local / OSS / MinIO |
|
||||
| `email` / `sms` | SMTP、阿里云短信 |
|
||||
| `excel` | 导出 |
|
||||
| `i18n` | 多语言消息 |
|
||||
| `migration` | SQL 迁移 |
|
||||
| `tools` | 时间、加密、金额等 |
|
||||
|
||||
## 文档
|
||||
|
||||
| 文档 | 说明 |
|
||||
|------|------|
|
||||
| [INTEGRATION.md](./INTEGRATION.md) | 业务项目对接操作手册 |
|
||||
| [VERSION.md](./VERSION.md) | 版本管理与发布 |
|
||||
| [templates/](./templates/) | migrate 等脚手架模板 |
|
||||
| [config/example.json](./config/example.json) | 配置文件示例 |
|
||||
| [examples/](./examples/) | 代码示例 |
|
||||
|
||||
## 许可证
|
||||
|
||||
MIT License
|
||||
| [INTEGRATION.md](./INTEGRATION.md) | 对接手册 |
|
||||
| [VERSION.md](./VERSION.md) | 版本与发布 |
|
||||
| [templates/](./templates/) | server / migrate 等脚手架 |
|
||||
| [config/example.json](./config/example.json) | 配置示例 |
|
||||
| [examples/](./examples/) | 示例代码 |
|
||||
|
||||
Reference in New Issue
Block a user