2025-07-02 14:51:23 +08:00

36 lines
746 B
Go

package request
import (
"net/http"
"github.com/zhang2092/browser"
)
type Login struct {
Email string `json:"email" binding:"required,email"`
Password string `json:"password" binding:"required,min=6"`
Captcha string `json:"captcha" binding:"required"`
CaptchaID string `json:"captcha_id" binding:"required"`
// 平台信息
Os string
Ip string
Browser string
Referrer string
Url string
}
func (login Login) SetAttributes(r *http.Request) Login {
login.Ip = r.RemoteAddr
login.Referrer = r.Header.Get("Referer")
login.Url = r.URL.RequestURI()
br, err := browser.NewBrowser(r.Header.Get("User-Agent"))
if err == nil {
login.Os = br.Platform().Name()
login.Browser = br.Name()
}
return login
}