response

package
v0.0.0-...-0a821e7 Latest Latest
Warning

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

Go to latest
Published: Oct 15, 2025 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FailWithCode

func FailWithCode(ctx *gin.Context, code StatusCode)

FailWithCode 失败响应

func FailWithError

func FailWithError(ctx *gin.Context, err error)

FailWithError 失败响应

func FailWithMessage

func FailWithMessage(ctx *gin.Context, message string)

FailWithMessage 失败响应-携带消息

func HttpResponse

func HttpResponse[T any](ctx *gin.Context, code StatusCode, data T, config *i18n.LocalizeConfig, message *string)

HttpResponse json响应

func ParamsValidateFail

func ParamsValidateFail(ctx *gin.Context, err error)

ParamsValidateFail 失败响应-参数错误

func Success

func Success(ctx *gin.Context)

Success 成功响应-不携带数据

func SuccessWithData

func SuccessWithData[T any](ctx *gin.Context, data T)

SuccessWithData 成功响应-携带数据

func SuccessWithMessage

func SuccessWithMessage(ctx *gin.Context, message string)

SuccessWithMessage 成功响应-携带消息

func SuccessWithPageData

func SuccessWithPageData[T any](ctx *gin.Context, total int64, list []T)

SuccessWithPageData 成功响应-携带分页数据

Types

type BasicResponse

type BasicResponse[T any] struct {
	Code    int    `json:"code"`
	Data    T      `json:"data"`
	Message string `json:"message"`
}

BasicResponse 通用的数据返回

type Creator

type Creator struct {
	*models.User
	Status    any `json:"status,omitempty"`
	Gender    any `json:"gender,omitempty"`
	Birthday  any `json:"birthday,omitempty"`
	Roles     any `json:"roles,omitempty"`
	CreatedAt any `json:"created_at,omitempty"`
	UpdatedAt any `json:"updated_at,omitempty"`
}

type DataList

type DataList[T any] struct {
	Total int64 `json:"total"`
	List  []T   `json:"list"`
}

DataList 列表类型的数据

type DepartmentTreeResponse

type DepartmentTreeResponse struct {
	*models.Department
	FullName  string                    `json:"full_name"`           // 部门全称
	FullIds   []uint                    `json:"full_ids"`            // 部门ID路径
	Ancestors []uint                    `json:"ancestors,omitempty"` // 部门ID路径,不包含自身
	Parent    any                       `json:"parent,omitempty"`    // 父部门
	Children  []*DepartmentTreeResponse `json:"children,omitempty"`  // 子部门
	Leaders   []*SimpleUser             `json:"leaders,omitempty"`   // leader
	Users     []*SimpleUser             `json:"users,omitempty"`     // 用户
	Creator   *Creator                  `json:"creator,omitempty"`   // 创建者
	Updater   *Updater                  `json:"updater,omitempty"`   // 更新者
}

DepartmentTreeResponse 全量部门树结构

func ToDepartmentTreeResponse

func ToDepartmentTreeResponse(dept *models.Department, deptMap map[uint]*models.Department) (*DepartmentTreeResponse, error)

ToDepartmentTreeResponse 将 dept 转为响应

type FrontEndPermission

type FrontEndPermission struct {
	ID       uint                    `json:"id"`       // ID
	Name     string                  `json:"name"`     // 权限名称
	Resource string                  `json:"resource"` // 资源
	Type     constant.PermissionType `json:"type"`     // 资源类型
}

FrontEndPermission 前端权限列表

func ToFrontEndPermissionResponse

func ToFrontEndPermissionResponse(permission *models.Permission) *FrontEndPermission

ToFrontEndPermissionResponse 将permission转为响应

type FrontEndPermissions

type FrontEndPermissions []*FrontEndPermission

type GetCaptchaResponse

type GetCaptchaResponse struct {
	ID     string `json:"id"`     // ID
	Base64 string `json:"base64"` // 图片base64
}

type I18nTranslatorCtxKey

type I18nTranslatorCtxKey string
const (
	I18nTranslatorKey      I18nTranslatorCtxKey = "i18n_translator"
	ValidatorTranslatorKey I18nTranslatorCtxKey = "validator_translator"
)

type ILocalizer

type ILocalizer interface {
	MustLocalize(lc *i18n.LocalizeConfig) string
}

type LoginResponse

type LoginResponse struct {
	User         LoginUser `json:"user"`          // 用户信息
	Token        string    `json:"token"`         // token
	RefreshToken string    `json:"refresh_token"` // refresh token
}

LoginResponse 登录响应

type LoginUser

type LoginUser struct {
	ID       uint    `json:"id"`       // ID
	Email    string  `json:"email"`    // 邮箱
	Nickname *string `json:"nickname"` // 昵称
}

type PermissionDetailResponse

type PermissionDetailResponse struct {
	*models.Permission
	Creator any `json:"creator,omitempty"` // 创建者
	Updater any `json:"updater,omitempty"` // 更新者
}

PermissionDetailResponse 权限详情

func ToPermissionDetailResponse

func ToPermissionDetailResponse(permission *models.Permission) *PermissionDetailResponse

ToPermissionDetailResponse 将permission转为响应

type PermissionDetailRole

type PermissionDetailRole struct {
	*models.Role
	Users       any `json:"users,omitempty"`       // 用户
	Permissions any `json:"permissions,omitempty"` // 权限
	Creator     any `json:"creator,omitempty"`     // 创建者
	Updater     any `json:"updater,omitempty"`     // 更新者
}

type PermissionListRowResponse

type PermissionListRowResponse struct {
	*models.Permission
	Roles   any     `json:"roles,omitempty"` // 角色
	Creator Creator `json:"creator"`         // 创建者
	Updater Updater `json:"updater"`         // 更新者
}

PermissionListRowResponse 权限列表的行

func ToPermissionListRowResponse

func ToPermissionListRowResponse(permission *models.Permission) *PermissionListRowResponse

ToPermissionListRowResponse 将permission转为响应

type ProfileResponse

type ProfileResponse struct {
	*models.User
	Roles       []*ProfileResponseRole `json:"roles"`       // 角色
	Departments []*ProfileResponseDept `json:"departments"` // 部门
}

ProfileResponse 个人信息响应

type ProfileResponseDept

type ProfileResponseDept struct {
	ID   uint   `json:"id"`   // 部门ID
	Name string `json:"name"` // 部门名称
}

type ProfileResponseRole

type ProfileResponseRole struct {
	ID   uint   `json:"id"`   //  角色ID
	Name string `json:"name"` // 角色名称
}

type RefreshTokenResponse

type RefreshTokenResponse struct {
	Token string `json:"token"` // token
}

RefreshTokenResponse 刷新 token 的响应

type RoleDetailPermission

type RoleDetailPermission struct {
	*models.Permission
	Roles   any `json:"roles,omitempty"`   // 角色
	Creator any `json:"creator,omitempty"` // 创建者
	Updater any `json:"updater,omitempty"` // 更新者
}

type RoleDetailResponse

type RoleDetailResponse struct {
	*models.Role
	Users       []*SimpleUser           `json:"users"`             // 用户
	Permissions []*RoleDetailPermission `json:"permissions"`       // 权限
	Creator     any                     `json:"creator,omitempty"` // 创建者
	Updater     any                     `json:"updater,omitempty"` // 更新者
}

RoleDetailResponse 角色详情

func ToRoleDetailResponse

func ToRoleDetailResponse(role *models.Role) *RoleDetailResponse

ToRoleDetailResponse 将permission转为响应

type RoleListRowResponse

type RoleListRowResponse struct {
	*models.Role
	Users       any     `json:"users,omitempty"`       // 用户
	Permissions any     `json:"permissions,omitempty"` // 权限
	Creator     Creator `json:"creator"`               // 创建者
	Updater     Updater `json:"updater"`               // 更新人
}

RoleListRowResponse 角色列表的行

func ToRoleListRowResponse

func ToRoleListRowResponse(role *models.Role) *RoleListRowResponse

ToRoleListRowResponse 将role转为响应

type SimpleUser

type SimpleUser = Creator

type StatusCode

type StatusCode int
const (
	Ok                      StatusCode = 10000 // ok
	Error                   StatusCode = 10001 // error
	InvalidParams           StatusCode = 10002 // invalidParams
	InvalidToken            StatusCode = 10003 // invalidToken
	CancelRequest           StatusCode = 10004 // cancelRequest
	RecoveryError           StatusCode = 10005 // recoveryError
	InvalidRefreshToken     StatusCode = 10006 // invalidRefreshToken
	UnnecessaryRefreshToken StatusCode = 10007 // unnecessaryRefreshToken
	AuthErr                 StatusCode = 10008 // authErr
	TimeoutErr              StatusCode = 10009 // timeoutErr
	Busy                    StatusCode = 10010 // busy
)

响应的code枚举

const (
	UserCreateDuplicateEmail StatusCode = 20000 // userCreateDuplicateEmail
	UserLoginFail            StatusCode = 20001 // userLoginFail
	PasswordValidErr         StatusCode = 20002 // passwordValidErr
	EmailValidErr            StatusCode = 20003 // emailValidErr
	UserNotExist             StatusCode = 20004 // userNotExist
	UserInactive             StatusCode = 20005 // userInactive
	UserDisabled             StatusCode = 20006 // userDisabled
	InvalidActiveCode        StatusCode = 20007 // invalidActiveCode
	ReActiveErr              StatusCode = 20008 // reActiveErr
	UserLogoutFail           StatusCode = 20009 // userLogoutFail
)
const (
	RoleCreateDuplicateName StatusCode = 40000 // roleCreateDuplicateName
	NoValidRoles            StatusCode = 40001 // noValidRoles
	RoleNotExist            StatusCode = 40002 // roleNotExist
	RoleExistPermissionRef  StatusCode = 40003 // roleExistPermissionRef
	RoleExistUserRef        StatusCode = 40004 // roleExistUserRef
)
const (
	PermissionCreateDuplicate StatusCode = 50000 // permissionCreateDuplicate
	PermissionNotExist        StatusCode = 50001 // permissionNotExist
	PermissionExistRoleRef    StatusCode = 50002 // permissionExistRoleRef
)
const (
	DeptCreateDuplicate StatusCode = 60000 // deptCreateDuplicate
	DeptNotExist        StatusCode = 60001 // deptNotExist
	DeptExistUserRef    StatusCode = 60002 // deptExistUserRef
)
const (
	CaptchaVerifyFail StatusCode = 30000 // captchaVerifyFail
)
const (
	InvalidAttachmentLength StatusCode = 50000 // invalidAttachmentLength
)

func (StatusCode) Error

func (s StatusCode) Error() string

func (StatusCode) String

func (i StatusCode) String() string

type Updater

type Updater = Creator

type UploadAttachmentResponse

type UploadAttachmentResponse struct {
	ID   uint   `json:"id"`   // 文件ID
	Name string `json:"name"` // 文件名
	Size int64  `json:"size"` // 文件大小
	Path string `json:"path"` // 文件路径
}

type UserListRowResponse

type UserListRowResponse struct {
	*models.User
	Roles       []*ProfileResponseRole `json:"roles" gorm:"many2many:user_role;"`             // 角色
	Departments []*ProfileResponseDept `json:"departments" gorm:"many2many:user_department;"` // 部门
}

func ToUserListRowResponse

func ToUserListRowResponse(user *models.User) *UserListRowResponse

ToUserListRowResponse 将 user 转为响应

Jump to

Keyboard shortcuts

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