From 7c9f01ea745ffa49699457ea5d3f3fd8a58bb4dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=A2=E6=80=9D?= <2897217417@qq.com> Date: Fri, 28 Oct 2022 11:43:18 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=AA=E4=BA=BA=E8=AE=BE=E7=BD=AE=E9=A1=B5is?= =?UTF-8?q?sue=E6=9B=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/forge/users/Material/Password.jsx | 420 +++++++++++++++----------- src/home/Img/2-3-2.png | Bin 77831 -> 69055 bytes src/home/Img/2-3-3.png | Bin 61846 -> 66446 bytes src/home/Img/2-3-4.png | Bin 46489 -> 47000 bytes 4 files changed, 237 insertions(+), 183 deletions(-) diff --git a/src/forge/users/Material/Password.jsx b/src/forge/users/Material/Password.jsx index aae00b3fb..9aaeb2027 100644 --- a/src/forge/users/Material/Password.jsx +++ b/src/forge/users/Material/Password.jsx @@ -1,6 +1,7 @@ -import React , { forwardRef, useState } from 'react'; +import React , { forwardRef, Fragment, useState } from 'react'; import { Form , Input , Button, message } from 'antd'; import { AlignCenter } from '../../Component/layout'; +import Modals from '../../Component/PublicModal/Index'; import Axios from 'axios'; import img1 from '../../Images/personalInfo3.png'; import { setmiyah } from '../../../common/Component'; @@ -8,7 +9,7 @@ import { useEffect } from 'react'; export default Form.create()( forwardRef((props)=>{ - const { getFieldDecorator, validateFields, resetFields } = props && props.form; + const { getFieldDecorator, validateFields, resetFields, getFieldsValue } = props && props.form; const { current_user, type, resetUserInfo} = props; const [ NewPass , setNewPass ] = useState(undefined); @@ -16,7 +17,8 @@ export default Form.create()( const [ countDown, setCountDown] = useState(undefined); const [ emailValue, setEmailValue] = useState(undefined); const [ passMap, setPassMap] = useState({password: undefined, email: undefined, code: undefined}); - const [ updatePsdMap, setUpdatePsdMap] = useState({oldPassword: undefined, password: undefined, password1: undefined}) + const [ updatePsdMap, setUpdatePsdMap] = useState({oldPassword: undefined, password: undefined, password1: undefined}); + const [ visible, setVisible] = useState(false); useEffect(()=>{ setPassMap({password: undefined, email: undefined, code: undefined}); @@ -26,25 +28,11 @@ export default Form.create()( function submit() { validateFields((error,values)=>{ if(!error){ - submitFunc(values); + setVisible(true); } }) } - function submitFunc(values) { - const url = `/accounts/change_password.json`; - Axios.post(url,{ - login:current_user && current_user.login, - ...values - }).then(result=>{ - if(result && result.data){ - resetFields(); - setUpdatePsdMap({oldPassword: undefined, password: undefined, password1: undefined}); - message.success('密码重置成功!'); - } - }).catch(error=>{}) - } - // 判断两次输入的密码是否一致 var reg = /(?!.*\s)(?!^[\u4e00-\u9fa5]+$)^.{8,16}$/; function checkIdentifier(rule, value, callback , inputValue){ @@ -89,7 +77,9 @@ export default Form.create()( email: emailValue, smscode: setmiyah(emailValue) }}).then(res=>{ - console.log('res', res); + if(res && !res.data.status){ + message.success('发送成功') + } }) // 获取验证码 startCountDown(); @@ -110,196 +100,260 @@ export default Form.create()( // 校验用户密码是否正确 function checkPsd(rule, value, callback){ - current_user && Axios.post(`/v1/${current_user.login}/check_password.json`,{ - password: value - }).then(res=>{ - const map = type === '0' ? passMap : updatePsdMap; - if(res && !res.data.status){ - if(type === '0'){ - map.password = value; - setPassMap(map); + const map = type === '0' ? passMap : updatePsdMap; + if(value){ + current_user && Axios.post(`/v1/${current_user.login}/check_password.json`,{ + password: value + }).then(res=>{ + if(res && !res.data.status){ + if(type === '0'){ + map.password = value; + setPassMap(map); + }else{ + map.oldPassword = value; + setUpdatePsdMap(map); + } + callback(); }else{ - map.oldPassword = value; - setUpdatePsdMap(map); + if(type === '0'){ + map.password = undefined; + setPassMap(map); + }else{ + map.oldPassword = undefined; + setUpdatePsdMap(map); + } + callback(res.data.message); } - callback(); + }) + }else{ + if(type === '0'){ + map.password = undefined; + setPassMap(map); }else{ - if(type === '0'){ - map.password = undefined; - setPassMap(map); - }else{ - map.oldPassword = undefined; - setUpdatePsdMap(map); - } - callback(res.data.message); + map.oldPassword = undefined; + setUpdatePsdMap(map); } - }) + callback(); + } } // 校验用户邮箱是否正确 function checkEmail(rule, value, callback){ - current_user && Axios.post(`/v1/${current_user.login}/check_email.json`,{ - email: value - }).then(res=>{ - const map = passMap; - if(res && !res.data.status){ - map.email = value; - setPassMap(map); - setEmailValue(value); - callback(); - }else{ - map.email = undefined; - setPassMap(map); - callback(res.data.message); - } - }) + const map = passMap; + if(value){ + current_user && Axios.post(`/v1/${current_user.login}/check_email.json`,{ + email: value + }).then(res=>{ + if(res && !res.data.status){ + map.email = value; + setPassMap(map); + setEmailValue(value); + callback(); + }else{ + setEmailValue(undefined); + map.email = undefined; + setPassMap(map); + callback(res.data.message); + } + }) + }else{ + setEmailValue(undefined); + map.email = undefined; + setPassMap(map); + callback(); + } } // 校验用户填写验证码是否正确 function checkCode(rule, value, callback){ - current_user && value && value.length > 4 && Axios.post(`/v1/${current_user.login}/check_email_verify_code.json`,{ - code_type: 10, - email: emailValue, - code: value - }).then(res=>{ - const map = passMap; - if(res && !res.data.status){ - map.code = value; - setPassMap(map); - callback(); - }else{ - map.code = undefined; - setPassMap(map); - callback(res.data.message); + const map = passMap; + if(value){ + current_user && value && value.length > 4 && Axios.post(`/v1/${current_user.login}/check_email_verify_code.json`,{ + code_type: 10, + email: emailValue, + code: value + }).then(res=>{ + if(res && !res.data.status){ + map.code = value; + setPassMap(map); + callback(); + }else{ + map.code = undefined; + setPassMap(map); + callback(res.data.message); + } + }) + }else{ + map.code = undefined; + setPassMap(map); + callback(); + } + } + + // 提交更改邮箱表单 + function confirmUpdateEmail(e){ + validateFields((error,values)=>{ + if(!error){ + setVisible(true); } }) } - // 提交更改邮箱表单 - function updateEmail(e){ - console.log('提交更改邮箱表单', e); - validateFields((error,values)=>{ - if(!error){ - const {code, email, password1} = values; - if(code && email && password1){ - current_user && Axios.patch(`/v1/${current_user.login}/update_email.json`,{ - code, email, password: password1 - }).then(res=>{ - if(res && !res.data.status){ - setPassMap({password: undefined, email: undefined, code: undefined}); - resetFields(); - resetUserInfo(); - message.success('更新成功'); - }else{ - message.error(res.data.message || '更新失败'); - } - }) - } + function updateEmailOrPsd(){ + if(type === '0'){ + const {code, email, password1} = getFieldsValue(); + if(code && email && password1){ + current_user && Axios.patch(`/v1/${current_user.login}/update_email.json`,{ + code, email, password: password1 + }).then(res=>{ + if(res && !res.data.status){ + setPassMap({password: undefined, email: undefined, code: undefined}); + resetFields(); + resetUserInfo(); + setVisible(false); + message.success('更新成功'); + }else{ + setVisible(false); + message.error(res.data.message || '更新失败'); + } + }) + } + }else{ + const values = getFieldsValue(); + const url = `/accounts/change_password.json`; + Axios.post(url,{ + login:current_user && current_user.login, + ...values + }).then(result=>{ + if(result && result.data){ + resetFields(); + setUpdatePsdMap({oldPassword: undefined, password: undefined, password1: undefined}); + setVisible(false); + setNewPass(undefined); + setNewPassRepeat(undefined); + message.success('密码重置成功!'); + } + }).catch(error=>{}) } - }) } -console.log('1111', updatePsdMap.password1); // type: 0邮箱管理 1密码管理 2账号注销 return( - type === '0' ?
{type === '0' ? '更改邮箱后,您在GitLink的登录账号、接收通知的邮件地址、git config 邮件地址将同步变更。请再次确认。' : '更改密码后,您在GitLink的登录密码将同步变更。请再次确认。'}
+JTQRO=rz@xIo&s@v&i9Qh4060f(nC=*5Jcj*m Tw~Sg$LNM;UX2-7 zZjp;(<1wb ie zgUAZsBe>=7yg?bqndh4c`~KXz7*pJM3f$td@nPXG ^t&KsS$N^IqG zlmlm0U^_M=*ZO)&*TeEE5zn44=+~(iFqPMSHdayL&Q^_`(aFCKl41IUM@R_Sag98; zFG)pzd2g6NKD!o`HY%&O2Ia9@<~B28*CrBvBVihgi%eeb8OsCZ_Y|ZC|2in44w0XD zk&@@;w9NX-5f}Qkk@sRqjoWq~V5tpB(}!3A6D8K@cHy7drav+MtU1?GUUh8)Qm$(~ z)l(!K*Ef8!+_NQ_+yi-J6vqDz86e%LKj{6eVsEw~NCIT2nABLQQ|jYiK-X%dE$TXy zTT`lNa;sc37z{giN^oB*sM`xYHh?Oa)aMdnXI(qy`*5#JKj4G*EvWeVXrZZb-=}+c z#zEBXl%f6xG{T=-8&lZ+@=qCjq9(CtX~tWl =evnY{Hdh$hwRK)_We_ G6Ej0*GrQ&sAC02u*Ob65tGQm)QP8e$ z>FXkqp2H;CrC83_TBY&SQz9OgST0!^Po|hIj;wOPdi@Ahnx*cd6-SC)?;ws3i-jcC zgD5X=eA8g$;Z@dU3X0a_oTtjo)9^miSqDbVgSkC4%|cR^^b;jQtK_!TI_Ve~gV#iT zNlmPDg3tb;Yn=Vihm*go!Z;{R43fy;wBEBx9Bw__y3(_2>&zBhyWI+|eD?5V4*tHM z+xvrPufx8lJEv$MoXg4SCRfhrFpaJrfQrQ7Mqz_2dUN(uR_&{Go-WA-89o{lrUBaJ z-Yjw9>&ehY_o)W0qsO?)HOjoSBWz{D0c$>dn{D3@m++m&lo%dXm<*Gvd-=umo3TRbQ9Yac0B|E@&mo%m5uvI-R!rjzEv5c3aGC>d xaQh% zn2icB*K+R_;58e?pd{=>@j@?5;(Xu1zHp`4&lA~oa21TSizFFidMdch 0sO)wqi 5jkmZ)Jwjr=evx?*SrJVEVb^clu#6Zrn72;i zGlc8k5cp?D8N{ Z2yx44vE9AyTlKNLpW4zEq?wdDQ&vCYr;p%T z`AkdfL0N5E)2KgGd*pWBmVk1m-d`l*9GUv&sDb3Do)c-V%0Y*w^i0z@!CG28pt5yN z3rGg1og77@3m<5L5UtubUJSM_V#3Mmv4ZydKxXh%5g?7K(bq@vEXZcWDurk(@u*{P z!Ja-DzCQkjnR3xHSeC#Ms?T@(wvo(gWCb^9xH1BjL*7u$XaQxQ^Rc>kWh(KAIPf_B zzJULr-}YK-t4Tn@(n`ohQ0wy^x1-IfGEo|T@RVsJb*&ji5?h~cuXb4zhuOOe14 09{HW1V3vrKY=ORnkFyT?s zDI;;*CmF|k7DwNEOGhO##S@y*$GS$d-;xvT63glW#<0u4!1dGy50fOivu>O`Zm29w zWaR3rmjneoyJ?nZK^cJ#+?hTpwEL4E9!>c7zPTb=66k)UX2eAQ5myyGnyINya;V?1 z0m0!Q-1}N%Bn~?bkrBY;LmdV%nv3GyY9cXz8TWelmatnzEly=nj&w$Y?D6b gwX&bJ1O@aDRUZ6oL0K bLx7%P4Ov9 zVcKGE2l%Xe4EN~vw{VV}WGg(U99U1#&a7tZA0z=F{9-tw&ngMu#?e2i6z17Jt+mo* zFpXTF7D?>+%2I^yV2D`g{o(Pr%G^FIUEJ6fGTjUeHV=WvxE7_oh_2BUThF>8maZPQ zF;*2L0q#sV#!t7~L^$5Fr^WN_XGFjkU5iqEt92hGoR@AAApJk8a=Vy0CznCXt=jLA z tX`~(h7$~zUoS ^d?p-Rv(JtCubM7*vN z%l#%879VfH#)-ocMZ*Q1Kgz%5eD}SrslT*^%<5~APO<& !Z0(-3^S( PP5L{C$N&h^5h#&6v`(X~dE5({#qqZeNZ> z#7bTc(zt%UMmuh1C ~SAs7}CrP)-zG2JSwrV<;K@cz4U^mm1Eh_65mxCzFqA0S+-uS!07M zcEG(Z^|b{&mC}(l2=8qx` gdD-yW_S@s(mM-+}|$28KJ!;n`O}onEdR1qi}pzb^6gX zf<>nnCczq7 N10SVyp3dNoSQ~qjh<4Jr;IWGVHa) zSg!WzabanE7u3El`F`N7-lYy&AtKaRsYSY8*s@`!v|ai{` 0i!GLZ#37s#bX2BGUp+v&1MN%VtbKXdf?H0=_ZtzJgpz%iDaPFmM*61e+={ zvZekE<#QVyA?RTUNnOKxUCcHjOY^P5`C0pW&<)=mGblpz5jUw3HA|$J#xa9u0*`*v z6O`BL6;5vM*j+U#6;va a}tE zaWg1&L*&GS45OVM*9n gc2`pZt_B33@4z?7Ol*VdZayp 0{w|>U4#oc(@{#$a+3-fY|fyk`(Ry-DxWq`kD61Pm&y3Qk#bjF*|M&=RZ>v7cOo= zH-|HYz+@vHX}ecb$>PrABg?bnnWm99+s_RfeGLRBJFyzpYjOtn_8y%GCg2J-_-96P zj04?Uwa`uGef~bq_HMT~ycSxf#3B}pZl3zqO)%