Documentation
¶
Index ¶
- Variables
- func ArrayDiff[T any](array1, array2 []T) (slice []T)
- func ArrayEmpty[T any](array []T) (slice []T)
- func ArrayFilter(array []string) (slice []string)
- func ArrayIntersect[T any](array1, array2 []T) (slice []T)
- func ArrayMapWithField(array []map[string]any, field any) (slice []any)
- func ArrayPaging[T any](rows []T, page, limit int) (code int, count int, data []T)
- func ArrayRemove(array []string, args ...string) []string
- func ArrayReverse[T any](array []T) (slice []T)
- func ArrayUnique[T any](array []T) (slice []T)
- func Calc(input any) (output float64)
- func Caller() *caller
- func CustomProcessApi(url string, api string) (result string)
- func Default[T any](param T, value ...T) (result T)
- func EnvToml(args ...string) (result any)
- func ForMap[T any](slice []T, fun func(item T) (result T)) (newSlice []T)
- func GetCaller() (funcName string, fileName string, line int)
- func InArray[T any](value T, array []T) (ok bool)
- func InMapKey(key string, array map[string]any) bool
- func InMapValue(value any, array map[string]string) bool
- func MapKeys[T map[string]any](data T) (result []string)
- func MapMerge(map1 map[any]any, map2 map[any]any) map[any]any
- func MapMergeString(map1 map[string]string, map2 map[string]string) map[string]string
- func MapToURL(params map[string]any) (result string)
- func MapTrim[T map[string]any](data T) (result T)
- func MapValues[T map[string]any](data T) (result []any)
- func MapWithField[T map[string]any](data T, field []string) (result T)
- func MapWithoutField[T map[string]any](data T, field []string) (result T)
- func Redirect(url any) (result string)
- func Replace(value any, params map[string]any) (result string)
- func Ternary[T any](IF bool, TRUE T, FALSE T) T
- func ValidateRules(name string, value any, rule string, message map[string]string) (err error)
- type AesClass
- func (this *AesClass) DeKeyIv(ciphertext string) (key, iv string, err error)
- func (this *AesClass) Decrypt(text any) (result *dto.AesResp)
- func (this *AesClass) EnKeyIv(key, iv string) (ciphertext string, err error)
- func (this *AesClass) Encrypt(text any) (result *dto.AesResp)
- func (this *AesClass) NewAes(key, iv any) *AesClass
- type AsciiClass
- type AsyncClass
- type CasesClass
- type CasesParams
- type CurlClass
- func (this *CurlClass) Body(body any) *CurlClass
- func (this *CurlClass) Client(client *http.Client) *CurlClass
- func (this *CurlClass) Data(key string, value any) *CurlClass
- func (this *CurlClass) Datas(data map[string]any) *CurlClass
- func (this *CurlClass) Delete(url string) *CurlClass
- func (this *CurlClass) Get(url string) *CurlClass
- func (this *CurlClass) Header(key any, value any) *CurlClass
- func (this *CurlClass) Headers(headers map[string]any) *CurlClass
- func (this *CurlClass) Method(method string) *CurlClass
- func (this *CurlClass) Patch(url string) *CurlClass
- func (this *CurlClass) Post(url string) *CurlClass
- func (this *CurlClass) Put(url string) *CurlClass
- func (this *CurlClass) Query(key any, value any) *CurlClass
- func (this *CurlClass) Querys(params map[string]any) *CurlClass
- func (this *CurlClass) Send() *CurlResponse
- func (this *CurlClass) Url(url string) *CurlClass
- type CurlRequest
- type CurlResponse
- type DateClass
- type EnvClass
- type FileCacheClient
- func (this *FileCacheClient) Clear() (ok bool)
- func (this *FileCacheClient) ClearE() (err error)
- func (this *FileCacheClient) Del(key any) (ok bool)
- func (this *FileCacheClient) DelE(key any) (err error)
- func (this *FileCacheClient) DelPrefix(prefix ...any) (ok bool)
- func (this *FileCacheClient) DelPrefixE(prefix ...any) (err error)
- func (this *FileCacheClient) DelTags(tags ...any) (ok bool)
- func (this *FileCacheClient) DelTagsE(tag ...any) (err error)
- func (this *FileCacheClient) Get(key any) (result []byte)
- func (this *FileCacheClient) GetInfo(key any) (info map[string]any)
- func (this *FileCacheClient) GetKeys() (slice []string)
- func (this *FileCacheClient) Has(key any) (exist bool)
- func (this *FileCacheClient) Set(key any, value []byte, expire ...any) (ok bool)
- func (this *FileCacheClient) SetE(key any, value []byte, expire int64) (err error)
- type FileCacheClientItem
- type FileClass
- func (this *FileClass) AutoExtract(sourceURL, dest string) error
- func (this *FileClass) Chmod(dest string, mode int64)
- func (this *FileClass) Delete(dest string) error
- func (this *FileClass) Download(url string) (fileName string, body io.ReadCloser, length int64, err error)
- func (this *FileClass) Exist(dest string) (ok bool)
- func (this *FileClass) List(dest string) (files []FileInfo, err error)
- func (this *FileClass) Read(dest string) (content []byte, err error)
- func (this *FileClass) Watcher(filePath string, callback func(event fsnotify.Event)) (*FileWatcher, error)
- func (this *FileClass) Write(dest string, content []byte) (err error)
- func (this *FileClass) WriteFile(dest string, fileInfo archives.FileInfo) error
- type FileInfo
- type FileRequest
- type FileResponse
- type FileStruct
- func (this *FileStruct) Byte(path ...any) (result *FileResponse)
- func (this *FileStruct) Dir(dir any) *FileStruct
- func (this *FileStruct) DirInfo(dir ...any) (result *FileResponse)
- func (this *FileStruct) Domain(domain any) *FileStruct
- func (this *FileStruct) Download(path ...any) (result *FileResponse)
- func (this *FileStruct) EnZip() (result *FileResponse)
- func (this *FileStruct) Exist(path ...any) (ok bool)
- func (this *FileStruct) Ext(ext any) *FileStruct
- func (this *FileStruct) Limit(limit any) *FileStruct
- func (this *FileStruct) Line(path ...any) (result *FileResponse)
- func (this *FileStruct) List(path ...any) (result *FileResponse)
- func (this *FileStruct) Name(name any) *FileStruct
- func (this *FileStruct) Page(page any) *FileStruct
- func (this *FileStruct) Path(path any) *FileStruct
- func (this *FileStruct) Prefix(prefix any) *FileStruct
- func (this *FileStruct) Remove(path ...any) (result *FileResponse)
- func (this *FileStruct) Rename(path ...any) (result *FileResponse)
- func (this *FileStruct) Save(reader io.Reader, path ...string) (result *FileResponse)
- func (this *FileStruct) UnZip() (result *FileResponse)
- type FileWatcher
- type FormatClass
- type GenClass
- func (this *GenClass) BatchNo(prefix string, value any) string
- func (this *GenClass) Domain() string
- func (this *GenClass) IP() string
- func (this *GenClass) SerialDate(prefix any, length int) string
- func (this *GenClass) SerialNo(prefix any, length int) string
- func (this *GenClass) SnowFlakeID(node int64) string
- func (this *GenClass) UA() string
- func (this *GenClass) UUID() string
- type GetClass
- func (this *GetClass) CharLength(str string) (length int)
- func (this *GetClass) Env() (config *any)
- func (this *GetClass) HostProtocol(url string) (isTLS bool, host string)
- func (this *GetClass) Ip(key ...string) (result any)
- func (this *GetClass) LastMonthTimestamp() (start int64, end int64)
- func (this *GetClass) LastWeekTimestamp() (start int64, end int64)
- func (this *GetClass) Mac() (result string)
- func (this *GetClass) MonthTimestamp() (start int64, end int64)
- func (this *GetClass) Pid() (result int)
- func (this *GetClass) Pwd() (result string)
- func (this *GetClass) TodayTimestamp() (start int64, end int64)
- func (this *GetClass) Type(value any) (result string)
- func (this *GetClass) WeekTimestamp() (start int64, end int64)
- func (this *GetClass) YearTimestamp() (start int64, end int64)
- func (this *GetClass) YesterdayTimestamp() (start int64, end int64)
- type HashClass
- type IdentifyClass
- type IsClass
- func (this *IsClass) Accepted(value any) (ok bool)
- func (this *IsClass) ActiveUrl(value any) (ok bool)
- func (this *IsClass) Alpha(value any) (ok bool)
- func (this *IsClass) AlphaDash(value any) (ok bool)
- func (this *IsClass) AlphaNum(value any) (ok bool)
- func (this *IsClass) Array(value any) (ok bool)
- func (this *IsClass) Bool(value any) (ok bool)
- func (this *IsClass) Chs(value any) (ok bool)
- func (this *IsClass) ChsAlpha(value any) (ok bool)
- func (this *IsClass) ChsAlphaNum(value any) (ok bool)
- func (this *IsClass) ChsDash(value any) (ok bool)
- func (this *IsClass) Cntrl(value any) (ok bool)
- func (this *IsClass) Date(date any) (ok bool)
- func (this *IsClass) Domain(domain any) (ok bool)
- func (this *IsClass) Email(email any) (ok bool)
- func (this *IsClass) Empty(args ...any) (ok bool)
- func (this *IsClass) False(value any) (ok bool)
- func (this *IsClass) Float(value any) (ok bool)
- func (this *IsClass) Graph(value any) (ok bool)
- func (this *IsClass) IdCard(value any) (ok bool)
- func (this *IsClass) Ip(ip any) (ok bool)
- func (this *IsClass) JsonString(value any) (ok bool)
- func (this *IsClass) Lower(value any) (ok bool)
- func (this *IsClass) MacAddr(value any) (ok bool)
- func (this *IsClass) Map(value any) (ok bool)
- func (this *IsClass) MapAny(value any) (ok bool)
- func (this *IsClass) Mobile(value any) (ok bool)
- func (this *IsClass) Null(value any) (ok bool)
- func (this *IsClass) Number(value any) (ok bool)
- func (this *IsClass) Phone(phone any) (ok bool)
- func (this *IsClass) Slice(value any) (ok bool)
- func (this *IsClass) SliceSlice(value any) (ok bool)
- func (this *IsClass) Space(value any) (ok bool)
- func (this *IsClass) String(value any) (ok bool)
- func (this *IsClass) True(value any) (ok bool)
- func (this *IsClass) Upper(value any) (ok bool)
- func (this *IsClass) Url(url any) (ok bool)
- func (this *IsClass) Xdigit(value any) (ok bool)
- func (this *IsClass) Zip(value any) (ok bool)
- type JsonClass
- func (this *JsonClass) Decode(data any) (result any)
- func (this *JsonClass) Encode(data any) (result string)
- func (this *JsonClass) Get(jsonString any, key any) (result any, err error)
- func (this *JsonClass) String(data any) (result string)
- func (this *JsonClass) Unmarshal(data []byte, result any) (err error)
- func (this *JsonClass) Valid(data any) (result bool)
- type JwtClass
- func (this *JwtClass) Decode(token string) (resp dto.JwtResp, err error)
- func (this *JwtClass) Encode(data any) (resp dto.JwtResp, err error)
- func (this *JwtClass) GetExpired() time.Time
- func (this *JwtClass) GetHash() string
- func (this *JwtClass) SetBody(body dto.JwtBody) *JwtClass
- func (this *JwtClass) SetHash(hash string) *JwtClass
- func (this *JwtClass) Unmarshal(dest any) *JwtClass
- type LangClass
- type Language
- type MaskClass
- func (this *MaskClass) BankCard(bankCard string) string
- func (this *MaskClass) Custom(str string, start, end int) string
- func (this *MaskClass) Email(email string) string
- func (this *MaskClass) IDCard(idCard string) string
- func (this *MaskClass) Password(password string) string
- func (this *MaskClass) Phone(phone string) string
- type Md5Class
- type MimeClass
- type NetClass
- type ParseClass
- func (this *ParseClass) Domain(value any) (domain string)
- func (this *ParseClass) HtmlToText(html string, length int, isLine bool) (text string)
- func (this *ParseClass) HtmlToTextRetainImg(html string, length int, isLine bool) (text string)
- func (this *ParseClass) Params(params map[string]any) (result map[string]any)
- func (this *ParseClass) ParamsBefore(params url.Values) (result map[string]any)
- func (this *ParseClass) ProcessImgTags(content string) string
- type PasswordStruct
- type ProgressReader
- type RSAClass
- func (this *RSAClass) Decrypt(privateKey, text string) (result *RSAResponse)
- func (this *RSAClass) Encrypt(publicKey, text string) (result *RSAResponse)
- func (this *RSAClass) Generate(bits any) (result *RSAResponse)
- func (this *RSAClass) PrivatePem(key string) (cert string)
- func (this *RSAClass) PublicPem(key string) (cert string)
- type RSAResponse
- type RandClass
- func (this *RandClass) Code(length any, mode ...string) (result string)
- func (this *RandClass) Int(max any, min ...any) (result int)
- func (this *RandClass) MapSlice(slice []map[string]any) (result []map[string]any)
- func (this *RandClass) Number(length any) (result string)
- func (this *RandClass) Slice(slice []any, limit any) (result []any)
- func (this *RandClass) String(length any, chars ...string) (result string)
- type Resp
- type StructClass
- func (this *StructClass) Defaults(dest any) error
- func (this *StructClass) Del(obj any, key string)
- func (this *StructClass) Fields(dest any) []string
- func (this *StructClass) Get(obj any, key string) (result any)
- func (this *StructClass) Has(obj any, key string) (ok bool)
- func (this *StructClass) Keys(obj any) (slice []string)
- func (this *StructClass) Len(obj any) (length int)
- func (this *StructClass) Map(obj any) (result map[string]any)
- func (this *StructClass) Set(obj any, key string, val any)
- func (this *StructClass) Slice(obj any) (slice []any)
- func (this *StructClass) ToAsciiString(obj any) (result string)
- func (this *StructClass) ToStringMap(obj any) (result map[string]any)
- func (this *StructClass) Values(obj any) (slice []any)
- type UnityClass
- func (this *UnityClass) Float(value ...any) (array []float64)
- func (this *UnityClass) Ids(param ...any) (ids []any)
- func (this *UnityClass) Int(value ...any) (array []int)
- func (this *UnityClass) Int64(value ...any) (array []int64)
- func (this *UnityClass) Join(elems any, unique bool, sep ...string) string
- func (this *UnityClass) Keys(param any, reg ...any) (keys []any)
- type UrlClass
- type VersionClass
- type ViperClass
- type ViperResponse
Constants ¶
This section is empty.
Variables ¶
var Array struct { Diff func(array1, array2 []any) (slice []any) Intersect func(array1, array2 []any) (slice []any) Filter func(array []string) (slice []string) Remove func(array []string, args ...string) (slice []string) Unique func(array []any) (slice []any) Empty func(array []any) (slice []any) Reverse func(array []any) (slice []any) MapWithField func(array []map[string]any, field any) (slice []any) Paging func(rows []any, page, limit int) (code int, count int, data []any) }
var Cases = &CasesClass{ Params: CasesParams{ IsUpper: false, }, }
var In struct { Array func(value any, array []any) (ok bool) }
var Jwt = &JwtClass{ Body: dto.JwtBody{ Key: "inis-jwt-key", Issuer: "inis-issuer", Subject: "inis-subject", Expired: 7 * 24 * 60 * 60, }, }
var Map struct { WithField func(data map[string]any, field []string) (result map[string]any) WithoutField func(data map[string]any, field []string) (result map[string]any) ToURL func(data map[string]any) (result string) Keys func(data map[string]any) (result []string) Values func(data map[string]any) (result []any) Trim func(data map[string]any) (result map[string]any) }
var MimeMap = map[string]string{
"js": "application/javascript",
"json": "application/json",
"xml": "application/xml",
"css": "text/css",
"html": "text/html",
"txt": "text/plain",
"gif": "image/gif",
"png": "image/png",
"jpg": "image/jpeg",
"jpeg": "image/jpeg",
"svg": "image/svg+xml",
"ico": "image/x-icon",
"pdf": "application/pdf",
"zip": "application/zip",
"rar": "application/x-rar-compressed",
"gz": "application/x-gzip",
"tar": "application/x-tar",
"7z": "application/x-7z-compressed",
"mp3": "audio/mpeg",
"mp4": "video/mp4",
"avi": "video/x-msvideo",
"doc": "application/msword",
"docx": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
"xls": "application/vnd.ms-excel",
"xlsx": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"ppt": "application/vnd.ms-powerpoint",
"pptx": "application/vnd.openxmlformats-officedocument.presentationml.presentation",
"csv": "text/csv",
"md": "text/markdown",
}
var Url = &UrlClass{}
var Validate = func(model any) *validator { return &validator{ model: model, rule: ValidateRules, } }
Validate - 验证器入口
Functions ¶
func ArrayIntersect ¶
func ArrayIntersect[T any](array1, array2 []T) (slice []T)
ArrayIntersect - 交集
func ArrayMapWithField ¶
ArrayMapWithField - 数组Map保留指定字段
func ArrayPaging ¶
ArrayPaging - 分页处理
func CustomProcessApi ¶
func ForMap ¶
func ForMap[T any](slice []T, fun func(item T) (result T)) (newSlice []T)
ForMap - 遍历数组,返回新数组
func MapMergeString ¶
MapMergeString map合并
func MapWithField ¶
MapWithField - 从map中提取指定字段
func MapWithoutField ¶
MapWithoutField - 从map中排除指定字段
func ValidateRules ¶
ValidateRules - 验证规则 *
- @rule - 内置规则 - 如下:
- required:必填
- min:最小值
- max:最大值
- email:是否为邮箱
- number:是否为数字
- float:是否为浮点数
- bool:是否为布尔值
- slice:是否为切片 - (数组)
- jsonStr:是否为 JSON 字符串
- accepted:验证某个字段是否为为 yes, on, 或是 1
- date:是否为日期
- alpha:只能包含字母
- alphaNum:只能包含字母和数字
- alphaDash:只能包含字母、数字和下划线_及破折号-
- chs:只能包含汉字
- chsAlpha:只能包含汉字、字母
- chsAlphaNum:只能包含汉字、字母和数字
- chsDash:只能是汉字、字母、数字和下划线_及破折号-
- cntrl:是否为控制字符 - (换行、缩进、空格)
- graph:是否为可见字符 - (除空格外的所有可打印字符)
- lower:是否为小写字母
- upper:是否为大写字母
- space:是否为空白字符 - (空格、制表符、换页符等)
- xdigit:是否为十六进制字符 - (0-9、a-f、A-F)
- activeUrl:是否为有效的域名或者IP
- url:是否为有效的URL地址
- ip:是否为IP地址
- mobile:是否为手机号
- idCard:是否为身份证号
- MacAddr:是否为MAC地址
- zip:是否为邮政编码 *
Types ¶
type AesClass ¶
var AES *AesClass
AES - 对称加密
type AsyncClass ¶
type CasesClass ¶
type CasesClass struct {
// 参数
Params CasesParams
}
type CasesParams ¶
type CasesParams struct {
// 是否大写
IsUpper bool
}
type CurlClass ¶
type CurlClass struct {
// contains filtered or unexported fields
}
CurlClass - Curl 结构体
type CurlRequest ¶
type CurlRequest struct {
Body any
Url string
Method string
Client *http.Client
Data map[string]any
Query map[string]any
Headers map[string]any
}
CurlRequest - 发起请求的结构体
type CurlResponse ¶
type CurlResponse struct {
StatusCode int
Request *http.Request
Headers *http.Header
Body *io.ReadCloser
Byte []byte
Text string
Json map[string]any
Error error
}
CurlResponse - 响应的结构体
type DateClass ¶
var Date *DateClass
func (*DateClass) FormatSeconds ¶
FormatSeconds 将秒数格式化为友好的时间字符串
type FileCacheClient ¶
type FileCacheClient struct {
// contains filtered or unexported fields
}
func NewFileCache ¶
func NewFileCache(dir any, expire any, prefix ...any) (*FileCacheClient, error)
NewFileCache - 新建文件缓存 *
- @param dir 缓存目录
- @param prefix 缓存名前缀
- @return *FileCacheClient, error
- @example:
- 1. cache, err := facade.NewFileCacheClient("runtime/cache")
- 2. cache, err := facade.NewFileCacheClient("runtime/cache", "cache_")
func (*FileCacheClient) Del ¶
func (this *FileCacheClient) Del(key any) (ok bool)
Del 从缓存中删除key对应的数据
func (*FileCacheClient) DelE ¶
func (this *FileCacheClient) DelE(key any) (err error)
DelE 从缓存中删除key对应的数据
func (*FileCacheClient) DelPrefix ¶
func (this *FileCacheClient) DelPrefix(prefix ...any) (ok bool)
DelPrefix 从缓存中删除指定前缀的数据
func (*FileCacheClient) DelPrefixE ¶
func (this *FileCacheClient) DelPrefixE(prefix ...any) (err error)
DelPrefixE 删除指定前缀的缓存
func (*FileCacheClient) DelTags ¶
func (this *FileCacheClient) DelTags(tags ...any) (ok bool)
DelTags 从缓存中删除指定标签的数据
func (*FileCacheClient) DelTagsE ¶
func (this *FileCacheClient) DelTagsE(tag ...any) (err error)
DelTagsE 删除指定标签的缓存
func (*FileCacheClient) Get ¶
func (this *FileCacheClient) Get(key any) (result []byte)
Get 从缓存中获取key对应的数据
func (*FileCacheClient) GetInfo ¶
func (this *FileCacheClient) GetInfo(key any) (info map[string]any)
GetInfo 获取缓存信息
func (*FileCacheClient) GetKeys ¶
func (this *FileCacheClient) GetKeys() (slice []string)
GetKeys 获取所有缓存的key
func (*FileCacheClient) Has ¶
func (this *FileCacheClient) Has(key any) (exist bool)
Has 检查缓存中是否存在key对应的数据
type FileCacheClientItem ¶
type FileCacheClientItem struct {
// contains filtered or unexported fields
}
type FileClass ¶
var FileV2 *FileClass
func (*FileClass) AutoExtract ¶
AutoExtract - 自动解压函数,支持本地和网络压缩包
func (*FileClass) Download ¶
func (this *FileClass) Download(url string) (fileName string, body io.ReadCloser, length int64, err error)
Download - 下载网络压缩包
func (*FileClass) Watcher ¶
func (this *FileClass) Watcher(filePath string, callback func(event fsnotify.Event)) (*FileWatcher, error)
Watcher 创建文件监听器
type FileInfo ¶
type FileInfo struct {
Path string `json:"path"`
Name string `json:"name"`
Size int64 `json:"size"`
Mode fs.FileMode `json:"mode"`
ModTime time.Time `json:"modTime"`
IsDir bool `json:"isDir"`
Sys any `json:"sys"`
}
FileInfo - 文件信息结构体
type FileRequest ¶
type FileRequest struct {
// 文件名
Name string
// 文件路径(包含文件名)
Path string
// 目录路径(不包含文件名)
Dir string
// 文件后缀
Ext string
// 限制行数
Limit int
// 读取偏移量
Page int
// 返回结果格式
Format string
// 是否包含子目录
Sub bool
// 域名 - 用于拼接文件路径
Domain string
// 前缀 - 用于过滤前缀
Prefix string
}
FileRequest - File 请求
type FileResponse ¶
FileResponse - File 响应
type FileStruct ¶
type FileStruct struct {
// contains filtered or unexported fields
}
FileStruct - File 结构体
func (*FileStruct) Byte ¶
func (this *FileStruct) Byte(path ...any) (result *FileResponse)
Byte 获取文件字节
func (*FileStruct) DirInfo ¶
func (this *FileStruct) DirInfo(dir ...any) (result *FileResponse)
DirInfo 获取目录信息
func (*FileStruct) Domain ¶
func (this *FileStruct) Domain(domain any) *FileStruct
Domain 设置域名(用于拼接文件路径)
func (*FileStruct) Download ¶
func (this *FileStruct) Download(path ...any) (result *FileResponse)
Download 下载文件 *
- @param path1 远程文件路径(下载地址)
- @param path2 本地文件路径(保存路径,包含文件名)
- @return *FileResponse
- @example:
- 1. item := utils.File().Download("https://inis.cn/name.zip", "public/test.zip")
- 2. item := utils.File().Dir("public").Name("test.zip").Download("https://inis.cn/name.zip")
- 3. item := utils.File(utils.FileRequest{ Path: "https://inis.cn/name.zip", Name: "test.zip", Dir: "public", }).Download()
func (*FileStruct) EnZip ¶
func (this *FileStruct) EnZip() (result *FileResponse)
EnZip 压缩文件 *
- @return *FileResponse
- @example:
- 1. item := utils.File().Dir("public").Name("name.zip").EnZip()
- 2. item := utils.File().Dir("public").Path("public/name.zip").EnZip()
- 3. item := utils.File(utils.FileRequest{ Path: "public/name.zip", Dir: "public", }).EnZip()
func (*FileStruct) Line ¶
func (this *FileStruct) Line(path ...any) (result *FileResponse)
Line 按行读取文件
func (*FileStruct) List ¶
func (this *FileStruct) List(path ...any) (result *FileResponse)
List 获取指定目录下的所有文件
func (*FileStruct) Name ¶
func (this *FileStruct) Name(name any) *FileStruct
Name 设置文件名(不包含路径,如:test.txt)
func (*FileStruct) Path ¶
func (this *FileStruct) Path(path any) *FileStruct
Path 设置文件路径(包含文件名,如:/tmp/test.txt)
func (*FileStruct) Prefix ¶
func (this *FileStruct) Prefix(prefix any) *FileStruct
Prefix 设置前缀(用于过滤前缀)
func (*FileStruct) Remove ¶
func (this *FileStruct) Remove(path ...any) (result *FileResponse)
Remove 删除文件或目录
func (*FileStruct) Rename ¶
func (this *FileStruct) Rename(path ...any) (result *FileResponse)
Rename 重命名文件
func (*FileStruct) Save ¶
func (this *FileStruct) Save(reader io.Reader, path ...string) (result *FileResponse)
Save 保存文件
func (*FileStruct) UnZip ¶
func (this *FileStruct) UnZip() (result *FileResponse)
UnZip 解压文件 *
- @return *FileResponse
- @example:
- 1. item := utils.File().Dir("public").Name("name.zip").UnZip()
- 2. item := utils.File().Dir("public").Path("public/name.zip").UnZip()
- 3. item := utils.File(utils.FileRequest{ Path: "public/name.zip", Dir: "public", }).UnZip()
type FileWatcher ¶
type FileWatcher struct {
// contains filtered or unexported fields
}
FileWatcher 文件监听器
type FormatClass ¶
type FormatClass struct{}
var Format *FormatClass
func (*FormatClass) Query ¶
func (this *FormatClass) Query(data any) (result string)
Query 转 Query 格式
type GenClass ¶
type GenClass struct{}
var Gen *GenClass
Gen - 生成
func (*GenClass) SerialDate ¶
SerialDate 生成年月日 + (当天累计毫秒数)的字符串
- prefix: 前缀字符串
- length: 结果总长度(包括前缀),如果结果长度超过指定长度,会被截断;如果结果长度不足指定长度,会在累计毫秒数前面补0
- 格式: 前缀 + 年月日(8位) + 当天累计毫秒数(8位,固定长度,不足部分前面补0)
- 建议:除去前缀部分,长度至少为16位(8位日期 + 8位累计毫秒数),否则可能会导致结果不唯一
func (*GenClass) SerialNo ¶
SerialNo 生成指定前缀和长度的序列号 *
- prefix: 前缀字符串
- len: 序列号总长度
- 格式: 前缀 + 日期(8位) + 时间(6位) + 随机数(动态长度)
- 当指定长度小于前缀+日期+时间的长度时,会截断到指定长度
func (*GenClass) SnowFlakeID ¶
SnowFlakeID 生成雪花ID字符串
type GetClass ¶
type GetClass struct{}
var Get *GetClass
Get - 获取
func (*GetClass) CharLength ¶
CharLength - 获取字符串字符长度(支持中文)
func (*GetClass) HostProtocol ¶
HostProtocol 使用正则表达式检查地址是否为TLS并返回去除协议头后的内容 输入: 地址字符串(可能包含http://, https://或不包含协议头) 返回: (是否为TLS, 去除协议头后的地址, 错误)
func (*GetClass) LastMonthTimestamp ¶
LastMonthTimestamp 获取上月开始和结束时间戳
func (*GetClass) LastWeekTimestamp ¶
LastWeekTimestamp 获取上周开始和结束时间戳
func (*GetClass) MonthTimestamp ¶
MonthTimestamp 获取本月开始和结束时间戳
func (*GetClass) TodayTimestamp ¶
TodayTimestamp - 获取今天开始和结束时间戳
func (*GetClass) WeekTimestamp ¶
WeekTimestamp 获取本周开始和结束时间戳
func (*GetClass) YearTimestamp ¶
YearTimestamp 获取今年开始和结束时间戳
func (*GetClass) YesterdayTimestamp ¶
YesterdayTimestamp - 获取昨天开始和结束时间戳
type HashClass ¶
type HashClass struct{}
var Hash *HashClass
Hash - 哈希加密
type IdentifyClass ¶
type IdentifyClass struct{}
var Identify *IdentifyClass
Identify - 识别
func (*IdentifyClass) EmailOrPhone ¶
func (this *IdentifyClass) EmailOrPhone(input string) (mode string, err error)
EmailOrPhone 识别邮箱或手机号
type IsClass ¶
type IsClass struct{}
var Is *IsClass
Is - 是否为
func (*IsClass) ChsAlphaNum ¶
ChsAlphaNum - 只能是汉字、字母和数字
func (*IsClass) JsonString ¶
JsonString - 是否为json字符串
func (*IsClass) SliceSlice ¶
SliceSlice - 是否为二维切片
type JsonClass ¶
type JsonClass struct{}
var Json *JsonClass
Json - JSON 处理
type JwtClass ¶
type JwtClass struct {
// 参数
Body dto.JwtBody `json:"body"`
// 目标
Dest any `json:"dest"`
// 记录配置 Hash 值,用于检测配置文件是否有变化
Hash string `json:"hash"`
}
type LangClass ¶
var Lang *LangClass
func (*LangClass) AcceptLanguage ¶
AcceptLanguage - 解析请求头的 Accept-Language
type MaskClass ¶
type MaskClass struct{}
var Mask *MaskClass
Mask - 脱敏
type ParseClass ¶
type ParseClass struct{}
var Parse *ParseClass
Parse - 解析
func (*ParseClass) HtmlToText ¶
func (this *ParseClass) HtmlToText(html string, length int, isLine bool) (text string)
HtmlToText - 去除 HTML 标签、解码实体、压缩空白,并按 Unicode 字符截取前 length 个字符
func (*ParseClass) HtmlToTextRetainImg ¶
func (this *ParseClass) HtmlToTextRetainImg(html string, length int, isLine bool) (text string)
HtmlToTextRetainImg - 去除 HTML 标签、解码实体、压缩空白,保留 img 标签并添加 emoji 类,并按 Unicode 字符截取前 length 个字符
func (*ParseClass) Params ¶
func (this *ParseClass) Params(params map[string]any) (result map[string]any)
Params - 解析参数 把 Content-Type = application/x-www-form-urlencoded 的参数解析成 map[string]any
func (*ParseClass) ParamsBefore ¶
func (this *ParseClass) ParamsBefore(params url.Values) (result map[string]any)
ParamsBefore - 解析参数 把 Content-Type = application/x-www-form-urlencoded 的参数解析成 object.deep.age = 10 的格式
func (*ParseClass) ProcessImgTags ¶
func (this *ParseClass) ProcessImgTags(content string) string
ProcessImgTags - 处理 img 标签,添加或追加 emoji 类
type PasswordStruct ¶
type PasswordStruct struct{}
var Password *PasswordStruct
Password - 密码
func (*PasswordStruct) Create ¶
func (this *PasswordStruct) Create(password any) (result string)
Create - 创建密码
type ProgressReader ¶
type ProgressReader struct {
Reader io.Reader
Total int64
Reading int64
OnProgress func(read int64)
LastUpdate time.Time
}
ProgressReader 进度读取器,用于显示下载进度
type RSAClass ¶
type RSAClass struct{}
var RSA *RSAClass
func (*RSAClass) Decrypt ¶
func (this *RSAClass) Decrypt(privateKey, text string) (result *RSAResponse)
Decrypt 解密
func (*RSAClass) Encrypt ¶
func (this *RSAClass) Encrypt(publicKey, text string) (result *RSAResponse)
Encrypt 加密
func (*RSAClass) Generate ¶
func (this *RSAClass) Generate(bits any) (result *RSAResponse)
Generate 生成 RSA 密钥对 *
- @name Generate 生成 RSA 密钥对
- @param bits 位数 1024, 2048, 4096(一般:2048)
func (*RSAClass) PrivatePem ¶
PrivatePem - 输出完整的 PEM 格式私钥证书
type RSAResponse ¶
type RandClass ¶
type RandClass struct{}
var Rand *RandClass
Rand - 随机数
type Resp ¶
type Resp struct {
// 消息
Msg string `json:"msg"`
// 状态码
Code int `json:"code"`
// 数据
Data any `json:"data"`
}
Resp - 返回数据结构
type StructClass ¶
type StructClass struct{}
var Struct *StructClass
Struct - 操作结构体
func (*StructClass) Defaults ¶
func (this *StructClass) Defaults(dest any) error
Defaults 可以处理任意结构体指针,为所有带有 default 标签的字段设置默认值
func (*StructClass) Get ¶
func (this *StructClass) Get(obj any, key string) (result any)
Get - 动态获取结构体的值
func (*StructClass) Has ¶
func (this *StructClass) Has(obj any, key string) (ok bool)
Has - 判断结构体是否存在某个字段
func (*StructClass) Map ¶
func (this *StructClass) Map(obj any) (result map[string]any)
Map - 将结构体转换为map
func (*StructClass) ToAsciiString ¶
func (this *StructClass) ToAsciiString(obj any) (result string)
ToAsciiString - 将结构体转换为ASCII字符串
func (*StructClass) ToStringMap ¶
func (this *StructClass) ToStringMap(obj any) (result map[string]any)
ToStringMap - 将结构体转换为map[string]any
func (*StructClass) Values ¶
func (this *StructClass) Values(obj any) (slice []any)
Values - 获取结构体的值
type UnityClass ¶
type UnityClass struct{}
var Unity *UnityClass
Unity - 统一规范化
func (*UnityClass) Float ¶
func (this *UnityClass) Float(value ...any) (array []float64)
Float 参数归一化
type UrlClass ¶
type UrlClass struct {
}
type VersionClass ¶
type VersionClass struct{}
var Version *VersionClass
Version - 版本
func (*VersionClass) Compare ¶
func (this *VersionClass) Compare(v1, v2 any) (result int)
Compare - 版本号比对 *
- @param v1 string - 小版本号
- @param v2 string - 大版本号
- @return int - 0: 相等,1: v1 < v2,-1: v1 > v2
- @example:
- utils.Version.Compare("1.2.0", "1.0.0") // 1
type ViperClass ¶
type ViperClass struct {
// 配置文件路径
Path string
// 配置文件类型
Mode string
// 文件名
Name string
// 文件内容
Content string
}
func Viper ¶
func Viper(model ...ViperClass) *ViperClass
func (*ViperClass) Read ¶
func (this *ViperClass) Read() (result ViperResponse)
func (*ViperClass) SetMode ¶
func (this *ViperClass) SetMode(mode string) *ViperClass
func (*ViperClass) SetName ¶
func (this *ViperClass) SetName(name string) *ViperClass
func (*ViperClass) SetPath ¶
func (this *ViperClass) SetPath(path string) *ViperClass
type ViperResponse ¶
type ViperResponse struct {
// 配置文件内容
Result map[string]any
// 错误信息
Error error
// viper实例
Viper *viper.Viper
}
func (*ViperResponse) Set ¶
func (this *ViperResponse) Set(key string, value any) (result ViperResponse)