Documentation
¶
Index ¶
- func FailWithCode(ctx *gin.Context, code StatusCode)
- func FailWithError(ctx *gin.Context, err error)
- func FailWithMessage(ctx *gin.Context, message string)
- func HttpResponse[T any](ctx *gin.Context, code StatusCode, data T, config *i18n.LocalizeConfig, ...)
- func ParamsValidateFail(ctx *gin.Context, err error)
- func Success(ctx *gin.Context)
- func SuccessWithData[T any](ctx *gin.Context, data T)
- func SuccessWithMessage(ctx *gin.Context, message string)
- func SuccessWithPageData[T any](ctx *gin.Context, total int64, list []T)
- type BasicResponse
- type Creator
- type DataList
- type DepartmentTreeResponse
- type FrontEndPermission
- type FrontEndPermissions
- type GetCaptchaResponse
- type I18nTranslatorCtxKey
- type ILocalizer
- type LoginResponse
- type LoginUser
- type PermissionDetailResponse
- type PermissionDetailRole
- type PermissionListRowResponse
- type ProfileResponse
- type ProfileResponseDept
- type ProfileResponseRole
- type RefreshTokenResponse
- type RoleDetailPermission
- type RoleDetailResponse
- type RoleListRowResponse
- type SimpleUser
- type StatusCode
- type Updater
- type UploadAttachmentResponse
- type UserListRowResponse
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FailWithMessage ¶
FailWithMessage 失败响应-携带消息
func HttpResponse ¶
func HttpResponse[T any](ctx *gin.Context, code StatusCode, data T, config *i18n.LocalizeConfig, message *string)
HttpResponse json响应
func ParamsValidateFail ¶
ParamsValidateFail 失败响应-参数错误
func SuccessWithData ¶
SuccessWithData 成功响应-携带数据
func SuccessWithMessage ¶
SuccessWithMessage 成功响应-携带消息
Types ¶
type BasicResponse ¶
type BasicResponse[T any] struct { Code int `json:"code"` Data T `json:"data"` Message string `json:"message"` }
BasicResponse 通用的数据返回
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 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 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 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 ProfileResponseRole ¶
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 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 转为响应