Documentation
¶
Index ¶
- Constants
- func Add(tdb DatabaseClientInfo) error
- func AddModel(m interface{}) error
- func AddModels(m ...interface{}) error
- func DisableSyncModels(disable bool)
- func GetByTenantId(tenantId string) (*gorm.DB, error)
- func GinHandler(handler MultiTenantHandlerFunc) gin.HandlerFunc
- func Init(p TenantDBProvider, i TenantIdResolver, auto ...bool) error
- func SetDisableForeignKeyConstraintWhenMigrating(flag bool)
- func SetLogger(out logger.Interface)
- func SetRedisCacheConfig(dsn, password string, db int, ttl time.Duration, cacheMaxItemCnt int64)
- func SetSyncClientTime(minute int64)
- func SetSyncModelsAfter(handle SyncModelsAfter)
- func SetSyncModelsBefore(handle SyncModelsBefore)
- type DatabaseClientInfo
- type MultiTenantContext
- type MultiTenantHandlerFunc
- type Response
- type SyncModelsAfter
- type SyncModelsBefore
- type TenantDBProvider
- type TenantIdResolver
- type TenantInfo
Constants ¶
const ( ERROR = http.StatusInternalServerError SUCCESS = http.StatusOK )
定义状态码
Variables ¶
This section is empty.
Functions ¶
func DisableSyncModels ¶ added in v1.0.9
func DisableSyncModels(disable bool)
DisableSyncModels 设置同步模型是否禁用
func GetByTenantId ¶ added in v1.0.2
GetByTenantId 根据租户Id获取数据库连接对象
func SetDisableForeignKeyConstraintWhenMigrating ¶ added in v1.0.18
func SetDisableForeignKeyConstraintWhenMigrating(flag bool)
SetDisableForeignKeyConstraintWhenMigrating @description: 设置是否禁用自动创建外键约束 @param flag
func SetRedisCacheConfig ¶ added in v1.0.27
SetRedisCacheConfig @description: 设置Redis缓存连接配置 @param dsn @param password @param db
func SetSyncClientTime ¶ added in v1.0.12
func SetSyncClientTime(minute int64)
SetSyncClientTime 自动同步连接配置的时间间隔(单位:分钟)
func SetSyncModelsAfter ¶ added in v1.0.16
func SetSyncModelsAfter(handle SyncModelsAfter)
SetSyncModelsAfter @description: 设置同步模型后的回调 @param handle
func SetSyncModelsBefore ¶ added in v1.0.22
func SetSyncModelsBefore(handle SyncModelsBefore)
SetSyncModelsBefore @description: 设置同步模型前的回调 @param handle
Types ¶
type DatabaseClientInfo ¶
type DatabaseClientInfo struct { TenantId string `json:"tenantId"` // 租户ID Info TenantInfo `json:"info"` // 租户信息 Host string `json:"host"` // 数据库地址 Port int `json:"port"` // 数据库端口 User string `json:"user"` // 数据库用户名 Password string `json:"password"` // 数据库密码 Db string `json:"db"` // 数据库名称 }
DatabaseClientInfo 数据库连接配置
func (DatabaseClientInfo) GetDSN ¶
func (c DatabaseClientInfo) GetDSN() string
GetDSN 返回 MySQL 连接字符串
type MultiTenantContext ¶
type MultiTenantContext struct { *gin.Context TenantId string // 租户Id TenantInfo TenantInfo // 租户信息 DB *gorm.DB // 数据库连接 Reply Response // 返回值 }
MultiTenantContext 多租户上下文
func (*MultiTenantContext) MustParam ¶ added in v1.0.14
func (ctx *MultiTenantContext) MustParam(key string) (v string)
MustParam 获取路径参数,如果不存在,就向前端返回错误
type MultiTenantHandlerFunc ¶
type MultiTenantHandlerFunc func(*MultiTenantContext)
MultiTenantHandlerFunc 处理函数
type Response ¶ added in v1.0.24
type Response interface { Result(code int, data any, msg, err string) // 手动组装返回结果 Ok() // 返回无数据的成功 OkWithMessage(message string) // 返回自定义成功的消息 OkWithData(data any) // 自定义内容的成功返回 OkDetailed(data any, message string) // 自定义消息和内容的成功返回 Fail() // 返回默认失败 FailWithMessage(message string) // 返回默认状态码自定义消息的失败 FailWithError(msg string, err error) // 返回自定义消息和内容的失败 FailWithErrorAndCode(msg string, err error, code int) // 返回自定义消息和内容以及错误代码的失败 FailWithMessageAndCode(message string, code int) // 返回自定义消息和状态码的失败 }
Response @description: 接口返回值
type SyncModelsAfter ¶ added in v1.0.16
SyncModelsAfter 同步模型完成之后调用函数
type SyncModelsBefore ¶ added in v1.0.22
SyncModelsBefore 同步模型之前调用函数
type TenantDBProvider ¶
type TenantDBProvider func() []DatabaseClientInfo
TenantDBProvider 租户数据库连接信息提供者
type TenantIdResolver ¶
type TenantIdResolver func(*gin.Context) (string, TenantInfo, error)
TenantIdResolver 租户Id解析器
type TenantInfo ¶ added in v1.0.9
type TenantInfo struct { Id string `json:"id"` // 租户ID Name string `json:"name"` // 租户全名 ShortName string `json:"shortName"` // 租户简称 Logo string `json:"logo"` // 租户logo TypeCode string `json:"type"` // 租户类型 Extended interface{} `json:"extended"` // 自行维护的扩展信息 }
TenantInfo 租户信息
func GetAllTenantInfo ¶ added in v1.0.9
func GetAllTenantInfo() (datas []TenantInfo)
GetAllTenantInfo 获取所有租户信息