From ac4341ea6b66ae02427d39d35f41d42d78b2eb2e Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期五, 14 二月 2025 10:08:32 +0800
Subject: [PATCH] #

---
 zy-asrs-flow/src/pages/account/setting/components/security.jsx |   55 ++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 44 insertions(+), 11 deletions(-)

diff --git a/zy-asrs-flow/src/pages/account/setting/components/security.jsx b/zy-asrs-flow/src/pages/account/setting/components/security.jsx
index 0794cb0..95a5dcc 100644
--- a/zy-asrs-flow/src/pages/account/setting/components/security.jsx
+++ b/zy-asrs-flow/src/pages/account/setting/components/security.jsx
@@ -4,16 +4,38 @@
   ProForm,
   ProFormText
 } from '@ant-design/pro-components';
+import { FormattedMessage, useIntl } from '@umijs/max';
 import { useModel } from '@umijs/max';
 import Http from '@/utils/http';
 
+const resetPwd = async (val, form, intl) => {
+  const hide = message.loading(intl.formatMessage({ id: 'page.updating', defaultMessage: '姝e湪淇敼' }));
+  try {
+    const resp = await Http.doPost('api/user/reset/pwd', val);
+    if (resp.code === 200) {
+      message.success(intl.formatMessage({ id: 'page.update.success', defaultMessage: '淇敼鎴愬姛' }));
+      form.resetFields();
+      return true;
+    } else {
+      message.error(resp.msg);
+      return false;
+    }
+  } catch (error) {
+    message.error(intl.formatMessage({ id: 'page.update.fail', defaultMessage: '淇敼澶辫触璇烽噸璇曪紒' }));
+    return false;
+  } finally {
+    hide();
+  }
+};
+
 const SecurityView = () => {
+  const intl = useIntl();
   const [form] = Form.useForm();
   const { initialState } = useModel('@@initialState');
   const { currentUser } = initialState || {};
 
   const handleFinish = (values) => {
-    console.log(values);
+    resetPwd({ ...values, id: currentUser.id }, form, intl);
   }
 
   return (
@@ -25,42 +47,53 @@
           onFinish={handleFinish}
           submitter={{
             searchConfig: {
-              submitText: '淇敼瀵嗙爜',
+              submitText: intl.formatMessage({ id: 'personal.security.button.name', defaultMessage: '淇敼瀵嗙爜' }),
             },
             render: (_, dom) => dom[1],
           }}
         >
           <ProFormText.Password
             width="md"
-            name="currentPwd"
-            label="褰撳墠瀵嗙爜"
+            name="oldPwd"
+            label={intl.formatMessage({ id: 'personal.security.cur.pwd', defaultMessage: '褰撳墠瀵嗙爜' })}
             rules={[
               {
                 required: true,
-                message: '璇疯緭鍏ュ綋鍓嶅瘑鐮�!',
               },
             ]}
           />
           <ProFormText.Password
             width="md"
-            name="newPwd"
-            label="鏂板瘑鐮�"
+            name="password"
+            label={intl.formatMessage({ id: 'personal.security.new.pwd', defaultMessage: '鏂板瘑鐮�' })}
             rules={[
               {
                 required: true,
-                message: '璇疯緭鍏ユ柊瀵嗙爜!',
+              },
+              {
+                validator(_, value) {
+                  if (value.length >= 4 && value.length <= 16) {
+                    return Promise.resolve();
+                  }
+                  return Promise.reject(new Error(intl.formatMessage({ id: 'personal.security.new.pwd.rule.length', defaultMessage: '鏂板瘑鐮佸繀椤绘槸4鍒�16涓瓧绗�!' })));
+                },
               },
             ]}
           />
           <ProFormText.Password
             width="md"
-            name="newPwdRepeat"
-            label="纭瀵嗙爜"
+            name="passwordRepeat"
+            label={intl.formatMessage({ id: 'personal.security.new.pwd.confirm', defaultMessage: '纭瀵嗙爜' })}
             rules={[
               {
                 required: true,
-                message: '璇峰啀娆¤緭鍏ユ柊瀵嗙爜!',
               },
+              {
+                validator(_, value) {
+                  if (form.getFieldValue('password') === value) return Promise.resolve();
+                  return Promise.reject(new Error(intl.formatMessage({ id: 'personal.security.new.pwd.rule.check', defaultMessage: '涓ゆ杈撳叆鐨勫瘑鐮佷笉鐩哥!' })));
+                }
+              }
             ]}
           />
         </ProForm>

--
Gitblit v1.9.1