|
|
"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[27182],{30666:function(e,r,s){s.r(r),s.d(r,{default:function(){return C}});var t=s(26801),a=s.n(t),n=s(10574),i=s.n(n),o=s(39343),l=s.n(o),c=s(59301),u=s(11006),d=s.n(u),p=s(78241),y=s(1056),f=s(3113),m=s(56090),g=s(85578),h=s(22211),v=s(37712),x={height:40},w=/(\b[\w\.-]+@[\w\.-]+\.\w{2,4}\b)|([1][3,4,5,6,7,8,9][0-9]{9})/i,j={timer:0,verifyCodeMessage:"",verifyNameMessage:""},M=function(e){return e[e.setTimer=0]="setTimer",e[e.setVerifyCodeMessage=1]="setVerifyCodeMessage",e[e.setVerifyNameMessage=2]="setVerifyNameMessage",e}(M||{});function V(e,r){switch(r.type){case M.setTimer:return a()(a()({},e),{},{timer:r.payload});case M.setVerifyCodeMessage:return a()(a()({},e),{},{verifyCodeMessage:r.payload});case M.setVerifyNameMessage:return a()(a()({},e),{},{verifyNameMessage:r.payload});default:throw new Error}}var Z=function(e){var r=e.validateName,s=e.getCode,t=e.callback,a=e.style,n=void 0===a?{}:a,o=(0,h.useLocation)(),u=p.Z.useForm(),Z=d()(u,1)[0],b=(0,c.useReducer)(V,j),C=d()(b,2),k=C[0],N=C[1],P=k.verifyCodeMessage,_=k.verifyNameMessage,T=k.timer,F=(0,c.useState)("/rucaptcha"),I=d()(F,2);I[0],I[1];function z(){return(z=l()(i()().mark((function e(r){var s,a,n,l,c,u,d,p;return i()().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=r.login,a=r.new_password,n=r.code,l=r.new_password_confirmation,e.next=3,t({login:s,new_password_confirmation:l,new_password:a,code:n});case 3:c=e.sent,u=c.message,c.status>0?(p=null===(d=o.query)||void 0===d?void 0:d.from)&&p.indexOf("login")<0?h.history.replace(p):h.history.replace("/"):N({type:M.setVerifyCodeMessage,payload:u});case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function q(){return(q=l()(i()().mark((function e(){var s,t,a,n,o;return i()().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(s=Z.getFieldValue("login"),!w.test(s)){e.next=10;break}return e.next=4,r({login:s,type:2});case 4:return t=e.sent,a=t.status,n=t.message,(o=a>0)||N({type:M.setVerifyNameMessage,payload:n}),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(){N({type:M.setTimer,payload:T-1})}),1e3)}),[T]),(0,v.jsxs)(p.Z,{layout:"vertical",form:Z,style:n,initialValues:{autologin:!0,protool:!0},onFinish:function(e){return z.apply(this,arguments)},children:[(0,v.jsx)(p.Z.Item,{name:"login",extra:_?(0,v.jsx)("span",{className:"error",children:_}):null,rules:[{required:!0,message:"请输入有效的手机号/邮箱"},{pattern:w,message:"手机号或者邮箱格式有误"}],children:(0,v.jsx)(y.Z,{style:x,size:"large",placeholder:"请输入有效的手机号/邮箱号",onChange:function(){Z.setFieldsValue({verify:!1}),N({type:M.setVerifyNameMessage,payload:""})}})}),(0,v.jsx)(p.Z.Item,{name:"verify",rules:[{validator:function(e,r){return r?Promise.resolve():Promise.reject("请拖动滑块验证")}}],children:(0,v.jsx)(m.Z,{onValidate:function(){return q.apply(this,arguments)}})}),(0,v.jsx)(p.Z.Item,{extra:P?(0,v.jsx)("span",{className:"error",children:P}):null,children:(0,v.jsxs)("div",{className:"flex-container",children:[(0,v.jsx)(p.Z.Item,{name:"code",noStyle:!0,rules:[{required:!0,message:"请输入验证码"}],children:(0,v.jsx)(y.Z,{style:{width:"calc(100% - 100px)",height:40,marginRight:6},placeholder:"请输入验证码",size:"large"})}),(0,v.jsxs)(f.ZP,{size:"large",type:"primary",style:x,onClick:function(){var e=Z.getFieldValue("verify"),r=Z.getFieldValue("login");if(e){N({type:M.setVerifyCodeMessage,payload:""});var t=s({login:r,type:2,smscode:(0,g.M)(r)}),a=t.status,n=t.message;a<0&&N({type:M.setVerifyCodeMessage,payload:n}),N({type:M.setTimer,payload:60})}else Z.validateFields(["verify"])},disabled:T>0,children:[" ",0===T?"获取验证码":"重新发送".concat(T,"s")]})]})}),(0,v.jsx)(p.Z.Item,{name:"new_password",rules:[{required:!0,message:"请输入密码"},{validator:function(e,r){var s=r.length;return s>=8&&s<=16?Promise.resolve():Promise.reject("密码的长度在8到16位之间")}}],children:(0,v.jsx)(y.Z.Password,{style:x,size:"large",placeholder:"输入8~16位密码,区分大小写",visibilityToggle:!1})}),(0,v.jsx)(p.Z.Item,{name:"new_password_confirmation",rules:[{required:!0,message:"请再次输入新密码"},function(e){var r=e.getFieldValue;return{validator:function(e,s){return s&&r("new_password")!==s?Promise.reject("两次密码不一致"):Promise.resolve()}}}],children:(0,v.jsx)(y.Z.Password,{style:x,size:"large",placeholder:"再次输入新密码",visibilityToggle:!1})}),(0,v.jsx)(p.Z.Item,{children:(0,v.jsxs)(f.ZP,{size:"large",type:"primary",htmlType:"submit",block:!0,style:x,children:[" ","完成"," "]})}),(0,v.jsx)(p.Z.Item,{children:(0,v.jsx)(h.Link,{to:"/user/login",children:"返回登录"})})]})},b=s(89948),C=function(){var e,r={getCode:b.o1,callback:(e=l()(i()().mark((function e(r){var s;return i()().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,(0,b.c0)(r);case 2:return s=e.sent,e.abrupt("return",s);case 4:case"end":return e.stop()}}),e)}))),function(r){return e.apply(this,arguments)}),validateName:b.Ol};return(0,v.jsx)(Z,a()({},r))}}}]); |