redis, updatediff
This commit is contained in:
@@ -5,6 +5,7 @@ import (
|
||||
"fmt"
|
||||
"git.rosy.net.cn/jx-print/globals"
|
||||
"git.rosy.net.cn/jx-print/model"
|
||||
putils "git.rosy.net.cn/jx-print/utils"
|
||||
"github.com/dchest/captcha"
|
||||
"github.com/gin-contrib/sessions"
|
||||
"github.com/gin-gonic/gin"
|
||||
@@ -42,9 +43,10 @@ func callFunc(c *gin.Context, worker func() (retVal interface{}, errCode string,
|
||||
} else {
|
||||
token = cookie.Value
|
||||
}
|
||||
if token != "token" {
|
||||
err = fmt.Errorf("token 已过期,请重新登录!")
|
||||
if user := putils.GetKet(token); user == nil {
|
||||
err = fmt.Errorf("token过期或无效,请重新登录!")
|
||||
callBack.Desc = err.Error()
|
||||
callBack.Code = model.ErrCodeToken
|
||||
c.JSON(http.StatusOK, callBack)
|
||||
return false
|
||||
}
|
||||
|
||||
@@ -43,7 +43,7 @@ func GetUsers(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
type RegisterUserParam struct {
|
||||
type UserParam struct {
|
||||
Name string `json:"name" form:"name" binding:"required"` //用户名
|
||||
Password string `json:"password" form:"password" binding:"required"` //密码,md5后的
|
||||
Code string `json:"code" form:"code" binding:"required"` //验证码
|
||||
@@ -53,7 +53,7 @@ type RegisterUserParam struct {
|
||||
func RegisterUser(c *gin.Context) {
|
||||
var (
|
||||
err error
|
||||
user = &RegisterUserParam{}
|
||||
user = &UserParam{}
|
||||
)
|
||||
globals.SugarLogger.Debugf("Begin API :%s params: %v ip: %s", c.Request.URL, c.Params, c.ClientIP())
|
||||
if err = c.Bind(&user); err != nil {
|
||||
@@ -81,17 +81,11 @@ func RegisterUser(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
type LoginParam struct {
|
||||
Name string `json:"name" form:"name" binding:"required"` //用户名
|
||||
Password string `json:"password" form:"password" binding:"required"` //密码,md5后的
|
||||
Code string `json:"code" form:"code" binding:"required"` //验证码
|
||||
}
|
||||
|
||||
//登录 POST
|
||||
func Login(c *gin.Context) {
|
||||
var (
|
||||
err error
|
||||
user = &LoginParam{}
|
||||
user = &UserParam{}
|
||||
)
|
||||
globals.SugarLogger.Debugf("Begin API :%s params: %v ip: %s", c.Request.URL, c.Params, c.ClientIP())
|
||||
if err = c.Bind(&user); err != nil {
|
||||
@@ -111,7 +105,85 @@ func Login(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
if !callFunc(c, func() (retVal interface{}, errCode string, err error) {
|
||||
retVal, err = services.Login(c, user.Name, user.Password, user.Code)
|
||||
retVal, err = services.Login(c, user.Name, user.Password)
|
||||
return retVal, "", err
|
||||
}) {
|
||||
return
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
//自动登录,获取token POST
|
||||
func GetTokenInfo(c *gin.Context) {
|
||||
var (
|
||||
err error
|
||||
user = &struct {
|
||||
Token string `json:"token" form:"token"`
|
||||
}{}
|
||||
)
|
||||
globals.SugarLogger.Debugf("Begin API :%s params: %v ip: %s", c.Request.URL, c.Params, c.ClientIP())
|
||||
if err = c.Bind(&user); err != nil {
|
||||
c.JSON(http.StatusOK, &CallBack{
|
||||
Code: model.ErrCodeNormal,
|
||||
Desc: err.Error(),
|
||||
})
|
||||
globals.SugarLogger.Debugf("End API :%s error:%v:", c.Request.URL, err)
|
||||
return
|
||||
}
|
||||
if !callFunc(c, func() (retVal interface{}, errCode string, err error) {
|
||||
retVal, err = services.GetTokenInfo(c, user.Token)
|
||||
return retVal, "", err
|
||||
}) {
|
||||
return
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
//登出,删token POST
|
||||
func Logout(c *gin.Context) {
|
||||
var (
|
||||
err error
|
||||
user = &struct {
|
||||
Token string `json:"token" form:"token"`
|
||||
}{}
|
||||
)
|
||||
globals.SugarLogger.Debugf("Begin API :%s params: %v ip: %s", c.Request.URL, c.Params, c.ClientIP())
|
||||
if err = c.Bind(&user); err != nil {
|
||||
c.JSON(http.StatusOK, &CallBack{
|
||||
Code: model.ErrCodeNormal,
|
||||
Desc: err.Error(),
|
||||
})
|
||||
globals.SugarLogger.Debugf("End API :%s error:%v:", c.Request.URL, err)
|
||||
return
|
||||
}
|
||||
if !callFunc(c, func() (retVal interface{}, errCode string, err error) {
|
||||
err = services.Logout(c, user.Token)
|
||||
return retVal, "", err
|
||||
}) {
|
||||
return
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
//更新用户信息 POST
|
||||
func UpdateUser(c *gin.Context) {
|
||||
var (
|
||||
err error
|
||||
user = &struct {
|
||||
Payload string `json:"payload" form:"payload"` //user 的json格式数据
|
||||
}{}
|
||||
)
|
||||
globals.SugarLogger.Debugf("Begin API :%s params: %v ip: %s", c.Request.URL, c.Params, c.ClientIP())
|
||||
if err = c.Bind(&user); err != nil {
|
||||
c.JSON(http.StatusOK, &CallBack{
|
||||
Code: model.ErrCodeNormal,
|
||||
Desc: err.Error(),
|
||||
})
|
||||
globals.SugarLogger.Debugf("End API :%s error:%v:", c.Request.URL, err)
|
||||
return
|
||||
}
|
||||
if !callFunc(c, func() (retVal interface{}, errCode string, err error) {
|
||||
err = services.UpdateUser(c, user.Payload)
|
||||
return retVal, "", err
|
||||
}) {
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user