package system import ( "git.echol.cn/loser/ai_proxy/server/global" "github.com/google/uuid" ) // SysUser 系统用户 type SysUser struct { global.GVA_MODEL Username string `json:"username" gorm:"comment:用户名;size:100;uniqueIndex;not null"` Password string `json:"-" gorm:"comment:密码;size:255;not null"` Nickname string `json:"nickname" gorm:"comment:昵称;size:100"` Email string `json:"email" gorm:"comment:邮箱;size:100"` Phone string `json:"phone" gorm:"comment:手机号;size:20"` Avatar string `json:"avatar" gorm:"comment:头像;size:500"` Role string `json:"role" gorm:"comment:角色;size:20;default:'user'"` // admin/user Status string `json:"status" gorm:"comment:状态;size:20;default:'active'"` // active/disabled APIKey string `json:"apiKey" gorm:"comment:API密钥;size:255;uniqueIndex"` } func (SysUser) TableName() string { return "sys_users" } // Login 接口实现 type Login interface { GetUUID() uuid.UUID GetUserId() uint GetUsername() string GetNickname() string GetAuthorityId() uint } func (s *SysUser) GetUUID() uuid.UUID { return uuid.New() } func (s *SysUser) GetUserId() uint { return s.ID } func (s *SysUser) GetUsername() string { return s.Username } func (s *SysUser) GetNickname() string { return s.Nickname } func (s *SysUser) GetAuthorityId() uint { if s.Role == "admin" { return 1 } return 2 }