Explorar el Código

fix:修复密码错误更改

GTong hace 8 meses
padre
commit
29ce8ae396
Se han modificado 1 ficheros con 21 adiciones y 11 borrados
  1. 21 11
      internal/controllers/user_controllers.go

+ 21 - 11
internal/controllers/user_controllers.go

@@ -226,18 +226,28 @@ func UpdateUserInfo(c *gin.Context) {
 	if userInfo.Permission[middlewares.UpdateRole] != middlewares.UpdateRole {
 		req.Role = userInfo.Role
 	}
-	//加密密码
-	hashedPassword, err := bcrypt.GenerateFromPassword([]byte(req.Password), bcrypt.DefaultCost)
-	if err != nil {
-		return
-	}
-	req.Password = string(hashedPassword)
-	fmt.Println("req", req)
-	if err := models.UpdateUserInfo(req); err != nil {
-		c.JSON(http.StatusBadRequest, gin.H{
-			"error": err.Error(),
-		})
+
+	if req.Password != "" {
+		//加密密码
+		hashedPassword, err := bcrypt.GenerateFromPassword([]byte(req.Password), bcrypt.DefaultCost)
+		if err != nil {
+			return
+		}
+
+		req.Password = string(hashedPassword)
+		if err := models.UpdateUserInfo(req); err != nil {
+			c.JSON(http.StatusBadRequest, gin.H{
+				"error": err.Error(),
+			})
+		}
+	} else {
+		if err := models.UpdateUserInfo(req); err != nil {
+			c.JSON(http.StatusBadRequest, gin.H{
+				"error": err.Error(),
+			})
+		}
 	}
+
 	c.JSON(http.StatusOK, gin.H{
 		"success": true,
 		"message": "用户信息更新成功",