Browse Source

修改密码逻辑

username 1 year ago
parent
commit
701eeb410b

+ 5 - 1
src/app/[locale]/(ordinary)/profile/page.tsx

@@ -70,8 +70,12 @@ const Profile: FC<Props> = () => {
                         )}
                     </div>
                     {
-                        !token && 
+                        token ?
                         (
+                            <div className="goto" onClick={() => goPage(`/confirmPassword?userPhone=${userInfo.user_phone}&code=123456&alter=true`)}>
+                                <span className="iconfont icon-xiangzuo1"></span>
+                            </div>
+                        ) : (
                             <div className="goto" onClick={() => goPage("/login")}>
                                 <span>{t("Login")}</span>
                                 <span className="iconfont icon-xiangzuo1"></span>

+ 21 - 1
src/app/[locale]/confirmPassword/page.tsx

@@ -6,8 +6,10 @@ import HeaderBack from "@/components/HeaderBack";
 import { useRouter } from "@/i18n";
 import { Toast } from "antd-mobile";
 import { useSearchParams } from "next/navigation";
-import { FC, useMemo, useState } from "react";
+import { FC, useEffect, useMemo, useState } from "react";
+import { getSendCodeApi } from "@/api/user";
 import "./page.scss";
+import { useGlobalStore } from "@/stores";
 
 interface Props {}
 
@@ -23,6 +25,21 @@ const ResetPhone: FC<Props> = () => {
         againPwd: "",
     });
 
+    let alter = searchParams.get("alter");
+    const sendCodeRequest = () => {
+        if (!user_phone) return;
+        getSendCodeApi({ user_phone }).then((res) => {
+            if (res.code == 200) {
+                return;
+            }
+            setMsgError(res.msg);
+        });
+    };
+    useEffect(() => {
+        alter && sendCodeRequest()
+        // eslint-disable-next-line react-hooks/exhaustive-deps
+    },[alter])
+
     const setInputVal = (e: { target: { name: any; value: any } }) => {
         const { name, value } = e.target;
         setFromParam({
@@ -45,6 +62,7 @@ const ResetPhone: FC<Props> = () => {
         return false;
     }, [fromParam]);
 
+    const { setToken, setUserInfo } = useGlobalStore();
     let [msgError, setMsgError] = useState("");
     const findPwdRequest = () => {
         let { pwd, againPwd } = fromParam;
@@ -56,6 +74,8 @@ const ResetPhone: FC<Props> = () => {
             setMsgError(res.msg || "");
             if (res.code == 200) {
                 Toast.show({ icon: "success", content: "修改成功", maskClickable: false });
+                setUserInfo('')
+                setToken('')
                 setTimeout(() => {
                     router.replace("/login");
                 }, 1000);