admin_role.go 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. package forms
  2. import (
  3. "errors"
  4. "time"
  5. )
  6. type AdminRoleListReq struct {
  7. ListReq
  8. Sn string `json:"sn" form:"sn"`
  9. Cdk string `json:"cdk" form:"cdk"`
  10. CreatedAt []int64 `json:"created_at" form:"created_at[]"`
  11. Time []time.Time
  12. }
  13. func (req *AdminRoleListReq) Check() error {
  14. if req.CreatedAt != nil && len(req.CreatedAt) != 2 {
  15. return errors.New("生成时间必须选择一个区间或者留空")
  16. }
  17. if len(req.CreatedAt) == 2 {
  18. if req.CreatedAt[0] > req.CreatedAt[1] {
  19. return errors.New("生成时间选择的区间值不合理")
  20. }
  21. // 默认是毫秒
  22. req.CreatedAt[0] = req.CreatedAt[0] / 1000
  23. req.CreatedAt[1] = req.CreatedAt[1] / 1000
  24. }
  25. return nil
  26. }
  27. type AdminRoleListModel struct {
  28. ID int64 `gorm:"column:id;primaryKey;autoIncrement:true" json:"id"` // 角色ID
  29. Name string `gorm:"column:name;not null" json:"name"` // 角色名称
  30. Key string `gorm:"column:key;not null" json:"key"` // 角色权限字符串
  31. Permissions interface{} `gorm:"column:permissions" json:"permissions"` // 权限分配
  32. Pages interface{} `gorm:"column:pages" json:"pages"` // 页面分配
  33. Remark string `gorm:"column:remark" json:"remark"` // 备注
  34. Sort int32 `gorm:"column:sort;not null" json:"sort"` // 排序
  35. Status int32 `gorm:"column:status;not null;default:1" json:"status"` // 角色状态
  36. CreatedAt time.Time `gorm:"column:created_at" json:"created_at"` // 创建时间
  37. UpdatedAt time.Time `gorm:"column:updated_at" json:"updated_at"` // 更新时间
  38. }
  39. type AdminRoleEditReq struct {
  40. ID int64 `gorm:"column:id;primaryKey;autoIncrement:true" json:"id"` // 角色ID
  41. Name string `gorm:"column:name;not null" json:"name"` // 角色名称
  42. Key string `gorm:"column:key;not null" json:"key"` // 角色权限字符串
  43. //Permissions string `gorm:"column:permissions" json:"permissions"` // 权限分配
  44. Remark string `gorm:"column:remark" json:"remark"` // 备注
  45. Sort int32 `gorm:"column:sort;not null" json:"sort"` // 排序
  46. Status int32 `gorm:"column:status;not null;default:1" json:"status"` // 角色状态
  47. Permissions []int `json:"permissions"` // 权限分配
  48. Pages []int `json:"pages"` // 页面分配
  49. }
  50. type AdminRoleReq struct {
  51. ID int64 `json:"id" form:"id"`
  52. }
  53. type Menu struct {
  54. Id int32 `json:"id"`
  55. Component string `json:"component"`
  56. Meta *MenuMeta `json:"meta"`
  57. Name string `json:"name"`
  58. Path string `json:"path"`
  59. Redirect string `json:"redirect"`
  60. Children []*Menu `json:"children"`
  61. }
  62. type MenuMeta struct {
  63. Icon string `json:"icon"`
  64. Sort int32 `json:"sort"`
  65. Title string `json:"title"`
  66. Hidden bool `json:"hidden,omitempty"`
  67. ActiveMenu string `json:"activeMenu,omitempty"`
  68. IsRoot bool `json:"isRoot,omitempty"`
  69. }