package validators type User struct { ID int64 `json:"id" form:"id" binding:"omitempty,numeric"` Account string `json:"account" form:"account" binding:"required,alphanum,min=4,max=20"` Nickname string `json:"nickname" form:"nickname" binding:"required"` Status int `json:"status" form:"status" binding:"omitempty,oneof=1 2"` IsSuper int `json:"isSuper" form:"isSuper" binding:"omitempty,oneof=1 2"` Permissions []string `json:"permissions" form:"-" binding:"-"` Remark string `json:"remark" form:"remark" binding:"omitempty,max=255"` RoleIds []int64 `json:"roleIds" form:"roleIds" binding:"omitempty,dive,numeric"` Roles []*Role `json:"roles" form:"-" binding:"-"` } // 用户权限组 type UserPermissionGroup struct { Label string `json:"label"` // 权限组名称 Children []UserPermission `json:"children"` // 权限组下的权限 } // 用户权限 type UserPermission struct { Label string `json:"label"` // 权限名称 Value string `json:"value"` // 权限值 RequiredValues []string `json:"requiredValues"` // 必须勾选的其他权限 } type Role struct { ID int64 `json:"id" form:"id" binding:"omitempty,numeric"` Name string `json:"name" form:"name" binding:"required"` Permissions []string `json:"permissions" form:"permissions" binding:"omitempty,dive"` UserTotal int `json:"userTotal" form:"-" binding:"-"` CreatedAt string `json:"createdAt" form:"-" binding:"-"` }