调整工厂模式的方法
This commit is contained in:
@@ -12,6 +12,31 @@
|
||||
- **统一接口**:所有操作通过工厂方法调用
|
||||
- **向后兼容**:保留 `GetXXX()` 方法,需要时可获取对象
|
||||
|
||||
## 方法分类总览
|
||||
|
||||
### 🌟 推荐使用:黑盒方法(一行代码搞定)
|
||||
|
||||
外部项目直接调用,无需获取内部对象:
|
||||
|
||||
| 功能 | 方法 | 示例 |
|
||||
|------|------|------|
|
||||
| **中间件** | `GetMiddlewareChain()` | `chain := fac.GetMiddlewareChain()` |
|
||||
| **日志** | `LogInfo()`, `LogError()` 等 | `fac.LogInfo("用户登录")` |
|
||||
| **Redis** | `RedisSet()`, `RedisGet()` 等 | `fac.RedisSet(ctx, "key", "val", time.Hour)` |
|
||||
| **邮件** | `SendEmail()` | `fac.SendEmail(to, subject, body)` |
|
||||
| **短信** | `SendSMS()` | `fac.SendSMS(phones, params)` |
|
||||
| **存储** | `UploadFile()`, `GetFileURL()` | `fac.UploadFile(ctx, key, file)` |
|
||||
|
||||
### 🔧 高级功能:Get方法(仅在必要时使用)
|
||||
|
||||
返回客户端对象,用于复杂操作:
|
||||
|
||||
| 方法 | 返回类型 | 使用场景 |
|
||||
|------|----------|----------|
|
||||
| `GetDatabase()` | `*gorm.DB` | 数据库复杂查询、事务、关联查询等 |
|
||||
| `GetRedisClient()` | `*redis.Client` | Hash、List、Set、ZSet、Pub/Sub等高级操作 |
|
||||
| `GetLogger()` | `*logger.Logger` | Close()、设置全局logger等 |
|
||||
|
||||
## 使用方法
|
||||
|
||||
### 1. 创建工厂(推荐)
|
||||
|
||||
Reference in New Issue
Block a user