Documentation
¶
Index ¶
- Constants
- func ApiData(c *gin.Context, code int, data interface{}, message string)
- func BadRequest(c *gin.Context, code int, data interface{}, message string)
- func BadRequestError(c *gin.Context, message string)
- func BadRequestWithDetails(c *gin.Context, data interface{}, message string)
- func Base64Decrypt(encryptedPassword string) (string, error)
- func Base64DecryptWithMagic(encryptedPassword string) (string, error)
- func Base64Encrypt(password string) string
- func Base64EncryptWithMagic(password string) string
- func DecryptBatch(encryptedSecretKeys []string, encryptionKey []byte) ([]string, error)
- func DecryptSecretKey(encryptedSecretKey string, encryptionKey []byte) (string, error)
- func DeleteWithId(l *zap.Logger, funcName string, timeout int, url string, ...) ([]byte, error)
- func EncryptBatch(secretKeys []string, encryptionKey []byte) ([]string, error)
- func EncryptSecretKey(secretKey string, encryptionKey []byte) (string, error)
- func Error(c *gin.Context)
- func ErrorWithDetails(c *gin.Context, data interface{}, message string)
- func ErrorWithMessage(c *gin.Context, message string)
- func Forbidden(c *gin.Context, data interface{}, message string)
- func ForbiddenError(c *gin.Context, message string)
- func GenerateKeyFromPassword(password string, salt []byte) ([]byte, error)
- func GenerateRandomKey() ([]byte, error)
- func GenerateRandomSalt() ([]byte, error)
- func GetAge(creationTime time.Time) string
- func GetClientIP(r *http.Request) string
- func GetCustomParamID(ctx *gin.Context, paramID string) (int, error)
- func GetLocalIPs() ([]string, error)
- func GetParamCustomName(ctx *gin.Context, paramName string) (string, error)
- func GetParamID(ctx *gin.Context) (int, error)
- func GetQueryParam[T any](ctx *gin.Context, key string) (T, error)
- func GetStringParam(ctx *gin.Context, key string) (string, error)
- func HandleRequest(ctx *gin.Context, req interface{}, action func() (interface{}, error))
- func InternalServerError(c *gin.Context, code int, data interface{}, message string)
- func InternalServerErrorWithDetails(c *gin.Context, data interface{}, message string)
- func MapToStringSlice(inputMap map[string]string) ([]string, error)
- func NewBusinessError(code error, message string) error
- func Ping(ipAddr string) bool
- func PostWithJsonString(l *zap.Logger, funcName string, timeout int, url string, jsonStr string, ...) ([]byte, error)
- func SecureZeroMemory(data []byte)
- func SetUserInfoToContext(ctx context.Context, userInfo *UserInfo) context.Context
- func SetUserInfoToGinContext(c *gin.Context, userInfo *UserInfo)
- func StringSliceToMap(inputSlice []string) (map[string]string, error)
- func Success(c *gin.Context)
- func SuccessWithData(c *gin.Context, data interface{})
- func SuccessWithDetails(c *gin.Context, data interface{}, message string)
- func SuccessWithMessage(c *gin.Context, message string)
- func Unauthorized(c *gin.Context, code int, data interface{}, message string)
- func UnauthorizedErrorWithDetails(c *gin.Context, data interface{}, message string)
- func ValidateEncryptedData(encryptedData string) error
- func ValidateUniqueResource[T any](ctx context.Context, ...) error
- type ApiResponse
- type BusinessError
- type UserInfo
Constants ¶
const ( StatusError = 1 // 操作失败 StatusSuccess = 0 // 操作成功 )
定义操作成功和失败的常量状态码
Variables ¶
This section is empty.
Functions ¶
func BadRequest ¶
BadRequest 参数错误的返回,使用HTTP 400状态码
func BadRequestError ¶
BadRequestError 参数错误的失败返回
func BadRequestWithDetails ¶
BadRequestWithDetails 带详细数据和消息的参数错误返回
func Base64Decrypt ¶
Base64Decrypt 用于解密加密后的密码
func Base64DecryptWithMagic ¶
Base64DecryptWithMagic 解密 与加密过程相反的步骤还原原始密码
func Base64EncryptWithMagic ¶
Base64EncryptWithMagic 加密 通过先添加特定盐值、反转字符串再进行base64编码
func DecryptBatch ¶
DecryptBatch 批量解密
func DecryptSecretKey ¶
DecryptSecretKey 使用指定密钥解密数据
func DeleteWithId ¶
func EncryptBatch ¶
EncryptBatch 批量加密
func EncryptSecretKey ¶
EncryptSecretKey 使用指定密钥加密数据
func ErrorWithDetails ¶
ErrorWithDetails 带详细数据和消息的操作失败返回
func ErrorWithMessage ¶
ErrorWithMessage 带消息的操作失败返回
func GenerateKeyFromPassword ¶
GenerateKeyFromPassword 从密码生成密钥(使用PBKDF2)
func GetCustomParamID ¶
GetCustomParamID 从查询参数中解析自定义字段的 ID,并进行类型转换
func GetLocalIPs ¶
func GetParamCustomName ¶
GetParamCustomName 从查询参数中解析 Name,并进行类型转换
func GetQueryParam ¶
GetQueryParam 从查询参数中解析指定类型的值
func HandleRequest ¶
HandleRequest 用于统一处理请求绑定和响应
func InternalServerError ¶
InternalServerError 服务器内部错误的返回,使用HTTP 500状态码
func InternalServerErrorWithDetails ¶
InternalServerErrorWithDetails 带详细数据和消息的服务器内部错误返回
func MapToStringSlice ¶
MapToStringSlice 将 map 转换为 []string,要求偶数个元素,key和值依次排列
func NewBusinessError ¶
NewBusinessError 创建业务错误
func PostWithJsonString ¶
func PostWithJsonString(l *zap.Logger, funcName string, timeout int, url string, jsonStr string, paramsMap map[string]string, headerMap map[string]string) ([]byte, error)
PostWithJsonString 发送带 JSON 数据的 POST 请求
func SetUserInfoToContext ¶
SetUserInfoToContext 将用户信息设置到context中
func SetUserInfoToGinContext ¶
SetUserInfoToGinContext 将用户信息设置到gin.Context中
func StringSliceToMap ¶
StringSliceToMap 将 []string 转换为 map[string]string,要求输入长度为偶数,奇数索引为 key,偶数索引为 value
func SuccessWithData ¶
SuccessWithData 带数据的操作成功返回
func SuccessWithDetails ¶
SuccessWithDetails 带详细数据和消息的操作成功返回
func SuccessWithMessage ¶
SuccessWithMessage 带消息的操作成功返回
func Unauthorized ¶
Unauthorized 未认证的返回,使用HTTP 401状态码
func UnauthorizedErrorWithDetails ¶
UnauthorizedErrorWithDetails 带详细数据和消息的未认证返回
func ValidateEncryptedData ¶
ValidateEncryptedData 验证加密数据格式
Types ¶
type ApiResponse ¶
type ApiResponse struct {
Code int `json:"code"` // 状态码,表示业务逻辑的状态,而非HTTP状态码
Data interface{} `json:"data"` // 响应数据
Message string `json:"message"` // 反馈信息
}
ApiResponse 通用的API响应结构体
type BusinessError ¶
BusinessError 业务错误结构体
func (*BusinessError) Error ¶
func (e *BusinessError) Error() string
type UserInfo ¶
type UserInfo struct {
UserID int `json:"userId"`
Username string `json:"username"`
IP string `json:"ip"`
UserAgent string `json:"userAgent"`
}
UserInfo 用户信息结构体
func GetUserInfoFromContext ¶
GetUserInfoFromContext 从context.Context中获取用户信息
func GetUserInfoFromGinContext ¶
GetUserInfoFromGinContext 从gin.Context中获取用户信息
func GetUserInfoFromHTTPRequest ¶
GetUserInfoFromHTTPRequest 从http.Request中获取用户信息