Files
ai_proxy/server/model/system/sys_user.go
2026-03-03 06:05:51 +08:00

57 lines
1.4 KiB
Go

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
}