utils

package
v0.0.0-...-39abc7b Latest Latest
Warning

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

Go to latest
Published: Jul 16, 2025 License: Apache-2.0 Imports: 34 Imported by: 23

Documentation

Index

Constants

View Source
const (
	B  = 1
	KB = 1024 * B
	MB = 1024 * KB
	GB = 1024 * MB
)

Variables

View Source
var (
	TokenValid            = errors.New("未知错误")
	TokenExpired          = errors.New("token已过期")
	TokenNotValidYet      = errors.New("token尚未激活")
	TokenMalformed        = errors.New("这不是一个token")
	TokenSignatureInvalid = errors.New("无效签名")
	TokenInvalid          = errors.New("无法处理此token")
)
View Source
var (
	IdVerify               = Rules{"ID": []string{NotEmpty()}}
	ApiVerify              = Rules{"Path": {NotEmpty()}, "Description": {NotEmpty()}, "ApiGroup": {NotEmpty()}, "Method": {NotEmpty()}}
	MenuVerify             = Rules{"Path": {NotEmpty()}, "Name": {NotEmpty()}, "Component": {NotEmpty()}, "Sort": {Ge("0")}}
	MenuMetaVerify         = Rules{"Title": {NotEmpty()}}
	LoginVerify            = Rules{"CaptchaId": {NotEmpty()}, "Username": {NotEmpty()}, "Password": {NotEmpty()}}
	RegisterVerify         = Rules{"Username": {NotEmpty()}, "NickName": {NotEmpty()}, "Password": {NotEmpty()}, "AuthorityId": {NotEmpty()}}
	PageInfoVerify         = Rules{"Page": {NotEmpty()}, "PageSize": {NotEmpty()}}
	CustomerVerify         = Rules{"CustomerName": {NotEmpty()}, "CustomerPhoneData": {NotEmpty()}}
	AutoCodeVerify         = Rules{"Abbreviation": {NotEmpty()}, "StructName": {NotEmpty()}, "PackageName": {NotEmpty()}}
	AutoPackageVerify      = Rules{"PackageName": {NotEmpty()}}
	AuthorityVerify        = Rules{"AuthorityId": {NotEmpty()}, "AuthorityName": {NotEmpty()}}
	AuthorityIdVerify      = Rules{"AuthorityId": {NotEmpty()}}
	OldAuthorityVerify     = Rules{"OldAuthorityId": {NotEmpty()}}
	ChangePasswordVerify   = Rules{"Password": {NotEmpty()}, "NewPassword": {NotEmpty()}}
	SetUserAuthorityVerify = Rules{"AuthorityId": {NotEmpty()}}
)
View Source
var CustomizeMap = make(map[string]Rules)
View Source
var GlobalSystemEvents = &SystemEvents{}

全局事件管理器

Functions

func ArrayToString

func ArrayToString(array []interface{}) string

func BcryptCheck

func BcryptCheck(password, hash string) bool

BcryptCheck 对比明文密码和数据库的哈希值

func BcryptHash

func BcryptHash(password string) string

BcryptHash 使用 bcrypt 对密码进行加密

func BreakPointContinue

func BreakPointContinue(content []byte, fileName string, contentNumber int, contentTotal int, fileMd5 string) (string, error)

func BuildTree

func BuildTree[T common.TreeNode[T]](nodes []T) []T

BuildTree 用于构建一个树形结构

func CheckMd5

func CheckMd5(content []byte, chunkMd5 string) (CanUpload bool)

func ClearToken

func ClearToken(c *gin.Context)

func CreateDir

func CreateDir(dirs ...string) (err error)

func DeLFile

func DeLFile(filePath string) error

func Eq

func Eq(mark string) string

func FileExist

func FileExist(path string) bool

FileExist 判断文件是否存在

func FileMove

func FileMove(src string, dst string) (err error)

func FirstLower

func FirstLower(s string) string

func FirstUpper

func FirstUpper(s string) string

func Ge

func Ge(mark string) string

func GetCasbin

func GetCasbin() *casbin.SyncedCachedEnforcer

GetCasbin 获取casbin实例

func GetClaims

func GetClaims(c *gin.Context) (*systemReq.CustomClaims, error)

func GetJSONKeys

func GetJSONKeys(jsonStr string) (keys []string, err error)

func GetToken

func GetToken(c *gin.Context) string

func GetUserAuthorityId

func GetUserAuthorityId(c *gin.Context) uint

GetUserAuthorityId 从Gin的Context中获取从jwt解析出来的用户角色id

func GetUserID

func GetUserID(c *gin.Context) uint

GetUserID 从Gin的Context中获取从jwt解析出来的用户ID

func GetUserInfo

func GetUserInfo(c *gin.Context) *systemReq.CustomClaims

GetUserInfo 从Gin的Context中获取从jwt解析出来的用户角色id

func GetUserName

func GetUserName(c *gin.Context) string

GetUserName 从Gin的Context中获取从jwt解析出来的用户名

func GetUserUuid

func GetUserUuid(c *gin.Context) uuid.UUID

GetUserUuid 从Gin的Context中获取从jwt解析出来的用户UUID

func Gt

func Gt(mark string) string

func HumpToUnderscore

func HumpToUnderscore(s string) string

HumpToUnderscore 将驼峰命名转换为下划线分割模式

func Le

func Le(mark string) string

func LoginToken

func LoginToken(user system.Login) (token string, claims systemReq.CustomClaims, err error)

func Lt

func Lt(mark string) string

func MD5V

func MD5V(str []byte, b ...byte) string

func MaheHump

func MaheHump(s string) string

MaheHump 将字符串转换为驼峰命名

func MakeFile

func MakeFile(fileName string, FileMd5 string) (string, error)

func Ne

func Ne(mark string) string

func NotEmpty

func NotEmpty() string

func ParseDuration

func ParseDuration(d string) (time.Duration, error)

func PathExists

func PathExists(path string) (bool, error)

func Pointer

func Pointer[T any](in T) (out *T)

func RandomInt

func RandomInt(min, max int) int

func RandomString

func RandomString(n int) string

RandomString 随机字符串

func RegexpMatch

func RegexpMatch(rule string) string

func RegisterRule

func RegisterRule(key string, rule Rules) (err error)

func RemoveChunk

func RemoveChunk(FileMd5 string) error

func SetRedisJWT

func SetRedisJWT(jwt string, userName string) (err error)

func SetToken

func SetToken(c *gin.Context, token string, maxAge int)

func StructToMap

func StructToMap(obj interface{}) map[string]interface{}

func TrimSpace

func TrimSpace(target interface{})

func Unzip

func Unzip(zipFile string, destDir string) ([]string, error)

解压

func Verify

func Verify(st interface{}, roleMap Rules) (err error)

Types

type Cpu

type Cpu struct {
	Cpus  []float64 `json:"cpus"`
	Cores int       `json:"cores"`
}

func InitCPU

func InitCPU() (c Cpu, err error)

type Disk

type Disk struct {
	MountPoint  string `json:"mountPoint"`
	UsedMB      int    `json:"usedMb"`
	UsedGB      int    `json:"usedGb"`
	TotalMB     int    `json:"totalMb"`
	TotalGB     int    `json:"totalGb"`
	UsedPercent int    `json:"usedPercent"`
}

func InitDisk

func InitDisk() (d []Disk, err error)

type JWT

type JWT struct {
	SigningKey []byte
}

func NewJWT

func NewJWT() *JWT

func (*JWT) CreateClaims

func (j *JWT) CreateClaims(baseClaims request.BaseClaims) request.CustomClaims

func (*JWT) CreateToken

func (j *JWT) CreateToken(claims request.CustomClaims) (string, error)

CreateToken 创建一个token

func (*JWT) CreateTokenByOldToken

func (j *JWT) CreateTokenByOldToken(oldToken string, claims request.CustomClaims) (string, error)

CreateTokenByOldToken 旧token 换新token 使用归并回源避免并发问题

func (*JWT) ParseToken

func (j *JWT) ParseToken(tokenString string) (*request.CustomClaims, error)

ParseToken 解析 token

type Os

type Os struct {
	GOOS         string `json:"goos"`
	NumCPU       int    `json:"numCpu"`
	Compiler     string `json:"compiler"`
	GoVersion    string `json:"goVersion"`
	NumGoroutine int    `json:"numGoroutine"`
}

func InitOS

func InitOS() (o Os)

type Ram

type Ram struct {
	UsedMB      int `json:"usedMb"`
	TotalMB     int `json:"totalMb"`
	UsedPercent int `json:"usedPercent"`
}

func InitRAM

func InitRAM() (r Ram, err error)

type Rules

type Rules map[string][]string

type RulesMap

type RulesMap map[string]Rules

type Server

type Server struct {
	Os   Os     `json:"os"`
	Cpu  Cpu    `json:"cpu"`
	Ram  Ram    `json:"ram"`
	Disk []Disk `json:"disk"`
}

type SystemEvents

type SystemEvents struct {
	// contains filtered or unexported fields
}

SystemEvents 定义系统级事件处理

func (*SystemEvents) RegisterReloadHandler

func (e *SystemEvents) RegisterReloadHandler(handler func() error)

RegisterReloadHandler 注册系统重载处理函数

func (*SystemEvents) TriggerReload

func (e *SystemEvents) TriggerReload() error

TriggerReload 触发所有注册的重载处理函数

Directories

Path Synopsis
v2

Jump to

Keyboard shortcuts

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