package forms import ( "errors" "time" ) type AdminRoleListReq struct { ListReq Sn string `json:"sn" form:"sn"` Cdk string `json:"cdk" form:"cdk"` CreatedAt []int64 `json:"created_at" form:"created_at[]"` Time []time.Time } func (req *AdminRoleListReq) Check() error { if req.CreatedAt != nil && len(req.CreatedAt) != 2 { return errors.New("生成时间必须选择一个区间或者留空") } if len(req.CreatedAt) == 2 { if req.CreatedAt[0] > req.CreatedAt[1] { return errors.New("生成时间选择的区间值不合理") } // 默认是毫秒 req.CreatedAt[0] = req.CreatedAt[0] / 1000 req.CreatedAt[1] = req.CreatedAt[1] / 1000 } return nil } type AdminRoleListModel struct { ID int64 `gorm:"column:id;primaryKey;autoIncrement:true" json:"id"` // 角色ID Name string `gorm:"column:name;not null" json:"name"` // 角色名称 Key string `gorm:"column:key;not null" json:"key"` // 角色权限字符串 Permissions interface{} `gorm:"column:permissions" json:"permissions"` // 权限分配 Pages interface{} `gorm:"column:pages" json:"pages"` // 页面分配 Systems interface{} `gorm:"column:systems" json:"systems"` // 系统分配 Remark string `gorm:"column:remark" json:"remark"` // 备注 Sort int32 `gorm:"column:sort;not null" json:"sort"` // 排序 Status int32 `gorm:"column:status;not null;default:1" json:"status"` // 角色状态 CreatedAt time.Time `gorm:"column:created_at" json:"created_at"` // 创建时间 UpdatedAt time.Time `gorm:"column:updated_at" json:"updated_at"` // 更新时间 } type AdminRoleEditReq struct { ID int64 `gorm:"column:id;primaryKey;autoIncrement:true" json:"id"` // 角色ID Name string `gorm:"column:name;not null" json:"name"` // 角色名称 Key string `gorm:"column:key;not null" json:"key"` // 角色权限字符串 Remark string `gorm:"column:remark" json:"remark"` // 备注 Sort int32 `gorm:"column:sort;not null" json:"sort"` // 排序 Status int32 `gorm:"column:status;not null;default:1" json:"status"` // 角色状态 Permissions map[int32][]int32 `json:"permissions"` // 权限分配 Pages map[int32][]int32 `json:"pages"` // 页面分配 Systems []int32 `json:"systems"` // 系统分配 } type AdminRoleReq struct { ID int64 `json:"id" form:"id"` } type Menu struct { Id int32 `json:"id"` Component string `json:"component"` Meta *MenuMeta `json:"meta"` Name string `json:"name"` Path string `json:"path"` Redirect string `json:"redirect"` Children []*Menu `json:"children"` } type MenuMeta struct { Icon string `json:"icon"` Sort int32 `json:"sort"` Title string `json:"title"` Hidden bool `json:"hidden,omitempty"` ActiveMenu string `json:"activeMenu,omitempty"` IsRoot bool `json:"isRoot,omitempty"` IsSuper bool `json:"isSuper,omitempty"` }