From f9a214199dcc9ec66bfa54fef830d54e28545e53 Mon Sep 17 00:00:00 2001 From: lifei6671 Date: Tue, 27 Nov 2018 18:00:16 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E4=BC=98=E5=8C=96=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E8=B7=B3=E8=BD=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- controllers/AccountController.go | 32 +++++++++++--------------------- 1 file changed, 11 insertions(+), 21 deletions(-) diff --git a/controllers/AccountController.go b/controllers/AccountController.go index b22d0962..b3b83844 100644 --- a/controllers/AccountController.go +++ b/controllers/AccountController.go @@ -20,6 +20,14 @@ type AccountController struct { BaseController } +func (c *AccountController) referer() string { + u, _ := url.PathUnescape(c.GetString("url")) + if u == "" { + u = conf.URLFor("HomeController.Index") + } + return u +} + func (c *AccountController) Prepare() { c.BaseController.Prepare() c.EnableXSRF = true @@ -111,41 +119,23 @@ func (c *AccountController) Login() { c.SetSecureCookie(conf.GetAppKey(), "login", v, time.Now().Add(time.Hour * 24 * 30).Unix()) } } - u, _ := url.PathUnescape(c.GetString("url")) - if u == "" { - u = c.Ctx.Request.Header.Get("Referer") - } - if u == "" { - u = conf.URLFor("HomeController.Index") - } - c.JsonResult(0, "ok", u) + c.JsonResult(0, "ok", c.referer()) } else { beego.Error("用户登录 ->", err) c.JsonResult(500, "账号或密码错误", nil) } } else { - u, _ := url.PathUnescape(c.GetString("url")) - if u == "" { - u = c.Ctx.Request.Header.Get("Referer") - } - if u == "" { - u = conf.URLFor("HomeController.Index") - } - c.Data["url"] = url.PathEscape(u) + c.Data["url"] = c.referer() } } // 登录成功后的操作,如重定向到原始请求页面 func (c *AccountController) LoggedIn(isPost bool) interface{} { - turl := c.GetString("url") + turl := c.referer() if !isPost { - // 检查是否存在 turl 参数,如果有则重定向至 turl 处,否则进入 Home 页面 - if turl == "" { - turl = conf.URLFor("HomeController.Index") - } c.Redirect(turl, 302) return nil } else {