fix reesh api
This commit is contained in:
@@ -69,6 +69,8 @@ func (l *AdminRefreshLogic) AdminRefresh(in *admin.AdminEmptyRequest) (*admin.Re
|
||||
Token: utils.MD5Encrypt(id + utils.Now().String()),
|
||||
}
|
||||
retData.Refresh = utils.MD5Encrypt(id + retData.Token)
|
||||
//var info dao.JwtInfo
|
||||
//_ = jsoniter.Unmarshal(LoginInfo.Info, &info)
|
||||
|
||||
redisKey := utils.GetLoginKey(utils.LoginTypeAdmin, retData.Token)
|
||||
redis.Client.Set(ctx, redisKey, LoginInfo.Info, expire).Result()
|
||||
|
||||
@@ -0,0 +1,65 @@
|
||||
package logic
|
||||
|
||||
import (
|
||||
"admin/internal/dao"
|
||||
"admin/internal/model"
|
||||
"context"
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"admin/admin"
|
||||
"admin/internal/svc"
|
||||
|
||||
"github.com/zeromicro/go-zero/core/logx"
|
||||
"pkg.local/modelbase"
|
||||
"pkg.local/utils"
|
||||
)
|
||||
|
||||
type LoginInfoLogic struct {
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
logx.Logger
|
||||
BaseLogic
|
||||
}
|
||||
|
||||
func NewLoginInfoLogic(ctx context.Context, svcCtx *svc.ServiceContext) *LoginInfoLogic {
|
||||
return &LoginInfoLogic{
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
Logger: logx.WithContext(ctx),
|
||||
}
|
||||
}
|
||||
|
||||
func (l *LoginInfoLogic) LoginInfo(in *admin.AdminEmptyRequest) (*admin.Response, error) {
|
||||
adminInfo := utils.GetUserFromCtx(l.ctx)
|
||||
if adminInfo.ID < utils.NumberOne {
|
||||
return l.fail(utils.ErrorNoLoginInfo), nil
|
||||
}
|
||||
info := dao.AdminInfo{}
|
||||
modelObj := model.AdminModel{}.Init()
|
||||
w := modelbase.Params{Eq: map[string]string{"id": strconv.Itoa(int(adminInfo.ID))}}
|
||||
err := modelObj.GetOne(w, &info)
|
||||
if err != nil {
|
||||
|
||||
}
|
||||
if info.Id > utils.NumberZero {
|
||||
mobile, dErr := utils.DecryptPhone(info.Phone)
|
||||
if dErr == nil {
|
||||
info.Phone = mobile
|
||||
}
|
||||
}
|
||||
|
||||
var roles []int
|
||||
if len(roles) > utils.NumberZero {
|
||||
for _, role := range strings.Split(info.Roles, utils.DecollatorComma) {
|
||||
r, _ := strconv.Atoi(role)
|
||||
roles = append(roles, r)
|
||||
}
|
||||
}
|
||||
retData := dao.AdminInfoRet{
|
||||
AdminInfo: info,
|
||||
Roles: roles,
|
||||
}
|
||||
|
||||
return l.ok(retData), nil
|
||||
}
|
||||
@@ -11,7 +11,6 @@ import (
|
||||
"admin/internal/svc"
|
||||
|
||||
"github.com/zeromicro/go-zero/core/logx"
|
||||
"google.golang.org/grpc/metadata"
|
||||
"pkg.local/modelbase"
|
||||
"pkg.local/utils"
|
||||
)
|
||||
@@ -37,13 +36,10 @@ func (l *OwnPasswordLogic) OwnPassword(in *admin.OwnPasswordRequest) (*admin.Res
|
||||
return fail, nil
|
||||
}
|
||||
var info dao.AdminPassword
|
||||
md, exist := metadata.FromIncomingContext(l.ctx)
|
||||
l.Logger.Info("收到完整metadata", exist, md)
|
||||
adminInfo := utils.GetUserFromCtx(l.ctx)
|
||||
if adminInfo.ID < utils.NumberOne {
|
||||
return l.fail(utils.ErrorNoLoginInfo), nil
|
||||
}
|
||||
l.Logger.Info("解析出用户信息", adminInfo.ID, adminInfo.Name)
|
||||
w := modelbase.Params{Eq: map[string]string{"id": strconv.Itoa(int(adminInfo.ID))}}
|
||||
modelObj := model.AdminModel{}.Init()
|
||||
err := modelObj.GetOne(w, &info)
|
||||
|
||||
@@ -62,3 +62,8 @@ func (s *AdminServer) AdminRefresh(ctx context.Context, in *admin.AdminEmptyRequ
|
||||
l := logic.NewAdminRefreshLogic(ctx, s.svcCtx)
|
||||
return l.AdminRefresh(in)
|
||||
}
|
||||
|
||||
func (s *AdminServer) LoginInfo(ctx context.Context, in *admin.AdminEmptyRequest) (*admin.Response, error) {
|
||||
l := logic.NewLoginInfoLogic(ctx, s.svcCtx)
|
||||
return l.LoginInfo(in)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user