🎨 优化项目结构 && 完善ai配置
This commit is contained in:
@@ -2,55 +2,61 @@ package system
|
||||
|
||||
import (
|
||||
"git.echol.cn/loser/ai_proxy/server/global"
|
||||
"git.echol.cn/loser/ai_proxy/server/model/common"
|
||||
"github.com/google/uuid"
|
||||
)
|
||||
|
||||
// SysUser 系统用户
|
||||
type Login interface {
|
||||
GetUsername() string
|
||||
GetNickname() string
|
||||
GetUUID() uuid.UUID
|
||||
GetUserId() uint
|
||||
GetAuthorityId() uint
|
||||
GetUserInfo() any
|
||||
}
|
||||
|
||||
var _ Login = new(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"`
|
||||
UUID uuid.UUID `json:"uuid" gorm:"index;comment:用户UUID"` // 用户UUID
|
||||
Username string `json:"userName" gorm:"index;comment:用户登录名"` // 用户登录名
|
||||
Password string `json:"-" gorm:"comment:用户登录密码"` // 用户登录密码
|
||||
NickName string `json:"nickName" gorm:"default:系统用户;comment:用户昵称"` // 用户昵称
|
||||
HeaderImg string `json:"headerImg" gorm:"default:https://qmplusimg.henrongyi.top/gva_header.jpg;comment:用户头像"` // 用户头像
|
||||
AuthorityId uint `json:"authorityId" gorm:"default:888;comment:用户角色ID"` // 用户角色ID
|
||||
Authority SysAuthority `json:"authority" gorm:"foreignKey:AuthorityId;references:AuthorityId;comment:用户角色"` // 用户角色
|
||||
Authorities []SysAuthority `json:"authorities" gorm:"many2many:sys_user_authority;"` // 多用户角色
|
||||
Phone string `json:"phone" gorm:"comment:用户手机号"` // 用户手机号
|
||||
Email string `json:"email" gorm:"comment:用户邮箱"` // 用户邮箱
|
||||
Enable int `json:"enable" gorm:"default:1;comment:用户是否被冻结 1正常 2冻结"` //用户是否被冻结 1正常 2冻结
|
||||
OriginSetting common.JSONMap `json:"originSetting" form:"originSetting" gorm:"type:text;default:null;column:origin_setting;comment:配置;"` //配置
|
||||
}
|
||||
|
||||
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
|
||||
return s.NickName
|
||||
}
|
||||
|
||||
func (s *SysUser) GetUUID() uuid.UUID {
|
||||
return s.UUID
|
||||
}
|
||||
|
||||
func (s *SysUser) GetUserId() uint {
|
||||
return s.ID
|
||||
}
|
||||
|
||||
func (s *SysUser) GetAuthorityId() uint {
|
||||
if s.Role == "admin" {
|
||||
return 1
|
||||
}
|
||||
return 2
|
||||
return s.AuthorityId
|
||||
}
|
||||
|
||||
func (s *SysUser) GetUserInfo() any {
|
||||
return *s
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user