59 lines
1.4 KiB
Go
59 lines
1.4 KiB
Go
package user_public
|
|
|
|
import (
|
|
"context"
|
|
"mingyang-admin-app-rpc/types/app"
|
|
|
|
"mingyang-admin-app-api/internal/svc"
|
|
"mingyang-admin-app-api/internal/types"
|
|
|
|
"github.com/zeromicro/go-zero/core/logx"
|
|
)
|
|
|
|
type LoginLogic struct {
|
|
logx.Logger
|
|
ctx context.Context
|
|
svcCtx *svc.ServiceContext
|
|
}
|
|
|
|
func NewLoginLogic(ctx context.Context, svcCtx *svc.ServiceContext) *LoginLogic {
|
|
return &LoginLogic{
|
|
Logger: logx.WithContext(ctx),
|
|
ctx: ctx,
|
|
svcCtx: svcCtx,
|
|
}
|
|
}
|
|
|
|
func (l *LoginLogic) Login(req *types.LoginReq) (resp *types.LoginResp, err error) {
|
|
loginUser, err := l.svcCtx.AppRpc.LoginUser(l.ctx, &app.LoginRequest{
|
|
Username: &req.UserName,
|
|
Password: &req.Password,
|
|
ClientIp: &req.ClientIP,
|
|
LoginTyp: &req.LoginType,
|
|
LoginPlatform: &req.LoginPlatform,
|
|
})
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
token := loginUser.AuthToken
|
|
user := loginUser.User
|
|
return &types.LoginResp{
|
|
BaseMsgResp: types.BaseMsgResp{
|
|
Code: 200,
|
|
},
|
|
AuthToken: &types.AuthToken{
|
|
AccessToken: token.AccessToken,
|
|
RefreshToken: token.RefreshToken,
|
|
TokenType: token.TokenType,
|
|
AccessTokenExpires: token.AccessTokenExpires.Seconds,
|
|
RefreshTokenExpires: token.RefreshTokenExpires.Seconds,
|
|
},
|
|
UserInfo: &types.UserInfo{
|
|
Username: user.Username,
|
|
NickName: user.NickName,
|
|
Avatar: user.Avatar,
|
|
Gender: user.Gender,
|
|
},
|
|
}, nil
|
|
}
|