facade

package
v1.9.9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 24, 2026 License: Apache-2.0 Imports: 33 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var CacheInst = &CacheClass{}

CacheInst - 缓存配置控制器实例

View Source
var GoMail = &GoMailClass{}

GoMail - GoMail邮件服务

View Source
var LogDebug *zap.Logger

LogDebug - debug日志通道

View Source
var LogError *zap.Logger

LogError - error日志通道

View Source
var LogInfo *zap.Logger

LogInfo - info日志通道

View Source
var LogInst = &LogClass{}

LogInst - 日志配置控制器实例

View Source
var LogWarn *zap.Logger

LogWarn - warn日志通道

View Source
var SmsInst = &SmsClass{}
View Source
var StorageInst = &StorageClass{}

Functions

This section is empty.

Types

type CacheAPI

type CacheAPI interface {
	// Tag
	/**
	 * @name 标签
	 * @param tag 标签
	 * @return CacheAPI
	 */
	Tag(tag ...string) CacheAPI
	// Tags
	/**
	 * @name 标签
	 * @param tag 标签
	 * @return CacheAPI
	 */
	Tags(tag []string) CacheAPI
	// Key
	/**
	 * @name 键
	 * @param key 键
	 * @return CacheAPI
	 */
	Key(key ...string) CacheAPI
	// Keys
	/**
	 * @name 键集
	 * @param key 键集
	 * @return CacheAPI
	 */
	Keys(key []string) CacheAPI
	// Has
	/**
	 * @name 判断缓存是否存在
	 * @param key 缓存的key
	 * @return bool
	 */
	Has(key string) (ok bool)
	// Get
	/**
	 * @name 获取缓存
	 * @param key 缓存的key
	 * @return any 缓存值
	 */
	Get(key string) (value any)
	// Set
	/**
	 * @name 设置缓存
	 * @param key 缓存的key
	 * @param value 缓存的值
	 * @param expired (可选)过期时间
	 * @return bool
	 */
	Set(key string, value any) (ok bool)
	// Delete
	/**
	 * @name 删除缓存
	 * @param key 缓存的key
	 * @return bool
	 */
	Delete(key ...string) (ok bool)
	// Clear
	/**
	 * @name 清空缓存
	 * @return bool
	 */
	Clear() (ok bool)
	// Expired
	/**
	 * @name 设置缓存过期时间
	 * @param second 过期时间
	 * @param second 支持 time.Duration 类型,字符串类型(如 "5s", "1m")或数值类型(按秒计算)
	 * @return CacheAPI
	 */
	Expired(second any) CacheAPI
	// NewCache - 新建缓存
	NewCache(config dto.CacheConfig) CacheAPI
}

CacheAPI - 统一缓存能力接口

var Cache CacheAPI

Cache - Cache实例 *

  • @return CacheAPI
  • @example:
  • cache := facade.Cache.Expire(5 * time.Minute).Set("test", "这是测试")

type CacheBody

type CacheBody struct {
	// 键集 - \/:*?"<>|
	Keys []string
	// 标签
	Tags []string
	// 前缀
	Prefix string
	// 过期时间
	Expired time.Duration
}

CacheBody - 链式调用上下文

type CacheClass

type CacheClass struct {
	// 记录配置 Hash 值,用于检测配置文件是否有变化
	Hash string `json:"hash"`
	// 当前缓存配置(由调用方注入)
	Config dto.CacheConfig `json:"config"`
	// 是否已经注入过配置
	HasConfig bool `json:"hasConfig"`
}

CacheClass - 缓存配置控制器

func (*CacheClass) Init

func (this *CacheClass) Init(config ...dto.CacheConfig)

Init 初始化

func (*CacheClass) ReloadIfChanged added in v1.9.6

func (this *CacheClass) ReloadIfChanged(config ...dto.CacheConfig)

ReloadIfChanged - 当配置发生变化时重新加载缓存

type CosClass added in v1.9.7

type CosClass struct {
	// COS客户端
	Client *cos.Client
	// 配置
	Config dto.StorageConfig
	// 参数
	Params StorageParams
}

CosClass 腾讯云对象存储

var COS *CosClass

func (*CosClass) Dir added in v1.9.7

func (this *CosClass) Dir(dir string) StorageAPI

Dir - 本地存储位置 - 生成文件目录

func (*CosClass) Ext added in v1.9.7

func (this *CosClass) Ext(ext string) StorageAPI

Ext - 本地存储位置 - 生成文件后缀

func (*CosClass) Init added in v1.9.7

func (this *CosClass) Init()

Init 初始化 腾讯云对象存储

func (*CosClass) Name added in v1.9.7

func (this *CosClass) Name(name string) StorageAPI

Name - 本地存储位置 - 生成文件名

func (*CosClass) NewStorage added in v1.9.7

func (this *CosClass) NewStorage(config dto.StorageConfig) StorageAPI

NewStorage - 使用传入配置创建存储实例

func (*CosClass) Object added in v1.9.7

func (this *CosClass) Object() *cos.ObjectService

Object - 获取Object(对象存储)

func (*CosClass) Path added in v1.9.7

func (this *CosClass) Path() (path string)

Path - COS存储位置 - 生成文件路径

func (*CosClass) Upload added in v1.9.7

func (this *CosClass) Upload(reader io.Reader) (response *StorageResp)

Upload - 上传文件

type FileCacheResp

type FileCacheResp struct {
	// 过期时间戳
	Expired int64 `json:"expired"`
	// 缓存值
	Value any `json:"value"`
}

FileCacheResp - 文件缓存结构

type FileClass

type FileClass struct {
	// 文件客户端
	Fs afero.Fs
	// 缓存参数
	Body CacheBody
	// 当前配置
	Config dto.CacheFileConfig
	// 存储目录
	Root string
	// 文件后缀
	Suffix string
}

FileClass - 文件缓存实现

var FileCache *FileClass

FileCache - 当前激活的文件缓存实例(当 Engine=file 时可用)

func (*FileClass) Chmod

func (this *FileClass) Chmod(dest string, mode int64)

Chmod - 修改文件或目录权限 - 辅助方法

func (*FileClass) Clear

func (this *FileClass) Clear() (ok bool)

Clear - 清空缓存

func (*FileClass) DelTags

func (this *FileClass) DelTags()

DelTags - 删除标签

func (*FileClass) Delete

func (this *FileClass) Delete(key ...string) (ok bool)

Delete - 删除缓存

func (*FileClass) DeleteFile

func (this *FileClass) DeleteFile(dest string) error

DeleteFile - 删除文件或目录 - 辅助方法

func (*FileClass) Dest

func (this *FileClass) Dest(key string) string

Dest - 缓存目录 - 辅助方法

func (*FileClass) Exist

func (this *FileClass) Exist(dest string) (ok bool)

Exist 检查文件或目录是否存在 - 辅助方法

func (*FileClass) Expired

func (this *FileClass) Expired(second any) CacheAPI

Expired - 过期时间

func (*FileClass) Get

func (this *FileClass) Get(key string) (value any)

Get - 获取缓存

func (*FileClass) Has

func (this *FileClass) Has(key string) (ok bool)

Has - 判断缓存是否存在

func (*FileClass) Init

func (this *FileClass) Init(config dto.CacheFileConfig)

Init 初始化 文件缓存

func (*FileClass) Key

func (this *FileClass) Key(key ...string) CacheAPI

Key - 键

func (*FileClass) Keys

func (this *FileClass) Keys(key []string) CacheAPI

Keys - 键集

func (*FileClass) Name

func (this *FileClass) Name(key string) string

Name - 缓存名称规则 - 辅助方法

func (*FileClass) NewCache

func (this *FileClass) NewCache(config dto.CacheConfig) CacheAPI

NewCache - 按配置创建新的缓存实例

func (*FileClass) Read

func (this *FileClass) Read(dest string) (content []byte, err error)

Read - 读取文件内容 - 辅助方法

func (*FileClass) Reset

func (this *FileClass) Reset()

Reset - 重置配置 - 辅助方法

func (*FileClass) Set

func (this *FileClass) Set(key string, value any) (ok bool)

Set - 设置缓存

func (*FileClass) SetTags

func (this *FileClass) SetTags(key string)

SetTags - 设置标签

func (*FileClass) Tag

func (this *FileClass) Tag(tag ...string) CacheAPI

Tag - 标签

func (*FileClass) Tags

func (this *FileClass) Tags(tag []string) CacheAPI

Tags - 标签

func (*FileClass) Write

func (this *FileClass) Write(dest string, content []byte) (err error)

CreateFile - 创建文件并写入内容 - 辅助方法

type GoMailClass added in v1.9.6

type GoMailClass struct {
	// 邮件客户端
	Client *gomail.Dialer
	// 配置
	Config dto.SmsConfig
	// 参数
	Body dto.SmsBody
}

GoMailClass - GoMail邮件服务

func (*GoMailClass) Code added in v1.9.6

func (this *GoMailClass) Code(code string) SmsAPI

Code - 自定义验证码

func (*GoMailClass) Init added in v1.9.6

func (this *GoMailClass) Init()

Init 初始化 邮件服务

func (*GoMailClass) Len added in v1.9.6

func (this *GoMailClass) Len(length int) SmsAPI

Len - 验证码长度

func (*GoMailClass) NewSms added in v1.9.6

func (this *GoMailClass) NewSms(config dto.SmsConfig) SmsAPI

NewSms - 使用传入配置创建短信实例

func (*GoMailClass) Nickname added in v1.9.6

func (this *GoMailClass) Nickname(nickname string) SmsAPI

Nickname - 昵称(发件人)

func (*GoMailClass) Send added in v1.9.6

func (this *GoMailClass) Send(target ...any) (*dto.SmsResp, error)

Send - 发送验证码

func (*GoMailClass) SetBody added in v1.9.6

func (this *GoMailClass) SetBody(body dto.SmsBody) SmsAPI

SetBody - 设置参数体

func (*GoMailClass) Subject added in v1.9.6

func (this *GoMailClass) Subject(subject string) SmsAPI

Subject - 主题(标题)

func (*GoMailClass) Target added in v1.9.6

func (this *GoMailClass) Target(target string) SmsAPI

Target - 目标邮箱

type LocalStorageClass added in v1.9.7

type LocalStorageClass struct {
	// 配置
	Config dto.StorageConfig
	// 参数
	Params StorageParams
}

LocalStorageClass 本地存储

var LocalStorage *LocalStorageClass

func (*LocalStorageClass) Dir added in v1.9.7

func (this *LocalStorageClass) Dir(dir string) StorageAPI

Dir - 本地存储位置 - 生成文件目录

func (*LocalStorageClass) Ext added in v1.9.7

func (this *LocalStorageClass) Ext(ext string) StorageAPI

Ext - 本地存储位置 - 生成文件后缀

func (*LocalStorageClass) Name added in v1.9.7

func (this *LocalStorageClass) Name(name string) StorageAPI

Name - 本地存储位置 - 生成文件名

func (*LocalStorageClass) NewStorage added in v1.9.7

func (this *LocalStorageClass) NewStorage(config dto.StorageConfig) StorageAPI

NewStorage - 使用传入配置创建存储实例

func (*LocalStorageClass) Path added in v1.9.7

func (this *LocalStorageClass) Path() (path string)

Path - 本地存储位置 - 生成文件路径

func (*LocalStorageClass) Upload added in v1.9.7

func (this *LocalStorageClass) Upload(reader io.Reader) (response *StorageResp)

Upload - 上传文件

type LogAPI added in v1.9.8

type LogAPI interface {
	Info(data map[string]any, msg ...any)
	Warn(data map[string]any, msg ...any)
	Error(data map[string]any, msg ...any)
	Debug(data map[string]any, msg ...any)
	NewLog(config dto.LogConfig) LogAPI
}

LogAPI - 统一日志能力接口

var Log LogAPI

Log - 日志

type LogClass added in v1.9.8

type LogClass struct {
	// 记录配置 Hash 值,用于检测配置文件是否有变化
	Hash string `json:"hash"`
	// 当前日志配置(由调用方注入)
	Config dto.LogConfig `json:"config"`
	// 是否已经注入过配置
	HasConfig bool `json:"hasConfig"`
	// 日志级别
	Level string `json:"level"`
	// 日志内容
	Msg string `json:"msg"`
}

LogClass - 日志配置控制器

func (*LogClass) Init added in v1.9.8

func (this *LogClass) Init(config ...dto.LogConfig)

Init - 初始化日志

func (*LogClass) NewLevel added in v1.9.8

func (this *LogClass) NewLevel(levelName string, config ...dto.LogConfig) *zap.Logger

NewLevel - 创建日志通道

func (*LogClass) ReloadIfChanged added in v1.9.8

func (this *LogClass) ReloadIfChanged(config ...dto.LogConfig)

ReloadIfChanged - 当配置发生变化时重新加载日志

func (*LogClass) Write added in v1.9.8

func (this *LogClass) Write(data map[string]any, msg ...any)

Write - 写入日志

type OssClass added in v1.9.7

type OssClass struct {
	// OSS客户端
	Client *oss.Client
	// 配置
	Config dto.StorageConfig
	// 参数
	Params StorageParams
}

OssClass 阿里云对象存储

var OSS *OssClass

func (*OssClass) Bucket added in v1.9.7

func (this *OssClass) Bucket() *oss.Bucket

Bucket - 获取Bucket(存储桶)

func (*OssClass) Dir added in v1.9.7

func (this *OssClass) Dir(dir string) StorageAPI

Dir - 本地存储位置 - 生成文件目录

func (*OssClass) Ext added in v1.9.7

func (this *OssClass) Ext(ext string) StorageAPI

Ext - 本地存储位置 - 生成文件后缀

func (*OssClass) Init added in v1.9.7

func (this *OssClass) Init()

Init 初始化 阿里云对象存储

func (*OssClass) Name added in v1.9.7

func (this *OssClass) Name(name string) StorageAPI

Name - 本地存储位置 - 生成文件名

func (*OssClass) NewStorage added in v1.9.7

func (this *OssClass) NewStorage(config dto.StorageConfig) StorageAPI

NewStorage - 使用传入配置创建存储实例

func (*OssClass) Path added in v1.9.7

func (this *OssClass) Path() (path string)

Path - OSS存储位置 - 生成文件路径

func (*OssClass) Upload added in v1.9.7

func (this *OssClass) Upload(reader io.Reader) (response *StorageResp)

Upload - 上传文件

type RedisClass

type RedisClass struct {
	Client *redis.Client
	Body   CacheBody
	Config dto.CacheRedisConfig
}

RedisClass - Redis缓存

var Redis *RedisClass

Redis - 当前激活的 Redis 缓存实例(当 Engine=redis 时可用)

func (*RedisClass) Clear

func (this *RedisClass) Clear() (ok bool)

Clear - 清空缓存

func (*RedisClass) DelTags

func (this *RedisClass) DelTags()

DelTags - 删除标签

func (*RedisClass) Delete

func (this *RedisClass) Delete(key ...string) (ok bool)

Delete - 删除缓存

func (*RedisClass) Expired

func (this *RedisClass) Expired(second any) CacheAPI

Expired - 过期时间

func (*RedisClass) Get

func (this *RedisClass) Get(key string) (value any)

Get - 获取缓存

func (*RedisClass) Has

func (this *RedisClass) Has(key string) (ok bool)

Has - 判断缓存是否存在

func (*RedisClass) Init

func (this *RedisClass) Init(config dto.CacheRedisConfig)

Init - 初始化 Redis 缓存

func (*RedisClass) Key

func (this *RedisClass) Key(key ...string) CacheAPI

Key - 键

func (*RedisClass) Keys

func (this *RedisClass) Keys(key []string) CacheAPI

Keys - 键集

func (*RedisClass) Name

func (this *RedisClass) Name(key any) string

Name - 缓存名称规则

func (*RedisClass) NewCache

func (this *RedisClass) NewCache(config dto.CacheConfig) CacheAPI

NewCache - 按配置创建新的缓存实例

func (*RedisClass) Reset

func (this *RedisClass) Reset()

Reset - 重置配置 - 辅助方法

func (*RedisClass) Set

func (this *RedisClass) Set(key string, value any) (ok bool)

Set - 设置缓存

func (*RedisClass) SetTags

func (this *RedisClass) SetTags(key string)

SetTags - 设置标签 - 辅助方法

func (*RedisClass) Tag

func (this *RedisClass) Tag(tag ...string) CacheAPI

Tag - 标签

func (*RedisClass) Tags

func (this *RedisClass) Tags(tag []string) CacheAPI

Tags - 标签

type SmsAPI added in v1.9.6

type SmsAPI interface {
	// Target - 目标手机号
	Target(target string) SmsAPI
	// Code - 自定义验证码
	Code(code string) SmsAPI
	// Len - 验证码长度
	Len(length int) SmsAPI
	// Send - 发送验证码
	Send(target ...any) (*dto.SmsResp, error)
	// Subject - 主题(标题)
	Subject(subject string) SmsAPI
	// SetBody - 设置参数体
	SetBody(body dto.SmsBody) SmsAPI
	// NewSms - 使用配置创建新的短信实例
	NewSms(config dto.SmsConfig) SmsAPI
}

SmsAPI - 短信接口

var SMS SmsAPI

SMS - SMS实例 *

  • @return SmsAPI
  • @example:
  • sms := facade.SMS.VerifyCode("手机号", "验证码")

type SmsAliYunClass added in v1.9.6

type SmsAliYunClass struct {
	Client *AliYunSmsApi.Client
	Config dto.SmsConfig
	// 短信请求
	Body dto.SmsBody
}

SmsAliYunClass - 阿里云短信

var SmsAliYun *SmsAliYunClass

SmsAliYun - 阿里云短信

func (*SmsAliYunClass) ApiInfo added in v1.9.6

func (this *SmsAliYunClass) ApiInfo() (result *AliYunOpenApi.Params)

ApiInfo - 接口信息

func (*SmsAliYunClass) Code added in v1.9.6

func (this *SmsAliYunClass) Code(code string) SmsAPI

Code - 自定义验证码

func (*SmsAliYunClass) Init added in v1.9.6

func (this *SmsAliYunClass) Init()

Init 初始化 阿里云短信

func (*SmsAliYunClass) Len added in v1.9.6

func (this *SmsAliYunClass) Len(length int) SmsAPI

Len - 验证码长度

func (*SmsAliYunClass) NewSms added in v1.9.6

func (this *SmsAliYunClass) NewSms(config dto.SmsConfig) SmsAPI

NewSms - 使用传入配置创建短信实例

func (*SmsAliYunClass) Nickname added in v1.9.6

func (this *SmsAliYunClass) Nickname(nickname string) SmsAPI

Nickname - 昵称(发件人)

func (*SmsAliYunClass) Send added in v1.9.6

func (this *SmsAliYunClass) Send(target ...any) (*dto.SmsResp, error)

Send - 发送验证码

func (*SmsAliYunClass) SetBody added in v1.9.6

func (this *SmsAliYunClass) SetBody(body dto.SmsBody) SmsAPI

SetBody - 设置参数体

func (*SmsAliYunClass) Subject added in v1.9.6

func (this *SmsAliYunClass) Subject(subject string) SmsAPI

Subject - 主题(标题)

func (*SmsAliYunClass) Target added in v1.9.6

func (this *SmsAliYunClass) Target(target string) SmsAPI

Target - 目标手机号

type SmsBaoClass added in v1.9.6

type SmsBaoClass struct {
	// 短信宝账号
	Account string
	// 短信宝API密钥
	ApiKey string
	// 短信签名
	SignName string
	// 接口地址
	BaseUrl string
	// 配置
	Config dto.SmsConfig
	// 短信请求
	Body dto.SmsBody
}

SmsBaoClass - 短信宝

var SmsBao *SmsBaoClass

SmsBao - 短信宝

func (*SmsBaoClass) Code added in v1.9.6

func (this *SmsBaoClass) Code(code string) SmsAPI

Code - 自定义验证码

func (*SmsBaoClass) Init added in v1.9.6

func (this *SmsBaoClass) Init()

Init 初始化 短信宝

func (*SmsBaoClass) Len added in v1.9.6

func (this *SmsBaoClass) Len(length int) SmsAPI

Len - 验证码长度

func (*SmsBaoClass) NewSms added in v1.9.6

func (this *SmsBaoClass) NewSms(config dto.SmsConfig) SmsAPI

NewSms - 使用传入配置创建短信实例

func (*SmsBaoClass) Nickname added in v1.9.6

func (this *SmsBaoClass) Nickname(nickname string) SmsAPI

Nickname - 昵称(发件人)

func (*SmsBaoClass) Send added in v1.9.6

func (this *SmsBaoClass) Send(target ...any) (*dto.SmsResp, error)

Send - 发送验证码

func (*SmsBaoClass) SetBody added in v1.9.6

func (this *SmsBaoClass) SetBody(body dto.SmsBody) SmsAPI

SetBody - 设置参数体

func (*SmsBaoClass) Subject added in v1.9.6

func (this *SmsBaoClass) Subject(subject string) SmsAPI

Subject - 主题(标题)

func (*SmsBaoClass) Target added in v1.9.6

func (this *SmsBaoClass) Target(target string) SmsAPI

Target - 目标手机号

type SmsClass added in v1.9.6

type SmsClass struct {
	// 记录配置 Hash 值,用于检测配置文件是否有变化
	Hash string `json:"hash"`
	// 当前短信配置(由调用方注入)
	Config dto.SmsConfig `json:"config"`
	// 是否已经注入过配置
	HasConfig bool `json:"hasConfig"`
}

func (*SmsClass) Init added in v1.9.6

func (this *SmsClass) Init(config ...dto.SmsConfig)

Init 初始化 SMS

func (*SmsClass) NewGoMail added in v1.9.6

func (this *SmsClass) NewGoMail(config dto.SmsConfig) *GoMailClass

func (*SmsClass) NewSmsAliYun added in v1.9.6

func (this *SmsClass) NewSmsAliYun(config dto.SmsConfig) *SmsAliYunClass

func (*SmsClass) NewSmsBao added in v1.9.6

func (this *SmsClass) NewSmsBao(config dto.SmsConfig) *SmsBaoClass

func (*SmsClass) NewSmsTencent added in v1.9.6

func (this *SmsClass) NewSmsTencent(config dto.SmsConfig) *SmsTencentClass

func (*SmsClass) ReloadIfChanged added in v1.9.6

func (this *SmsClass) ReloadIfChanged(config ...dto.SmsConfig)

ReloadIfChanged - 当配置发生变化时重新加载短信服务

type SmsTencentClass added in v1.9.6

type SmsTencentClass struct {
	Client *TencentCloud.Client
	Config dto.SmsConfig
	// 短信请求
	Body dto.SmsBody
}

SmsTencentClass - 腾讯云短信

var SmsTencent *SmsTencentClass

SmsTencent - 腾讯云短信

func (*SmsTencentClass) Code added in v1.9.6

func (this *SmsTencentClass) Code(code string) SmsAPI

Code - 自定义验证码

func (*SmsTencentClass) Init added in v1.9.6

func (this *SmsTencentClass) Init()

Init 初始化 腾讯云短信

func (*SmsTencentClass) Len added in v1.9.6

func (this *SmsTencentClass) Len(length int) SmsAPI

Len - 验证码长度

func (*SmsTencentClass) NewSms added in v1.9.6

func (this *SmsTencentClass) NewSms(config dto.SmsConfig) SmsAPI

NewSms - 使用传入配置创建短信实例

func (*SmsTencentClass) Nickname added in v1.9.6

func (this *SmsTencentClass) Nickname(nickname string) SmsAPI

Nickname - 昵称(发件人)

func (*SmsTencentClass) Send added in v1.9.6

func (this *SmsTencentClass) Send(target ...any) (*dto.SmsResp, error)

Send - 发送验证码

func (*SmsTencentClass) SetBody added in v1.9.6

func (this *SmsTencentClass) SetBody(body dto.SmsBody) SmsAPI

SetBody - 设置参数体

func (*SmsTencentClass) Subject added in v1.9.6

func (this *SmsTencentClass) Subject(subject string) SmsAPI

Subject - 主题(标题)

func (*SmsTencentClass) Target added in v1.9.6

func (this *SmsTencentClass) Target(target string) SmsAPI

Target - 目标手机号

type StorageAPI added in v1.9.7

type StorageAPI interface {
	// Upload 上传文件
	/**
	 * @param reader io.Reader - 读取器
	 * @returns StorageAPI - 存储接口
	 */
	Upload(reader io.Reader) *StorageResp

	// Dir 设置存储的目录
	/**
	 * @param dir string - 目录
	 * @returns StorageAPI - 存储接口
	 */
	Dir(dir string) StorageAPI

	// Name 设置存储文件的名称
	/**
	 * @param name string - 名称
	 * @returns StorageAPI - 存储接口
	 */
	Name(name string) StorageAPI

	// Ext 设置存储文件的后缀
	/**
	 * @param ext string - 后缀
	 * @returns StorageAPI - 存储接口
	 */
	Ext(ext string) StorageAPI

	// NewStorage - 使用传入配置创建新的存储实例
	NewStorage(config dto.StorageConfig) StorageAPI
}

StorageAPI 定义了存储操作的接口。

var Storage StorageAPI

Storage - Storage实例 *

  • @return StorageAPI
  • @example:
  • storage := facade.Storage.Upload(facade.Storage.Path() + suffix, bytes)

type StorageClass added in v1.9.7

type StorageClass struct {
	// 记录配置 Hash 值,用于检测配置文件是否有变化
	Hash string `json:"hash"`
	// 当前存储配置(由调用方注入)
	Config dto.StorageConfig `json:"config"`
	// 是否已经注入过配置
	HasConfig bool `json:"hasConfig"`
	// 读写锁,保护配置和Hash的并发访问
	Mutex sync.RWMutex
}

func (*StorageClass) Init added in v1.9.7

func (this *StorageClass) Init(config ...dto.StorageConfig)

Init 初始化

func (*StorageClass) ReloadIfChanged added in v1.9.7

func (this *StorageClass) ReloadIfChanged(config ...dto.StorageConfig)

ReloadIfChanged - 当配置发生变化时重新加载存储

type StorageParams added in v1.9.7

type StorageParams struct {
	// Dir - 存储目录
	Dir string
	// Name - 存储文件名
	Name string
	// Ext - 存储文件后缀
	Ext string
}

StorageParams - 存储参数

type StorageResp added in v1.9.7

type StorageResp struct {
	Error  error
	Path   string
	Domain string
	Name   string
}

StorageResp - 存储响应

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL