You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
NewEduCoderBuild/p__User__ResetPassword__ind...

1 line
8.0 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[27182],{27025:function(e,r,t){t.d(r,{Z:function(){return x}});var n=t(7557),s=t.n(n),a=t(41498),i=t.n(a),o=t(79800),u=t.n(o),c=t(82242),l=t.n(c),d=t(59301),f=t(14834),p=t(75742),m=t(77094),y=t(76279),v=t(37712),g={moveX:0,verify:0},h=function(e){return e[e.SET_MOVEX=0]="SET_MOVEX",e[e.VERIFY=1]="VERIFY",e}(h||{});function w(e,r){switch(r.type){case h.SET_MOVEX:return l()(l()({},e),{},{moveX:r.payload});case h.VERIFY:return l()(l()({},e),r.payload);default:throw new Error}}var x=function(e){var r=e.value,t=e.onChange,n=e.onValidate,a=(0,d.useReducer)(w,g),o=u()(a,2),c=o[0],l=o[1],x=c.moveX,j=c.verify,V=(0,d.useRef)(),E=(0,d.useRef)(),M=(0,d.useRef)(),b=(0,d.useRef)(),k=(0,d.useMemo)((function(){if(E.current)return E.current.getBoundingClientRect()}),[E.current]);function _(){j||(b.current=!0,V.current.style.transition="",M.current.style.transition="")}return(0,d.useEffect)((function(){if(k){var e=function(){var e=i()(s()().mark((function e(r){var i;return s()().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!b.current){e.next=15;break}if(i=r.pageX-u,d&&(i=r.changedTouches[0].pageX-u),i<0&&(i=0),!(i>=c)){e.next=14;break}return b.current=!1,i=c,e.next=9,n();case 9:a=e.sent,l({type:h.VERIFY,payload:{moveX:i,verify:a}}),t(a),e.next=15;break;case 14:l({type:h.SET_MOVEX,payload:i});case 15:case"end":return e.stop()}}),e)})));return function(r){return e.apply(this,arguments)}}(),r=function(){b.current=!1,0===a&&(V.current.style.transition="left .5s ease",M.current.style.transition="width .5s ease",l({type:h.VERIFY,payload:{moveX:0}}))},a=0,o=k.width,u=k.left,c=o-48,d=!(0,y.b9)();return d?(window.addEventListener("touchmove",e),window.addEventListener("touchend",r)):(window.addEventListener("mousemove",e),window.addEventListener("mouseup",r)),function(){d?(window.removeEventListener("touchmove",e),window.removeEventListener("touchend",r)):(window.removeEventListener("mousemove",e),window.removeEventListener("mouseup",r))}}}),[k,y.b9]),(0,d.useEffect)((function(){l({type:h.VERIFY,payload:{verify:r,moveX:r?(null==k?void 0:k.width)-48:0}})}),[r]),(0,v.jsxs)("div",{ref:E,className:"unlock-wrapper",children:[(0,v.jsx)("div",{ref:M,className:1===j?"unlock-error-bg":"unlock-bg",style:{width:x}}),(0,v.jsx)("div",{className:"unlock-text",children:j?1===j?"验证失败":"验证通过":"拖动滑块至右侧验证"}),(0,v.jsx)("div",{ref:V,onTouchStart:_,onMouseDown:_,style:{left:x},className:"unlock-handler",children:j?1===j?(0,v.jsx)(f.Z,{}):(0,v.jsx)(p.Z,{}):(0,v.jsx)(m.Z,{})})]})}},18693:function(e,r,t){t.d(r,{Ol:function(){return s},c0:function(){return o},o1:function(){return a},z2:function(){return i}});var n=t(51836);function s(e){return(0,n.U2)("accounts/valid_email_and_phone.json",e)}function a(e){return(0,n.U2)("accounts/get_verification_code.json",e)}function i(e){return(0,n.v_)("accounts/register.json",e)}function o(e){return(0,n.v_)("accounts/reset_password.json",e)}},47180:function(e,r,t){t.r(r),t.d(r,{default:function(){return k}});var n=t(82242),s=t.n(n),a=t(7557),i=t.n(a),o=t(41498),u=t.n(o),c=t(59301),l=t(79800),d=t.n(l),f=t(78241),p=t(98135),m=t(3113),y=t(27025),v=t(76279),g=t(96707),h=t(37712),w={height:40},x=/(\b[\w\.-]+@[\w\.-]+\.\w{2,4}\b)|([1][3,4,5,6,7,8,9][0-9]{9})/i,j={timer:0,verifyCodeMessage:"",verifyNameMessage:""},V=function(e){return e[e.setTimer=0]="setTimer",e[e.setVerifyCodeMessage=1]="setVerifyCodeMessage",e[e.setVerifyNameMessage=2]="setVerifyNameMessage",e}(V||{});function E(e,r){switch(r.type){case V.setTimer:return s()(s()({},e),{},{timer:r.payload});case V.setVerifyCodeMessage:return s()(s()({},e),{},{verifyCodeMessage:r.payload});case V.setVerifyNameMessage:return s()(s()({},e),{},{verifyNameMessage:r.payload});default:throw new Error}}var M=function(e){var r=e.validateName,t=e.getCode,n=e.callback,s=e.style,a=void 0===s?{}:s,o=(0,g.useLocation)(),l=f.Z.useForm(),M=d()(l,1)[0],b=(0,c.useReducer)(E,j),k=d()(b,2),_=k[0],Z=k[1],C=_.verifyCodeMessage,N=_.verifyNameMessage,T=_.timer,F=(0,c.useState)("/rucaptcha"),I=d()(F,2);I[0],I[1];function R(){return(R=u()(i()().mark((function e(r){var t,s,a,u,c,l,d,f;return i()().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=r.login,s=r.new_password,a=r.code,u=r.new_password_confirmation,e.next=3,n({login:t,new_password_confirmation:u,new_password:s,code:a});case 3:c=e.sent,l=c.message,c.status>0?(f=null===(d=o.query)||void 0===d?void 0:d.from)&&f.indexOf("login")<0?g.history.replace(f):g.history.replace("/"):Z({type:V.setVerifyCodeMessage,payload:l});case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function X(){return(X=u()(i()().mark((function e(){var t,n,s,a,o;return i()().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=M.getFieldValue("login"),!x.test(t)){e.next=10;break}return e.next=4,r({login:t,type:2});case 4:return n=e.sent,s=n.status,a=n.message,(o=s>0)||Z({type:V.setVerifyNameMessage,payload:a}),e.abrupt("return",o);case 10:return e.abrupt("return",!1);case 11:case"end":return e.stop()}}),e)})))).apply(this,arguments)}return(0,c.useEffect)((function(){T>0&&setTimeout((function(){Z({type:V.setTimer,payload:T-1})}),1e3)}),[T]),(0,h.jsxs)(f.Z,{layout:"vertical",form:M,style:a,initialValues:{autologin:!0,protool:!0},onFinish:function(e){return R.apply(this,arguments)},children:[(0,h.jsx)(f.Z.Item,{name:"login",extra:N?(0,h.jsx)("span",{className:"error",children:N}):null,rules:[{required:!0,message:"请输入有效的手机号/邮箱"},{pattern:x,message:"手机号或者邮箱格式有误"}],children:(0,h.jsx)(p.Z,{style:w,size:"large",placeholder:"请输入有效的手机号/邮箱号",onChange:function(){M.setFieldsValue({verify:!1}),Z({type:V.setVerifyNameMessage,payload:""})}})}),(0,h.jsx)(f.Z.Item,{name:"verify",rules:[{validator:function(e,r){return r?Promise.resolve():Promise.reject("请拖动滑块验证")}}],children:(0,h.jsx)(y.Z,{onValidate:function(){return X.apply(this,arguments)}})}),(0,h.jsx)(f.Z.Item,{extra:C?(0,h.jsx)("span",{className:"error",children:C}):null,children:(0,h.jsxs)("div",{className:"flex-container",children:[(0,h.jsx)(f.Z.Item,{name:"code",noStyle:!0,rules:[{required:!0,message:"请输入验证码"}],children:(0,h.jsx)(p.Z,{style:{width:"calc(100% - 100px)",height:40,marginRight:6},placeholder:"请输入验证码",size:"large"})}),(0,h.jsxs)(m.ZP,{size:"large",type:"primary",style:w,onClick:function(){var e=M.getFieldValue("verify"),r=M.getFieldValue("login");if(e){Z({type:V.setVerifyCodeMessage,payload:""});var n=t({login:r,type:2,smscode:(0,v.M)(r)}),s=n.status,a=n.message;s<0&&Z({type:V.setVerifyCodeMessage,payload:a}),Z({type:V.setTimer,payload:60})}else M.validateFields(["verify"])},disabled:T>0,children:[" ",0===T?"获取验证码":"重新发送".concat(T,"s")]})]})}),(0,h.jsx)(f.Z.Item,{name:"new_password",rules:[{required:!0,message:"请输入密码"},{validator:function(e,r){var t=r.length;return t>=8&&t<=16?Promise.resolve():Promise.reject("密码的长度在8到16位之间")}}],children:(0,h.jsx)(p.Z.Password,{style:w,size:"large",placeholder:"输入816位密码区分大小写",visibilityToggle:!1})}),(0,h.jsx)(f.Z.Item,{name:"new_password_confirmation",rules:[{required:!0,message:"请再次输入新密码"},function(e){var r=e.getFieldValue;return{validator:function(e,t){return t&&r("new_password")!==t?Promise.reject("两次密码不一致"):Promise.resolve()}}}],children:(0,h.jsx)(p.Z.Password,{style:w,size:"large",placeholder:"再次输入新密码",visibilityToggle:!1})}),(0,h.jsx)(f.Z.Item,{children:(0,h.jsxs)(m.ZP,{size:"large",type:"primary",htmlType:"submit",block:!0,style:w,children:[" ","完成"," "]})}),(0,h.jsx)(f.Z.Item,{children:(0,h.jsx)(g.Link,{to:"/user/login",children:"返回登录"})})]})},b=t(18693),k=function(){var e,r={getCode:b.o1,callback:(e=u()(i()().mark((function e(r){var t;return i()().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,(0,b.c0)(r);case 2:return t=e.sent,e.abrupt("return",t);case 4:case"end":return e.stop()}}),e)}))),function(r){return e.apply(this,arguments)}),validateName:b.Ol};return(0,h.jsx)(M,s()({},r))}}}]);