Documentation ¶
Index ¶
- Variables
- func ArrayEmpty[T any](array []T) (slice []any)
- func ArrayFilter(array []string) (slice []string)
- func ArrayRemove(array []string, args ...string) []string
- func ArrayUnique[T any](array []T) (slice []any)
- 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 FormatQuery(data any) (result string)
- func GetCaller() (funcName string, fileName string, line int)
- func GetIp(key ...string) (result any)
- func GetMac() (result string)
- func GetType(value any) (result string)
- 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 IsAccepted(value any) (ok bool)
- func IsActiveUrl(value any) (ok bool)
- func IsAlpha(value any) (ok bool)
- func IsAlphaDash(value any) (ok bool)
- func IsAlphaNum(value any) (ok bool)
- func IsArray(value any) (ok bool)
- func IsBool(value any) (ok bool)
- func IsChs(value any) (ok bool)
- func IsChsAlpha(value any) (ok bool)
- func IsChsAlphaNum(value any) (ok bool)
- func IsChsDash(value any) (ok bool)
- func IsCntrl(value any) (ok bool)
- func IsDate(date any) (ok bool)
- func IsDomain(domain any) (ok bool)
- func IsEmail(email any) (ok bool)
- func IsEmpty(value any) (ok bool)
- func IsFalse(value any) (ok bool)
- func IsFloat(value any) (ok bool)
- func IsGraph(value any) (ok bool)
- func IsIdCard(value any) (ok bool)
- func IsIp(ip any) (ok bool)
- func IsJsonString(value any) (ok bool)
- func IsLower(value any) (ok bool)
- func IsMacAddr(value any) (ok bool)
- func IsMap(value any) (ok bool)
- func IsMapAny(value any) (ok bool)
- func IsMobile(value any) (ok bool)
- func IsNumber(value any) (ok bool)
- func IsPhone(phone any) (ok bool)
- func IsSlice(value any) (ok bool)
- func IsSliceSlice(value any) (ok bool)
- func IsSpace(value any) (ok bool)
- func IsString(value any) (ok bool)
- func IsTrue(value any) (ok bool)
- func IsUpper(value any) (ok bool)
- func IsUrl(url any) (ok bool)
- func IsXdigit(value any) (ok bool)
- func IsZip(value any) (ok bool)
- func JsonDecode(data any) (result any)
- func JsonEncode(data any) (result string)
- func JsonGet(jsonString any, key any) (result any, err error)
- 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 MapWithField[T map[string]any](data T, field []string) (result T)
- func MapWithoutField[T map[string]any](data T, field []string) (result T)
- func MimeType(suffix any) (mime string)
- func NetTcping(host any, opts ...map[string]any) (ok bool, detail []map[string]any)
- func ParseParams(params map[string]any) (result map[string]any)
- func ParseParamsBefore(params url.Values) (result map[string]any)
- func PasswordCreate(password any) (result string)
- func PasswordVerify(encode any, password any) (ok bool)
- func RandInt(max int, min ...int) (result int)
- func RandString(length int, chars ...string) (result string)
- func Redirect(url any) (result string)
- func Replace(value any, params map[string]any) (result string)
- func StructDel(obj any, key string)
- func StructGet(obj any, key string) (result any)
- func StructHas(obj any, key string) (ok bool)
- func StructKeys(obj any) (slice []string)
- func StructLen(obj any) (length int)
- func StructMap(obj any) (result map[string]any)
- func StructSet(obj any, key string, val any)
- func StructSlice(obj any) (slice []any)
- func StructValues(obj any) (slice []any)
- func Ternary[T any](IF bool, TRUE T, FALSE T) T
- func UnityIds(param ...any) (ids []any)
- func UnityKeys(param any, reg ...any) (keys []any)
- func ValidateRules(name string, value any, rule string, message map[string]string) (err error)
- func VersionCompare(v1, v2 any) (result int)
- func VersionGo() (result string)
- type AsyncStruct
- type CurlRequest
- type CurlResponse
- type CurlStruct
- func (this *CurlStruct) Body(body any) *CurlStruct
- func (this *CurlStruct) Client(client *http.Client) *CurlStruct
- func (this *CurlStruct) Data(key string, value any) *CurlStruct
- func (this *CurlStruct) Datas(data map[string]any) *CurlStruct
- func (this *CurlStruct) Delete(url string) *CurlStruct
- func (this *CurlStruct) Get(url string) *CurlStruct
- func (this *CurlStruct) Header(key any, value any) *CurlStruct
- func (this *CurlStruct) Headers(headers map[string]any) *CurlStruct
- func (this *CurlStruct) Method(method string) *CurlStruct
- func (this *CurlStruct) Patch(url string) *CurlStruct
- func (this *CurlStruct) Post(url string) *CurlStruct
- func (this *CurlStruct) Put(url string) *CurlStruct
- func (this *CurlStruct) Query(key any, value any) *CurlStruct
- func (this *CurlStruct) Querys(params map[string]any) *CurlStruct
- func (this *CurlStruct) Send() *CurlResponse
- func (this *CurlStruct) Url(url string) *CurlStruct
- type EnvModel
- 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 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) Save(reader io.Reader, path ...string) (result *FileResponse)
- func (this *FileStruct) UnZip() (result *FileResponse)
- type LangModel
- type ViperModel
- type ViperResponse
Constants ¶
This section is empty.
Variables ¶
var Array struct { 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) }
var Format struct { Query func(data any) (result string) }
var Get struct { Type func(value any) (result string) Ip func(key ...string) (result any) Mac func() (result string) Resolution func(index int) (size int) }
var In struct { Array func(value any, array []any) (ok bool) }
var Is struct { Ip func(ip any) (ok bool) Url func(url any) (ok bool) Email func(email any) (ok bool) Phone func(phone any) (ok bool) Mobile func(mobile any) (ok bool) Empty func(value any) (ok bool) True func(value any) (ok bool) False func(value any) (ok bool) Number func(value any) (ok bool) Float func(value any) (ok bool) Bool func(value any) (ok bool) Accepted func(value any) (ok bool) Date func(date any) (ok bool) Alpha func(value any) (ok bool) AlphaNum func(value any) (ok bool) AlphaDash func(value any) (ok bool) Chs func(value any) (ok bool) ChsAlpha func(value any) (ok bool) ChsAlphaNum func(value any) (ok bool) ChsDash func(value any) (ok bool) Cntrl func(value any) (ok bool) Graph func(value any) (ok bool) Lower func(value any) (ok bool) Upper func(value any) (ok bool) Space func(value any) (ok bool) Xdigit func(value any) (ok bool) ActiveUrl func(value any) (ok bool) Domain func(domain any) (ok bool) IdCard func(value any) (ok bool) MacAddr func(value any) (ok bool) Zip func(value any) (ok bool) String func(value any) (ok bool) Slice func(value any) (ok bool) Array func(value any) (ok bool) JsonString func(value any) (ok bool) Map func(value any) (ok bool) SliceSlice func(value any) (ok bool) MapAny func(value any) (ok bool) }
var Json struct { Encode func(value any) (result string) Decode func(value any) (result any) Get func(value any, key any) (result any, err error) }
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) }
var Mime struct { Type func(suffix any) (mime string) }
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 Net struct { Tcping func(host any, opts ...map[string]any) (ok bool, detail []map[string]any) }
var Parse struct { ParamsBefore func(params url.Values) (result map[string]any) Params func(params map[string]any) (result map[string]any) }
var Password struct { Create func(password any) (result string) Verify func(encode any, password any) (ok bool) }
var Rand struct { Int func(max int, min ...int) (result int) String func(length int, chars ...string) (result string) }
var Struct struct { Set func(obj any, key string, val any) Get func(obj any, key string) (result any) Del func(obj any, key string) Has func(obj any, key string) (ok bool) Keys func(obj any) (slice []string) Values func(obj any) (slice []any) Len func(obj any) (length int) Map func(obj any) (result map[string]any) Slice func(obj any) (slice []any) }
var Unity struct { Ids func(param ...any) (result []any) Keys func(param any, reg ...any) (result []any) }
var Validate = func(model any) *validator { return &validator{ model: model, rule: ValidateRules, } }
Validate - 验证器入口
var Version struct { Go func() (version string) Compare func(v1 any, v2 any) (result int) }
Functions ¶
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 ParseParams ¶
ParseParams - 解析参数 把 Content-Type = application/x-www-form-urlencoded 的参数解析成 map[string]any
func ParseParamsBefore ¶
ParseParamsBefore - 解析参数 把 Content-Type = application/x-www-form-urlencoded 的参数解析成 object.deep.age = 10 的格式
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:是否为邮政编码 *
func VersionCompare ¶
VersionCompare - 版本号比对 *
- @param v1 string - 小版本号
- @param v2 string - 大版本号
- @return int - 0: 相等,1: v1 < v2,-1: v1 > v2
- @example:
- utils.VersionCompare("1.2.0", "1.0.0") // 1
Types ¶
type AsyncStruct ¶
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 CurlStruct ¶
type CurlStruct struct {
// contains filtered or unexported fields
}
CurlStruct - Curl 结构体
func (*CurlStruct) Client ¶
func (this *CurlStruct) Client(client *http.Client) *CurlStruct
Client - 定义请求客户端
func (*CurlStruct) Data ¶
func (this *CurlStruct) Data(key string, value any) *CurlStruct
Data - 定义请求数据
func (*CurlStruct) Datas ¶
func (this *CurlStruct) Datas(data map[string]any) *CurlStruct
Datas - 批量定义请求数据
func (*CurlStruct) Delete ¶
func (this *CurlStruct) Delete(url string) *CurlStruct
Delete - 发起 DELETE 请求
func (*CurlStruct) Header ¶
func (this *CurlStruct) Header(key any, value any) *CurlStruct
Header - 定义请求头
func (*CurlStruct) Headers ¶
func (this *CurlStruct) Headers(headers map[string]any) *CurlStruct
Headers - 批量定义请求头
func (*CurlStruct) Method ¶
func (this *CurlStruct) Method(method string) *CurlStruct
Method - 定义请求类型 - 默认 GET
func (*CurlStruct) Patch ¶
func (this *CurlStruct) Patch(url string) *CurlStruct
Patch - 发起 PATCH 请求
func (*CurlStruct) Query ¶
func (this *CurlStruct) Query(key any, value any) *CurlStruct
Query - 定义请求参数
func (*CurlStruct) Querys ¶
func (this *CurlStruct) Querys(params map[string]any) *CurlStruct
Querys - 批量定义请求参数
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 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) 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 ViperModel ¶
type ViperModel struct { // 配置文件路径 Path string // 配置文件类型 Mode string // 文件名 Name string // 文件内容 Content string }
func Viper ¶
func Viper(model ...ViperModel) *ViperModel
func (*ViperModel) Read ¶
func (this *ViperModel) Read() (result ViperResponse)
func (*ViperModel) SetMode ¶
func (this *ViperModel) SetMode(mode string) *ViperModel
func (*ViperModel) SetName ¶
func (this *ViperModel) SetName(name string) *ViperModel
func (*ViperModel) SetPath ¶
func (this *ViperModel) SetPath(path string) *ViperModel
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)