// 模块模型-用户 // 秒寻科技 // zt 2024-01-04 package usermodel import ( "ipsomc/core/dao/mysql/mysqlmodel" ) // PC端管理员 type Operator struct { mysqlmodel.BaseModelDB UserTypeID uint8 `json:"user_type_id" gorm:"default:1"` //用户类型。1:平台管理员,2:系统管理员,3:项目操作员 UserName string `json:"user_name" gorm:"size:32;unique_index"` //用户名(登录名) Password string `json:"password" gorm:"size:512"` //密码,加密保存 Nickname string `json:"nickname" gorm:"size:32"` //昵称 Name string `json:"name" gorm:"size:16"` //操作员姓名 Sex int `json:"sex" gorm:"defautl:3"` //用户性别 1:男 2:女 3:未知 Telephone string `json:"telephone" gorm:"size:32"` //用户手机号码 Avatar string `json:"avatar" gorm:"size:256"` //用户头像 Role string `json:"role" gorm:"size:text"` //逗号分隔的角色ID字符串 //角色ID构成的字符串,逗号分隔 //包含的角色,以逗号分隔的角色ID字符串 NewPassword string `json:"new_password" gorm:"-"` //新改密码 Token string `json:"token" gorm:"-"` //用户token CompanyName string `json:"company_name" gorm:"-"` //临时接收前端注册的数据(公司名称) TempPassword string `json:"temp_password" gorm:"-"` //临时传递原始密码使用 VerifyID string `json:"verify_id" gorm:"-"` //验证码ID VerifyCode string `json:"verify_code" gorm:"-"` //验证码 BelongingCompanyID int `json:"belonging_company_id" gorm:"-"` // } type RspOperator struct { ID int `json:"id"` //记录的ID CompanyID int `json:"company_id"` //公司ID CompanyName string `json:"company_name"` //公司名称 ProjectID int `json:"project_id"` //项目ID(项目编号由由后台维护,前端可读不可写) UserTypeID uint8 `json:"user_type_id"` //用户类型 Nickname string `json:"nickname"` //昵称 Sex int `json:"sex"` //用户性别 1:男 2:女 3:未知 Avatar string `json:"avatar"` //用户头像 //角色ID构成的字符串,逗号分隔 //包含的角色,以逗号分隔的角色ID字符串 Token string `json:"token"` //用户token } // 管理角色 type Role struct { mysqlmodel.BaseModelDB TypeID uint8 `json:"type_id" gorm:"default:2"` //角色类型,1:平台管理角色,2:其他管理角色 Name string `json:"name" gorm:"size:64"` //角色名称 Desc string `json:"desc" gorm:"size:128"` //角色描述 Permission string `json:"permission" gorm:"size:text"` //该角色拥有的权限,以逗号分隔的字符串 } // 管理权限,包括页面权限和按钮权限两种 type Permission struct { mysqlmodel.BaseModelDB Pid int `json:"pid" gorm:"default:0"` //上级权限ID,无上级则为0 TypeID int `json:"type_id" gorm:"default:1"` //权限类型,1:页面权限,2:按钮权限 Name string `json:"name" gorm:"size:32"` //权限名称 Flag string `json:"flag" gorm:"size:32"` //权限标识符,可以是页面名称,也可以是按钮名称 Desc string `json:"desc" gorm:"size:128"` //权限描述 } // 页面和菜单权限 type MenuBtnPermission struct { Pid int `json:"pid"` //上级权限ID,无上级则为0 TypeID int `json:"type_id"` //权限类型,1:页面权限,2:按钮权限 Name string `json:"name"` //权限名称 Flag string `json:"flag"` //权限标识符,可以是页面名称,也可以是按钮名称 } // 返回给前端的操作员权限 type RspOperatorPermission struct { Menus []MenuBtnPermission `json:"menus"` //菜单权限 Btns []MenuBtnPermission `json:"btns"` //按钮权限 }