Переглянути джерело

update 完善登录:账号不存在

Alvin 8 місяців тому
батько
коміт
09d6732d0a

+ 2 - 1
game/config/data/codeConfig.json

@@ -28,5 +28,6 @@
   {"code":16013,"message":"管理员不存在"},
   {"code":16014,"message":"admin-超级账户不能修改角色"},
   {"code":16015,"message":"token验证失败"},
-  {"code":16016,"message":"Ip 禁用"}
+  {"code":16016,"message":"Ip 禁用"},
+  {"code":16017,"message":"帐号不存在"}
 ]

+ 1 - 0
game/game_cluster/internal/code/code.go

@@ -49,4 +49,5 @@ var (
 	AdminMustNotUpdateError         int32 = 16014 // admin-超级账户不能修改角色
 	UnauthorizedError               int32 = 16015 // token验证失败
 	ForbiddenError                  int32 = 16016 // Ip 禁用
+	AccountNotExistError            int32 = 16017 // 帐号不存在
 )

+ 9 - 2
game/game_cluster/nodes/webadmin/service/admin.go

@@ -58,6 +58,10 @@ func (a *Admin) Login(ctx *gin.Context, username string, password string) (*enti
 	user, err := a.QueryUserByUsername(ctx, username)
 	if err != nil {
 		mhayaLogger.Warnf("Login QueryUserByUsername error:", err)
+		if errors.Is(err, mongo.ErrNoDocuments) {
+			return nil, common.NewResult(code.AccountNotExistError)
+		}
+
 		return nil, common.NewResult(code.InternalError)
 	}
 
@@ -184,7 +188,11 @@ func (a *Admin) loginAuthSetRoleRedis(roleID, generateToken string) error {
 func (a *Admin) QueryUserByUsername(ctx context.Context, username string) (*model.Admin, error) {
 	admin := &model.Admin{}
 	err := mdb.MDB.Collection(a.GetDBName()).FindOne(ctx, bson.M{"username": username}).Decode(&admin)
-	if errors.Is(err, mongo.ErrNoDocuments) && username == "admin" {
+	if errors.Is(err, mongo.ErrNoDocuments) {
+		if username != "admin" {
+			return nil, err
+		}
+
 		// 如果是admin 登录的话 创建一个初始的admin并且存入数据库
 		pwd, err := HashPassword("123456")
 		if err != nil {
@@ -222,7 +230,6 @@ func (a *Admin) QueryUserByUsername(ctx context.Context, username string) (*mode
 	}
 
 	return admin, nil
-
 }
 
 // ChangePassword 修改管理员密码