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 }