From b420d8597118ca617c4b8f4d902f058d2107a020 Mon Sep 17 00:00:00 2001 From: "853931625@qq.com" Date: Tue, 4 Aug 2026 17:48:09 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E5=AF=86=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 +- public/index.html | 1 + src/api/user/index.js | 8 + .../Enterprise/ChangePassword/index.js | 11 ++ .../Container/Enterprise/User/Add/index.js | 2 +- .../Stakeholder/ChangePassword/index.js | 11 ++ .../Supervision/ChangePassword/index.js | 143 ++++++++++++++++++ .../Supervision/Supervision/User/Add/index.js | 2 +- 8 files changed, 177 insertions(+), 3 deletions(-) create mode 100644 src/pages/Container/Enterprise/ChangePassword/index.js create mode 100644 src/pages/Container/Stakeholder/ChangePassword/index.js create mode 100644 src/pages/Container/Supervision/ChangePassword/index.js diff --git a/package.json b/package.json index f514534..a49a825 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "react": "^18.2.0", "react-dom": "^18.2.0", "relation-graph": "^2.2.11", - "zy-react-library": "^1.3.24" + "zy-react-library": "^1.3.28" }, "devDependencies": { "@antfu/eslint-config": "^5.4.1", diff --git a/public/index.html b/public/index.html index 49f1330..04e3b0e 100644 --- a/public/index.html +++ b/public/index.html @@ -10,6 +10,7 @@ + <% for (const item of $links) { %> <% } %> diff --git a/src/api/user/index.js b/src/api/user/index.js index 956025c..aa354cb 100644 --- a/src/api/user/index.js +++ b/src/api/user/index.js @@ -90,3 +90,11 @@ export const getChangerRecordInfoById = declareRequest( "userLoading", "Post > @/basicInfo/userCorpRecord/getUserCorpRecordById", ); +export const userUpdatePassword = declareRequest( + "userLoading", + "Post > @/basicInfo/user/updatePassword", +); +export const userGetInfo = declareRequest( + "userLoading", + "Get > /basicInfo/user/getInfo", +); diff --git a/src/pages/Container/Enterprise/ChangePassword/index.js b/src/pages/Container/Enterprise/ChangePassword/index.js new file mode 100644 index 0000000..d62de0e --- /dev/null +++ b/src/pages/Container/Enterprise/ChangePassword/index.js @@ -0,0 +1,11 @@ +import ListPage from "~/pages/Container/Supervision/ChangePassword"; + +function List(props) { + return ( + + ); +} + +export default List; diff --git a/src/pages/Container/Enterprise/User/Add/index.js b/src/pages/Container/Enterprise/User/Add/index.js index 6eff07d..4ddd3fc 100644 --- a/src/pages/Container/Enterprise/User/Add/index.js +++ b/src/pages/Container/Enterprise/User/Add/index.js @@ -77,7 +77,7 @@ function Add(props) { ? [ { name: data.name, - url: process.env.app["fileUrl"] + data.userAvatarUrl, + url: window.fileUrl + data.userAvatarUrl, }, ] : []; diff --git a/src/pages/Container/Stakeholder/ChangePassword/index.js b/src/pages/Container/Stakeholder/ChangePassword/index.js new file mode 100644 index 0000000..d62de0e --- /dev/null +++ b/src/pages/Container/Stakeholder/ChangePassword/index.js @@ -0,0 +1,11 @@ +import ListPage from "~/pages/Container/Supervision/ChangePassword"; + +function List(props) { + return ( + + ); +} + +export default List; diff --git a/src/pages/Container/Supervision/ChangePassword/index.js b/src/pages/Container/Supervision/ChangePassword/index.js new file mode 100644 index 0000000..ee1f33d --- /dev/null +++ b/src/pages/Container/Supervision/ChangePassword/index.js @@ -0,0 +1,143 @@ +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import { Button, Form, Input, message } from "antd"; +import { useEffect, useState } from "react"; +import Page from "zy-react-library/components/Page"; + +import { NS_USER } from "~/enumerate/namespace"; + +const PASSWORD_PATTERN = /^(?=.*[A-Z])(?=.*[a-z])(?=.*\d)(?=.*[!#@*&])[A-Za-z\d!#@*&]{8,16}$/; + +function ChangePassword(props) { + const [form] = Form.useForm(); + const [userId, setUserId] = useState(); + const [submitting, setSubmitting] = useState(false); + + useEffect(() => { + const getCurrentUser = async () => { + const res = await props["userGetInfo"](); + if (res.success && res.data) { + setUserId(res.data.id); + } + }; + getCurrentUser(); + }, []); + + const onSubmit = async (values) => { + if (!userId) { + message.error("未获取到当前用户信息,请刷新页面后重试"); + return; + } + + setSubmitting(true); + try { + const res = await props["userUpdatePassword"]({ + ...values, + id: userId, + }); + if (res.success) { + message.success("密码修改成功请重新登录!"); + window.base.call.loginOut({ quick: true }); + form.resetFields(); + } + } + finally { + setSubmitting(false); + } + }; + + return ( + +
+ + + + + ({ + validator(_, value) { + if (!value || value !== getFieldValue("password")) { + return Promise.resolve(); + } + return Promise.reject(new Error("新密码不能与原密码相同")); + }, + }), + ]} + > + + + + ({ + validator(_, value) { + if (!value || value === getFieldValue("newPassword")) { + return Promise.resolve(); + } + return Promise.reject(new Error("两次输入的新密码不一致")); + }, + }), + ]} + > + + + + + + +
+
+ ); +} + +export default Connect([NS_USER], true)(ChangePassword); diff --git a/src/pages/Container/Supervision/Supervision/User/Add/index.js b/src/pages/Container/Supervision/Supervision/User/Add/index.js index 2276713..11c016b 100644 --- a/src/pages/Container/Supervision/Supervision/User/Add/index.js +++ b/src/pages/Container/Supervision/Supervision/User/Add/index.js @@ -95,7 +95,7 @@ function Add(props) { ? [ { name: data.name, - url: process.env.app["fileUrl"] + data.userAvatarUrl, + url: window.fileUrl + data.userAvatarUrl, }, ] : [];