common

package
v0.10.3 Latest Latest
Warning

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

Go to latest
Published: Oct 29, 2026 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const DefaultPageSize = 20

DefaultPageSize 默认每页大小

View Source
const MaxPageSize = 100

MaxPageSize 最大每页大小

Variables

This section is empty.

Functions

func ApplyPagination added in v0.6.0

func ApplyPagination(db *gorm.DB, params PaginationParams) *gorm.DB

ApplyPagination 应用分页到 GORM 查询 用法:query = common.ApplyPagination(query, params)

func BadRequest

func BadRequest(c *gin.Context, message string)

BadRequest 请求参数错误

func Error

func Error(c *gin.Context, code int, message string)

Error 错误响应

func ErrorWithHttpStatus

func ErrorWithHttpStatus(c *gin.Context, httpStatus int, code int, message string)

ErrorWithHttpStatus 带HTTP状态码的错误响应

func Forbidden

func Forbidden(c *gin.Context, message string)

Forbidden 禁止访问

func InternalServerError

func InternalServerError(c *gin.Context, message string)

InternalServerError 内部服务器错误

func NotFound

func NotFound(c *gin.Context, message string)

NotFound 资源未找到

func PaginateQuery added in v0.6.0

func PaginateQuery(query *gorm.DB, params PaginationParams, dest any) (int64, error)

PaginateQuery 通用分页查询辅助函数

用法示例:

var results []Model
total, err := common.PaginateQuery(
    models.DB.Model(&Model{}),
    params,
    &results,
)

query: 已配置好 WHERE 条件的 GORM 查询 params: 分页参数 dest: 结果目标切片的指针 返回: 总记录数和错误

func Success

func Success(c *gin.Context, data any)

Success 成功响应

func SuccessRaw

func SuccessRaw(c *gin.Context, data any)

Success 成功响应(原始数据)

func SuccessWithMessage

func SuccessWithMessage(c *gin.Context, message string, data any)

SuccessWithMessage 带消息的成功响应

func Unauthorized

func Unauthorized(c *gin.Context, message string)

Unauthorized 未授权

Types

type PaginationParams added in v0.6.0

type PaginationParams struct {
	Page     int `json:"page"`      // 当前页码,从1开始
	PageSize int `json:"page_size"` // 每页大小
}

PaginationParams 分页请求参数

func ParsePagination added in v0.6.0

func ParsePagination(c *gin.Context) (PaginationParams, error)

ParsePagination 从 Gin Context 解析分页参数 参数无效时返回错误信息,调用者应该使用 common.BadRequest 响应

func ParsePaginationWithDefaults added in v0.6.0

func ParsePaginationWithDefaults(c *gin.Context, defaultPage, defaultPageSize int) (PaginationParams, error)

ParsePaginationWithDefaults 从 Gin Context 解析分页参数(带自定义默认值)

type PaginationResponse added in v0.6.0

type PaginationResponse struct {
	Data     any   `json:"data"`      // 数据列表
	Total    int64 `json:"total"`     // 总记录数
	Page     int   `json:"page"`      // 当前页码
	PageSize int   `json:"page_size"` // 每页大小
	Pages    int64 `json:"pages"`     // 总页数
}

PaginationResponse 分页响应结构

func NewPaginationResponse added in v0.6.0

func NewPaginationResponse(data any, total int64, params PaginationParams) PaginationResponse

NewPaginationResponse 创建分页响应

type Response

type Response struct {
	Code    int    `json:"code"`
	Message string `json:"message"`
	Error   string `json:"error,omitempty"`
	Data    any    `json:"data,omitempty"`
}

Response 统一响应结构

Jump to

Keyboard shortcuts

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