浏览代码

feat: support first bind update password (#2520)

skynono 1 周之前
父节点
当前提交
9aeef6abec
共有 2 个文件被更改,包括 8 次插入5 次删除
  1. 4 1
      controller/user.go
  2. 4 4
      web/src/components/settings/PersonalSetting.jsx

+ 4 - 1
controller/user.go

@@ -763,7 +763,10 @@ func checkUpdatePassword(originalPassword string, newPassword string, userId int
 	if err != nil {
 	if err != nil {
 		return
 		return
 	}
 	}
-	if !common.ValidatePasswordAndHash(originalPassword, currentUser.Password) {
+
+	// 密码不为空,需要验证原密码
+	// 支持第一次账号绑定时原密码为空的情况
+	if !common.ValidatePasswordAndHash(originalPassword, currentUser.Password) && currentUser.Password != "" {
 		err = fmt.Errorf("原密码错误")
 		err = fmt.Errorf("原密码错误")
 		return
 		return
 	}
 	}

+ 4 - 4
web/src/components/settings/PersonalSetting.jsx

@@ -314,10 +314,10 @@ const PersonalSetting = () => {
   };
   };
 
 
   const changePassword = async () => {
   const changePassword = async () => {
-    if (inputs.original_password === '') {
-      showError(t('请输入原密码!'));
-      return;
-    }
+    // if (inputs.original_password === '') {
+    //   showError(t('请输入原密码!'));
+    //   return;
+    // }
     if (inputs.set_new_password === '') {
     if (inputs.set_new_password === '') {
       showError(t('请输入新密码!'));
       showError(t('请输入新密码!'));
       return;
       return;