feat 历史记录

This commit is contained in:
2026-01-14 18:15:36 +08:00
parent 313a93702e
commit 636008b97d
16 changed files with 58 additions and 66 deletions

View File

@@ -5,7 +5,7 @@ import (
"fmt"
"git.hlsq.asia/mmorpg/service-common/db/redis"
"git.hlsq.asia/mmorpg/service-common/log"
"git.hlsq.asia/mmorpg/service-common/net/grpc/service"
"git.hlsq.asia/mmorpg/service-common/net/grpc/grpc_client"
"git.hlsq.asia/mmorpg/service-common/net/http/http_resp"
"git.hlsq.asia/mmorpg/service-common/proto/rs/grpc_pb"
"git.hlsq.asia/mmorpg/service-common/utils"
@@ -36,7 +36,7 @@ func Login(c *gin.Context) {
http_resp.JsonBadRequest(c)
return
}
client, err := service.UserNewClientLB()
client, err := grpc_client.UserNewClientLB()
if err != nil {
log.Errorf("Login UserNewClientLB error: %v", err)
http_resp.JsonOK(c, http_resp.Error(http_resp.Failed))
@@ -97,11 +97,11 @@ func RefreshToken(c *gin.Context) {
}
claims, err := utils.ParseToken(req.RefreshToken, config.Get().Auth.Secret)
if err != nil {
http_resp.JsonOK(c, http_resp.Error(http_resp.TokenInvalid))
http_resp.JsonUnauthorized(c)
return
}
if redis.GetClient().Get(c, fmt.Sprintf(global.KeyGatewayRefreshToken, claims.USN)).Val() != req.RefreshToken {
http_resp.JsonOK(c, http_resp.Error(http_resp.TokenInvalid))
http_resp.JsonUnauthorized(c)
return
}
at, rt, err := genToken(c, claims.USN)
@@ -118,11 +118,11 @@ func RefreshToken(c *gin.Context) {
}
func genToken(ctx context.Context, usn string) (string, string, error) {
at, err := genTokenOne(ctx, global.KeyGatewayAccessToken, usn, 2*time.Hour)
at, err := genTokenOne(ctx, global.KeyGatewayAccessToken, usn, time.Duration(config.Get().Auth.ShortExpire)*time.Minute)
if err != nil {
return "", "", err
}
rt, err := genTokenOne(ctx, global.KeyGatewayRefreshToken, usn, 3*24*time.Hour)
rt, err := genTokenOne(ctx, global.KeyGatewayRefreshToken, usn, time.Duration(config.Get().Auth.LongExpire)*time.Minute)
if err != nil {
return "", "", err
}
@@ -130,7 +130,7 @@ func genToken(ctx context.Context, usn string) (string, string, error) {
}
func genTokenOne(ctx context.Context, key string, usn string, ttl time.Duration) (string, error) {
token, err := utils.GenToken(usn, config.Get().Auth.Secret, time.Duration(config.Get().Auth.Expire)*time.Second)
token, err := utils.GenToken(usn, config.Get().Auth.Secret, ttl)
if err != nil {
return "", err
}

View File

@@ -5,7 +5,7 @@ import (
"context"
"fmt"
"git.hlsq.asia/mmorpg/service-common/db/redis"
"git.hlsq.asia/mmorpg/service-common/net/grpc/service"
"git.hlsq.asia/mmorpg/service-common/net/grpc/grpc_client"
"git.hlsq.asia/mmorpg/service-common/net/http/http_resp"
"git.hlsq.asia/mmorpg/service-common/proto/rs/grpc_pb"
"git.hlsq.asia/mmorpg/service-common/proto/rs/grpc_pb/mocks"
@@ -50,10 +50,10 @@ func (ts *LoginTestSuite) TestLogin() {
})
ts.Run("UserNewClientLB Failed", func() {
monkey.Patch(service.UserNewClientLB, func() (grpc_pb.UserClient, error) {
monkey.Patch(grpc_client.UserNewClientLB, func() (grpc_pb.UserClient, error) {
return nil, assert.AnError
})
defer monkey.Unpatch(service.UserNewClientLB)
defer monkey.Unpatch(grpc_client.UserNewClientLB)
w, c := utils.CreateTestContext("POST", "/", &LoginReq{
Phone: "13800000000",
@@ -68,13 +68,13 @@ func (ts *LoginTestSuite) TestLogin() {
defer ctrl.Finish()
client := mocks.NewMockUserClient(ctrl)
client.EXPECT().
Login(gomock.Any(), gomock.Any()).
PhoneLogin(gomock.Any(), gomock.Any()).
Return(nil, fmt.Errorf("gRPC failed"))
monkey.Patch(service.UserNewClientLB, func() (grpc_pb.UserClient, error) {
monkey.Patch(grpc_client.UserNewClientLB, func() (grpc_pb.UserClient, error) {
return client, nil
})
defer monkey.Unpatch(service.UserNewClientLB)
defer monkey.Unpatch(grpc_client.UserNewClientLB)
w, c := utils.CreateTestContext("POST", "/", &LoginReq{
Phone: "13800000000",
@@ -89,13 +89,13 @@ func (ts *LoginTestSuite) TestLogin() {
defer ctrl.Finish()
client := mocks.NewMockUserClient(ctrl)
client.EXPECT().
Login(gomock.Any(), gomock.Any()).
Return(&grpc_pb.LoginResp{USN: "1", Name: "hh"}, nil)
PhoneLogin(gomock.Any(), gomock.Any()).
Return(&grpc_pb.PhoneLoginResp{USN: "1", Name: "hh"}, nil)
monkey.Patch(service.UserNewClientLB, func() (grpc_pb.UserClient, error) {
monkey.Patch(grpc_client.UserNewClientLB, func() (grpc_pb.UserClient, error) {
return client, nil
})
defer monkey.Unpatch(service.UserNewClientLB)
defer monkey.Unpatch(grpc_client.UserNewClientLB)
w, c := utils.CreateTestContext("POST", "/", &LoginReq{
Phone: "13800000000",