🎨 update code structure
This commit is contained in:
@@ -1,7 +1,5 @@
|
||||
package user_controller
|
||||
|
||||
import "encoding/json"
|
||||
|
||||
// RefreshTokenRequest 刷新token请求
|
||||
type RefreshTokenRequest struct {
|
||||
RefreshToken string `json:"refresh_token" binding:"required"`
|
||||
@@ -37,19 +35,3 @@ type ResetPasswordRequest struct {
|
||||
Password string `json:"password" binding:"required"`
|
||||
Repassword string `json:"repassword" binding:"required"`
|
||||
}
|
||||
|
||||
// ResponseData 返回数据
|
||||
type ResponseData struct {
|
||||
AccessToken string `json:"access_token"`
|
||||
RefreshToken string `json:"refresh_token"`
|
||||
ExpiresAt int64 `json:"expires_at"`
|
||||
UID *string `json:"uid"`
|
||||
}
|
||||
|
||||
func (res ResponseData) MarshalBinary() ([]byte, error) {
|
||||
return json.Marshal(res)
|
||||
}
|
||||
|
||||
func (res ResponseData) UnmarshalBinary(data []byte) error {
|
||||
return json.Unmarshal(data, &res)
|
||||
}
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
package user_controller
|
||||
|
||||
import (
|
||||
"schisandra-cloud-album/service/impl"
|
||||
"sync"
|
||||
)
|
||||
|
||||
type UserController struct{}
|
||||
|
||||
var mu sync.Mutex
|
||||
var userService = impl.UserServiceImpl{}
|
||||
var userDeviceService = impl.UserDeviceServiceImpl{}
|
||||
@@ -13,11 +13,18 @@ import (
|
||||
"schisandra-cloud-album/common/result"
|
||||
"schisandra-cloud-album/global"
|
||||
"schisandra-cloud-album/model"
|
||||
"schisandra-cloud-album/service/impl"
|
||||
"schisandra-cloud-album/utils"
|
||||
"strconv"
|
||||
"time"
|
||||
"sync"
|
||||
)
|
||||
|
||||
type UserController struct{}
|
||||
|
||||
var mu sync.Mutex
|
||||
var userService = impl.UserServiceImpl{}
|
||||
var userDeviceService = impl.UserDeviceServiceImpl{}
|
||||
|
||||
// GetUserList
|
||||
// @Summary 获取所有用户列表
|
||||
// @Tags 用户模块
|
||||
@@ -258,31 +265,8 @@ func (UserController) RefreshHandler(c *gin.Context) {
|
||||
result.FailWithMessage(ginI18n.MustGetMessage(c, "ParamsError"), c)
|
||||
return
|
||||
}
|
||||
refreshToken := request.RefreshToken
|
||||
parseRefreshToken, isUpd, err := utils.ParseRefreshToken(refreshToken)
|
||||
if err != nil || !isUpd {
|
||||
global.LOG.Errorln(err)
|
||||
result.FailWithMessage(ginI18n.MustGetMessage(c, "LoginExpired"), c)
|
||||
return
|
||||
}
|
||||
accessTokenString, err := utils.GenerateAccessToken(utils.AccessJWTPayload{UserID: parseRefreshToken.UserID})
|
||||
if err != nil {
|
||||
result.FailWithMessage(ginI18n.MustGetMessage(c, "LoginExpired"), c)
|
||||
return
|
||||
}
|
||||
tokenKey := constant.UserLoginTokenRedisKey + *parseRefreshToken.UserID
|
||||
token, err := redis.Get(tokenKey).Result()
|
||||
if err != nil || token == "" {
|
||||
global.LOG.Errorln(err)
|
||||
result.FailWithMessage(ginI18n.MustGetMessage(c, "LoginExpired"), c)
|
||||
return
|
||||
}
|
||||
data := ResponseData{
|
||||
AccessToken: accessTokenString,
|
||||
RefreshToken: refreshToken,
|
||||
UID: parseRefreshToken.UserID,
|
||||
}
|
||||
if err := redis.Set(tokenKey, data, time.Hour*24*7).Err(); err != nil {
|
||||
data, res := userService.RefreshTokenService(request.RefreshToken)
|
||||
if !res {
|
||||
result.FailWithMessage(ginI18n.MustGetMessage(c, "LoginExpired"), c)
|
||||
return
|
||||
}
|
||||
@@ -329,11 +313,6 @@ func (UserController) ResetPassword(c *gin.Context) {
|
||||
}
|
||||
}()
|
||||
|
||||
if err := tx.Error; err != nil {
|
||||
result.FailWithMessage(ginI18n.MustGetMessage(c, "DatabaseError"), c)
|
||||
return
|
||||
}
|
||||
|
||||
code := redis.Get(constant.UserLoginSmsRedisKey + phone).Val()
|
||||
if code == "" {
|
||||
result.FailWithMessage(ginI18n.MustGetMessage(c, "CaptchaExpired"), c)
|
||||
@@ -353,7 +332,7 @@ func (UserController) ResetPassword(c *gin.Context) {
|
||||
}
|
||||
|
||||
user := userService.QueryUserByPhoneService(phone)
|
||||
if reflect.DeepEqual(user, model.ScaAuthUser{}) {
|
||||
if user.ID == 0 {
|
||||
result.FailWithMessage(ginI18n.MustGetMessage(c, "PhoneNotRegister"), c)
|
||||
return
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user