2025-11-24 18:44:06 +08:00
|
|
|
|
package models
|
|
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
|
"time"
|
|
|
|
|
|
|
|
|
|
|
|
"platform/web/core"
|
|
|
|
|
|
"platform/web/globals/orm"
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
// Admin 管理员表
|
|
|
|
|
|
type Admin struct {
|
|
|
|
|
|
core.Model
|
2025-12-15 14:48:30 +08:00
|
|
|
|
Username string `json:"username" gorm:"column:username"` // 用户名
|
2026-04-11 09:51:25 +08:00
|
|
|
|
Password string `json:"-" gorm:"column:password"` // 密码
|
2025-12-15 14:48:30 +08:00
|
|
|
|
Name *string `json:"name,omitempty" gorm:"column:name"` // 真实姓名
|
|
|
|
|
|
Avatar *string `json:"avatar,omitempty" gorm:"column:avatar"` // 头像URL
|
|
|
|
|
|
Phone *string `json:"phone,omitempty" gorm:"column:phone"` // 手机号码
|
|
|
|
|
|
Email *string `json:"email,omitempty" gorm:"column:email"` // 邮箱
|
|
|
|
|
|
Status AdminStatus `json:"status" gorm:"column:status"` // 状态:0-禁用,1-正常
|
|
|
|
|
|
LastLogin *time.Time `json:"last_login,omitempty" gorm:"column:last_login"` // 最后登录时间
|
|
|
|
|
|
LastLoginIP *orm.Inet `json:"last_login_ip,omitempty" gorm:"column:last_login_ip"` // 最后登录地址
|
|
|
|
|
|
LastLoginUA *string `json:"last_login_ua,omitempty" gorm:"column:last_login_ua"` // 最后登录代理
|
2026-04-08 13:38:00 +08:00
|
|
|
|
Lock bool `json:"lock" gorm:"column:lock"` // 是否锁定编辑
|
2026-03-18 18:09:32 +08:00
|
|
|
|
|
|
|
|
|
|
Roles []*AdminRole `json:"roles" gorm:"many2many:link_admin_role"`
|
2025-11-24 18:44:06 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// AdminStatus 管理员状态枚举
|
|
|
|
|
|
type AdminStatus int
|
|
|
|
|
|
|
|
|
|
|
|
const (
|
|
|
|
|
|
AdminStatusDisabled AdminStatus = 0 // 禁用
|
|
|
|
|
|
AdminStatusEnabled AdminStatus = 1 // 正常
|
|
|
|
|
|
)
|