38 lines
1.3 KiB
Go
38 lines
1.3 KiB
Go
package model
|
|
|
|
import (
|
|
"next-terminal/server/common"
|
|
)
|
|
|
|
type LoginLog struct {
|
|
ID string `gorm:"primary_key,type:varchar(128)" json:"id"`
|
|
Username string `gorm:"index,type:varchar(200)" json:"username"`
|
|
ClientIP string `gorm:"type:varchar(200)" json:"clientIp"`
|
|
ClientUserAgent string `gorm:"type:varchar(500)" json:"-"`
|
|
UserAgent *UserAgent `gorm:"-" json:"userAgent"`
|
|
LoginTime common.JsonTime `json:"loginAt"`
|
|
LogoutTime common.JsonTime `json:"logoutTime"`
|
|
Remember bool `json:"remember"`
|
|
State string `gorm:"type:varchar(1)" json:"-"` // 成功 1 失败 0
|
|
Success bool `gorm:"-" json:"success"`
|
|
Reason string `gorm:"type:varchar(500)" json:"reason"`
|
|
Region string `gorm:"type:varchar(200)" json:"region"`
|
|
}
|
|
|
|
type UserAgent struct {
|
|
String string `json:"String"`
|
|
OS string `json:"OS"`
|
|
OSVersion string `json:"OSVersion"`
|
|
Name string `json:"Name"`
|
|
Version string `json:"Version"`
|
|
Device string `json:"Device"`
|
|
Mobile bool `json:"Mobile"`
|
|
Tablet bool `json:"Tablet"`
|
|
Desktop bool `json:"Desktop"`
|
|
Bot bool `json:"Bot"`
|
|
}
|
|
|
|
func (r *LoginLog) TableName() string {
|
|
return "login_logs"
|
|
}
|