UNPKG

goldpankit

Version:

GoldPanKit是一款极速研发套件,可在套件中快速构建各类技术框架和项目。开源作者可发布自己的项目,并为其设定金额,实现开源项目的盈利。

2 lines (1 loc) 4.23 kB
import{y as _,_ as v,r as u,o as l,c as d,a,t as r,b as o,w as i,i as y,F as c,e as m,j as O}from"./index-aa9a4821.js";import{c as b}from"./form.check-189b470c.js";function V(e){return _.post("/usr/regis/email",e,{baseURL:"/remote-api"})}function E(e){return _.post("/usr/regis/email/otp-code",e,{baseURL:"/remote-api"})}const q={data(){return{form:{username:"",password:"",otpElement:"",otpCodeId:null,otpCode:""},sendOtpCodeData:{isWorking:!1,timeout:0,sended:!1},regisData:{isWorking:!1}}},methods:{getRules(){return{username:[{required:!0,message:this.$t("form.isRequired",{value:this.$t("user.username")})}],password:[{required:!0,message:this.$t("form.isRequired",{value:this.$t("user.password")})}],otpElement:[{required:!0,message:this.$t("form.isRequired",{value:this.$t("user.email")})},{validator:(e,s,h)=>b(e,s,h,this.$t("form.correctEmailTip"))}],otpCode:[{required:!0,message:this.$t("form.isRequired",{value:this.$t("user.otpCode")})}]}},regis(){this.$refs.form.validate().then(()=>{this.regisData.isWorking||(this.regisData.isWorking=!0,V(this.form).then(()=>{this.$message.success("Register successful."),this.$router.push({name:"SignIn"})}).catch(e=>{this.$tip.apiFailed(e)}).finally(()=>{this.regisData.isWorking=!1}))}).catch(()=>{})},sendOtpCode(){this.$refs.form.validateField("otpElement").then(()=>{this.sendOtpCodeData.isWorking||(this.sendOtpCodeData.isWorking=!0,E({email:this.form.otpElement,username:this.form.username}).then(e=>{this.form.otpCodeId=e,this.sendOtpCodeData.timeout=60,this.sendOtpCodeData.sended=!0;const s=setInterval(()=>{this.sendOtpCodeData.timeout--,this.sendOtpCodeData.timeout===0&&clearInterval(s)},1e3)}).catch(e=>{this.$tip.apiFailed(e)}).finally(()=>{this.sendOtpCodeData.isWorking=!1}))}).catch(()=>{})}}},w={class:"signup"},W={class:"wrap"},R={key:0},I={class:"login-box"},$={class:"have-an-account"};function U(e,s,h,z,t,g){const p=u("el-input"),f=u("el-form-item"),C=u("el-button"),k=u("el-form"),D=u("router-link");return l(),d("div",w,[a("div",W,[a("h2",null,r(e.$t("common.signUp")),1),o(k,{ref:"form",model:t.form,rules:g.getRules(),onSubmit:s[4]||(s[4]=y(()=>{},["stop"]))},{default:i(()=>[o(f,{label:e.$t("user.username"),prop:"username",required:""},{default:i(()=>[o(p,{modelValue:t.form.username,"onUpdate:modelValue":s[0]||(s[0]=n=>t.form.username=n),type:"text",size:"large"},null,8,["modelValue"])]),_:1},8,["label"]),o(f,{label:e.$t("user.password"),prop:"password",required:""},{default:i(()=>[o(p,{modelValue:t.form.password,"onUpdate:modelValue":s[1]||(s[1]=n=>t.form.password=n),type:"password",size:"large"},null,8,["modelValue"])]),_:1},8,["label"]),o(f,{label:e.$t("user.email"),prop:"otpElement",required:""},{default:i(()=>[o(p,{modelValue:t.form.otpElement,"onUpdate:modelValue":s[2]||(s[2]=n=>t.form.otpElement=n),type:"text",size:"large"},null,8,["modelValue"])]),_:1},8,["label"]),o(f,{label:e.$t("user.otpCode"),prop:"otpCode",required:"",class:"otp-code"},{default:i(()=>[a("div",null,[o(p,{type:"text",modelValue:t.form.otpCode,"onUpdate:modelValue":s[3]||(s[3]=n=>t.form.otpCode=n),size:"large",maxlength:"8"},null,8,["modelValue"]),o(C,{size:"large",type:"primary",disabled:t.sendOtpCodeData.isWorking||t.sendOtpCodeData.timeout!==0,onClick:g.sendOtpCode},{default:i(()=>[t.sendOtpCodeData.isWorking?(l(),d(c,{key:0},[m(r(e.$t("common.otp.sending")),1)],64)):t.sendOtpCodeData.timeout===0&&!t.sendOtpCodeData.sended?(l(),d(c,{key:1},[m(r(e.$t("common.otp.send")),1)],64)):t.sendOtpCodeData.timeout===0&&t.sendOtpCodeData.sended?(l(),d(c,{key:2},[m(r(e.$t("common.otp.resend")),1)],64)):(l(),d(c,{key:3},[m(r(t.sendOtpCodeData.timeout)+"s",1)],64))]),_:1},8,["disabled","onClick"])]),t.sendOtpCodeData.sended?(l(),d("p",R,r(e.$t("common.otp.sendTip",{email:t.form.otpElement})),1)):O("",!0)]),_:1},8,["label"])]),_:1},8,["model","rules"]),a("div",I,[a("div",null,[o(C,{type:"important",onClick:g.regis,disabled:t.regisData.isWorking},{default:i(()=>[m(r(e.$t("user.createAccount")),1)]),_:1},8,["onClick","disabled"])])])]),a("div",$,[a("p",null,r(e.$t("user.haveAnAccount")),1),o(D,{to:{name:"SignIn"}},{default:i(()=>[m(r(e.$t("common.signIn")),1)]),_:1})])])}const N=v(q,[["render",U],["__scopeId","data-v-cf0795f6"]]);export{N as default};