init
This commit is contained in:
@@ -0,0 +1,101 @@
|
||||
package controllers
|
||||
|
||||
import (
|
||||
"strings"
|
||||
"github.com/golang-collections/lib.go/validation/validator"
|
||||
"github.com/astaxie/beego"
|
||||
"anytunnel/at-web/app/utils"
|
||||
"anytunnel/at-web/app/business"
|
||||
)
|
||||
|
||||
type AuthorController struct {
|
||||
BaseUserController
|
||||
}
|
||||
|
||||
// login
|
||||
func (this *AuthorController) Login() {
|
||||
this.viewLayoutTitle("AnyTunnelCloud", "author/login", "login")
|
||||
}
|
||||
|
||||
// register
|
||||
func (this *AuthorController) Register() {
|
||||
this.viewLayoutTitle("AnyTunnelCloud", "author/register", "login")
|
||||
}
|
||||
|
||||
//register save
|
||||
func (this *AuthorController) Signin() {
|
||||
|
||||
username := strings.Trim(this.GetString("username"), "")
|
||||
password := strings.Trim(this.GetString("password"), "")
|
||||
email := strings.Trim(this.GetString("email"), "")
|
||||
|
||||
if(username == "") {
|
||||
this.jsonError("注册失败:用户名不能为空")
|
||||
}
|
||||
if(password == "") {
|
||||
this.jsonError("注册失败:密码不能为空")
|
||||
}
|
||||
if(email == "") {
|
||||
this.jsonError("注册失败:邮箱不能为空")
|
||||
}
|
||||
if(!validator.IsEmail(email)) {
|
||||
this.jsonError("注册失败:邮箱格式错误")
|
||||
}
|
||||
data := map[string]string{
|
||||
"username": username,
|
||||
"password": password,
|
||||
"email": email,
|
||||
}
|
||||
user, err := business.NewBase().PostRequest("create_user", data, nil);
|
||||
if(err != nil) {
|
||||
this.jsonError("注册失败")
|
||||
}
|
||||
userMap := user.(map[string]interface{})
|
||||
userId := utils.NewConvert().FloatToString(userMap["user_id"].(float64), 'f', 0, 64)
|
||||
//保存session和cookie
|
||||
this.refreshSession(userId)
|
||||
this.jsonSuccess("恭喜,注册成功", nil, "/user/index")
|
||||
}
|
||||
|
||||
//login save
|
||||
func (this *AuthorController) Signup() {
|
||||
|
||||
username := strings.Trim(this.GetString("username"), "")
|
||||
password := strings.Trim(this.GetString("password"), "")
|
||||
|
||||
if(username == "") {
|
||||
this.jsonError("登录失败:用户名不能为空")
|
||||
}
|
||||
if(password == "") {
|
||||
this.jsonError("登录失败:密码不能为空")
|
||||
}
|
||||
|
||||
data := map[string]string{
|
||||
"username":username,
|
||||
}
|
||||
user, err := business.NewBase().GetRequest("get_user_by_name", data)
|
||||
if(err != nil) {
|
||||
this.jsonError("登录失败:server error")
|
||||
}
|
||||
userMap := user.(map[string]interface{})
|
||||
if(len(userMap) == 0) {
|
||||
this.jsonError("登录失败:用户名不存在或密码错误")
|
||||
}
|
||||
if(userMap["is_forbidden"].(string) == "1") {
|
||||
this.jsonError("登录失败:该用户已被屏蔽")
|
||||
}
|
||||
if(userMap["password"].(string) != utils.NewEncrypt().Md5Encode(password)) {
|
||||
this.jsonError("登录失败:用户名或密码错误")
|
||||
}
|
||||
//保存session和cookie
|
||||
this.refreshSession(userMap["user_id"].(string))
|
||||
|
||||
this.jsonSuccess("恭喜,登录成功", nil, "/user/index")
|
||||
}
|
||||
|
||||
func (this *AuthorController) Logout() {
|
||||
passport := beego.AppConfig.String("login.passport")
|
||||
this.Ctx.SetCookie(passport, "")
|
||||
this.SetSession("user", nil)
|
||||
this.redirect("/");
|
||||
}
|
||||
Reference in New Issue
Block a user