diff --git a/http/controller/admin/login.go b/http/controller/admin/login.go index cd879cb..bb594f8 100644 --- a/http/controller/admin/login.go +++ b/http/controller/admin/login.go @@ -60,14 +60,7 @@ func (ct *Login) Login(c *gin.Context) { Platform: f.Platform, }) - response.Success(c, &adResp.LoginPayload{ - Token: ut.Token, - Username: u.Username, - Email: u.Email, - Avatar: u.Avatar, - RouteNames: service.AllService.UserService.RouteNames(u), - Nickname: u.Nickname, - }) + responseLoginSuccess(c, u, ut.Token) } // Logout 登出 @@ -165,12 +158,14 @@ func (ct *Login) OidcAuthQuery(c *gin.Context) { if ut == nil { return } - //fmt.Println("u:", u) - //fmt.Println("ut:", ut) - response.Success(c, &adResp.LoginPayload{ - Token: ut.Token, - Username: u.Username, - RouteNames: service.AllService.UserService.RouteNames(u), - Nickname: u.Nickname, - }) + responseLoginSuccess(c, u, ut.Token) } + + +func responseLoginSuccess(c *gin.Context, u *model.User, token string) { + lp := &adResp.LoginPayload{} + lp.FromUser(u) + lp.Token = token + lp.RouteNames = service.AllService.UserService.RouteNames(u) + response.Success(c, lp) +} \ No newline at end of file diff --git a/http/response/admin/user.go b/http/response/admin/user.go index df2a5ae..d441106 100644 --- a/http/response/admin/user.go +++ b/http/response/admin/user.go @@ -11,6 +11,13 @@ type LoginPayload struct { Nickname string `json:"nickname"` } +func (lp *LoginPayload) FromUser(user *model.User) { + lp.Username = user.Username + lp.Email = user.Email + lp.Avatar = user.Avatar + lp.Nickname = user.Nickname +} + var UserRouteNames = []string{ "MyTagList", "MyAddressBookList", "MyInfo", "MyAddressBookCollection", "MyPeer", }