init
This commit is contained in:
1 parent
fac05a7b6c
commit
476ade10e7
1085 files changed
+259628
No files matched your search
@@ -0,0 +1,130 @@
|
||||
package controllers
|
||||
|
||||
import (
|
||||
"github.com/revel/revel"
|
||||
"github.com/leanote/leanote/app/info"
|
||||
. "github.com/leanote/leanote/app/lea"
|
||||
)
|
||||
|
||||
// 用户登录/注销/找回密码
|
||||
|
||||
type Auth struct {
|
||||
BaseController
|
||||
}
|
||||
|
||||
//--------
|
||||
// 登录
|
||||
func (c Auth) Login(email string) revel.Result {
|
||||
c.RenderArgs["title"] = c.Message("login")
|
||||
c.RenderArgs["subTitle"] = c.Message("login")
|
||||
c.RenderArgs["email"] = email
|
||||
if c.Has("demo") {
|
||||
c.RenderArgs["demo"] = true
|
||||
c.RenderArgs["email"] = "demo@leanote.com"
|
||||
}
|
||||
return c.RenderTemplate("home/login.html")
|
||||
}
|
||||
func (c Auth) DoLogin(email, pwd string) revel.Result {
|
||||
userInfo := authService.Login(email, pwd)
|
||||
if userInfo.Email != "" {
|
||||
c.SetSession(userInfo)
|
||||
// 必须要redirect, 不然用户刷新会重复提交登录信息
|
||||
// return c.Redirect("/")
|
||||
return c.RenderJson(info.Re{Ok: true})
|
||||
}
|
||||
// return c.RenderTemplate("login.html")
|
||||
return c.RenderJson(info.Re{Ok: false, Msg: c.Message("wrongUsernameOrPassword")})
|
||||
}
|
||||
// 注销
|
||||
func (c Auth) Logout() revel.Result {
|
||||
c.ClearSession()
|
||||
return c.Redirect("login")
|
||||
}
|
||||
// 体验一下
|
||||
func (c Auth) Demo() revel.Result {
|
||||
c.DoLogin("demo@leanote.com", "demo@leanote.com")
|
||||
return c.Redirect("/note")
|
||||
}
|
||||
|
||||
//--------
|
||||
// 注册
|
||||
func (c Auth) Register() revel.Result {
|
||||
c.RenderArgs["title"] = c.Message("register")
|
||||
c.RenderArgs["subTitle"] = c.Message("register")
|
||||
return c.RenderTemplate("home/register.html")
|
||||
}
|
||||
func (c Auth) DoRegister(email, pwd string) revel.Result {
|
||||
re := info.NewRe();
|
||||
|
||||
if email == "" {
|
||||
re.Msg = c.Message("inputEmail")
|
||||
return c.RenderJson(re)
|
||||
} else if !IsEmail(email) {
|
||||
re.Msg = c.Message("wrongEmail")
|
||||
return c.RenderJson(re)
|
||||
}
|
||||
|
||||
// 密码
|
||||
if pwd == "" {
|
||||
re.Msg = c.Message("inputPassword")
|
||||
return c.RenderJson(re)
|
||||
} else if len(pwd) < 6 {
|
||||
re.Msg = c.Message("wrongPassword")
|
||||
return c.RenderJson(re)
|
||||
}
|
||||
|
||||
// 注册
|
||||
re.Ok, re.Msg = authService.Register(email, pwd)
|
||||
|
||||
// 注册成功, 则立即登录之
|
||||
if re.Ok {
|
||||
c.DoLogin(email, pwd)
|
||||
}
|
||||
|
||||
return c.RenderJson(re)
|
||||
}
|
||||
|
||||
//--------
|
||||
// 找回密码
|
||||
func (c Auth) FindPassword() revel.Result {
|
||||
c.RenderArgs["title"] = c.Message("findPassword")
|
||||
c.RenderArgs["subTitle"] = c.Message("findPassword")
|
||||
return c.RenderTemplate("home/find_password.html")
|
||||
}
|
||||
func (c Auth) DoFindPassword(email string) revel.Result {
|
||||
pwdService.FindPwd(email)
|
||||
re := info.NewRe()
|
||||
re.Ok = true
|
||||
return c.RenderJson(re)
|
||||
}
|
||||
// 点击链接后, 先验证之
|
||||
func (c Auth) FindPassword2(token string) revel.Result {
|
||||
c.RenderArgs["title"] = c.Message("findPassword")
|
||||
c.RenderArgs["subTitle"] = c.Message("findPassword")
|
||||
if token == "" {
|
||||
return c.RenderTemplate("find_password2_timeout.html")
|
||||
}
|
||||
ok, _, findPwd := tokenService.VerifyToken(token, info.TokenPwd);
|
||||
if !ok {
|
||||
return c.RenderTemplate("home/find_password2_timeout.html")
|
||||
}
|
||||
c.RenderArgs["findPwd"] = findPwd
|
||||
|
||||
c.RenderArgs["title"] = c.Message("updatePassword")
|
||||
c.RenderArgs["subTitle"] = c.Message("updatePassword")
|
||||
|
||||
return c.RenderTemplate("home/find_password2.html")
|
||||
}
|
||||
// 找回密码修改密码
|
||||
func (c Auth) FindPasswordUpdate(token, pwd string) revel.Result {
|
||||
re := info.NewRe();
|
||||
|
||||
re.Ok, re.Msg = IsGoodPwd(pwd)
|
||||
if !re.Ok {
|
||||
return c.RenderJson(re)
|
||||
}
|
||||
|
||||
// 修改之
|
||||
re.Ok, re.Msg = pwdService.UpdatePwd(token, pwd)
|
||||
return c.RenderJson(re)
|
||||
}
|
||||
Reference in new issue
Block a user