register.f14647bf.js 7.1 KB

1
  1. import{H as g}from"./header.761fcb0c.js";import{n as u,z as l,l as c}from"./index.4fdc1c7a.js";const b={name:"email-code-button",props:{email:String},data(){return{disabled:!1,timer:null,interval:1e3,count:0,total:3,text:l.t("common.sendCode")}},methods:{countdown(){this.count++>=this.total?(this.disabled=!1,this.count=0,this.text=l.t("common.sendCode")):(this.disabled=!0,this.text=`${l.t("common.sendCode")}\uFF08${this.count}\uFF09`,this.timer=setTimeout(this.countdown,this.interval))},startCountdown(){this.countdown(),clearTimeout(this.timer),this.timer=setTimeout(this.countdown,this.interval)},sendEmailCode(){const s=this.email;if(!s){this.$message.error(this.$t("login.register.form.email"));return}if(!c.email.test(s)){this.$message.error(this.$t("login.register.form.errorEmail"));return}const t=this.$t("common.failure");this.$axios.post("/api/email/send",{email:s}).then(e=>{const{code:r,msg:a}=e.data;r==0?(this.startCountdown(),this.$message.success(a)):this.$message.error(a||t)})}}};var v=function(){var t=this,e=t._self._c;return e("el-button",{staticClass:"send-code",attrs:{disabled:t.disabled,type:"primary",round:""},on:{click:t.sendEmailCode}},[t._v(" "+t._s(t.text)+" ")])},$=[],C=u(b,v,$,!1,null,"873a6995",null,null);const x=C.exports;const w={name:"register",components:{Header:g,EmailCodeButton:x},mounted(){this.getCaptcha()},data(){return{errors:"",captcha:"",captcha_key:"",form:{data:{name:"",account:"",password:"",passwords:"",email:"",code:"",is_notice:!1,is_policy:!1,captcha:""},rules:{name:[{required:!0,trigger:"blur"}],account:[{required:!0,trigger:"blur"},{pattern:c.account,trigger:"blur"}],password:[{required:!0,trigger:"blur"}],passwords:[{required:!0,trigger:"blur"},{validator:this.passwordsCheck,trigger:"blur"}],email:[{required:!0,trigger:"blur"},{pattern:c.email,trigger:"blur"}],code:[{required:!0,trigger:"blur"}],captcha:[{required:!0,trigger:"blur"}]}}}},methods:{rebuildAccount(s){const t="@huabook.net";s&&s.indexOf("@")===-1&&s.indexOf(t)===-1&&(this.form.data.account=s+t)},doSubmit(){const{name:s,account:t,password:e,passwords:r,email:a,code:i,is_notice:o,is_policy:n,captcha:f}=this.form.data;if(!(o&&n))this.errors=this.$t("login.register.form.errorNotice");else{this.errors="";const m=this.$t("common.failure");this.$refs.form.validate(p=>{p&&this.$axios.post("/api/auth/register",{name:s,account:t,password:e,passwords:r,email:a,code:i,is_notice:o?1:0,is_policy:n?1:0,captcha:f,captcha_key:this.captcha_key}).then(h=>{const{code:_,msg:d}=h.data;_==0?(this.$message.success(d),this.$router.push({path:"/login"})):this.errors=d||m}).catch(()=>{this.errors=m})})}},passwordsCheck(s,t,e){const{password:r}=this.form.data;if(t!==r){e(new Error(this.$t("login.register.form.errorPasswordConfirm")));return}e()},getCaptcha(){const s=this.$t("common.failure");this.$axios.get("/api/captcha").then(t=>{const{code:e,msg:r=s,data:a}=t.data;if(e==0){const{key:i,img:o}=a;this.captcha_key=i,this.captcha=o}else this.$message.error(r)})}}};var k=function(){var t=this,e=t._self._c;return e("div",{staticClass:"register"},[e("div",{staticClass:"register-content"},[e("Header"),e("div",{staticClass:"tip"},[e("b",[t._v(t._s(t.$t("login.register.tip.text1")))]),e("br"),t._v(" "+t._s(t.$t("login.register.tip.text2"))+" ")]),e("div",{staticClass:"form"},[e("el-form",{ref:"form",attrs:{model:t.form.data,rules:t.form.rules}},[e("el-form-item",{staticClass:"name",attrs:{prop:"name"}},[e("el-input",{attrs:{placeholder:t.$t("login.register.form.name"),clearable:""},model:{value:t.form.data.name,callback:function(r){t.$set(t.form.data,"name",r)},expression:"form.data.name"}})],1),e("div",{staticClass:"form-tip"},[e("b",[t._v(t._s(t.$t("login.register.form.idTip")))])]),e("el-form-item",{staticClass:"account",attrs:{prop:"account"}},[e("el-input",{attrs:{autocomplete:"off",placeholder:"name@huabook.net",clearable:""},on:{blur:r=>t.rebuildAccount(r.target.value)},model:{value:t.form.data.account,callback:function(r){t.$set(t.form.data,"account",r)},expression:"form.data.account"}})],1),e("el-form-item",{staticClass:"password",attrs:{prop:"password"}},[e("el-input",{attrs:{autocomplete:"new-password",type:"password",placeholder:t.$t("login.register.form.password"),clearable:""},model:{value:t.form.data.password,callback:function(r){t.$set(t.form.data,"password",r)},expression:"form.data.password"}})],1),e("el-form-item",{staticClass:"passwords",attrs:{prop:"passwords"}},[e("el-input",{attrs:{type:"password",placeholder:t.$t("login.register.form.passwordConfirm"),clearable:""},model:{value:t.form.data.passwords,callback:function(r){t.$set(t.form.data,"passwords",r)},expression:"form.data.passwords"}})],1),e("div",{staticClass:"form-tip"},[e("b",[t._v(t._s(t.$t("login.register.form.emailTip1")))]),e("span",[t._v(t._s(t.$t("login.register.form.emailTip2")))])]),e("el-form-item",{staticClass:"email",attrs:{prop:"email"}},[e("el-input",{attrs:{placeholder:t.$t("login.register.form.email"),clearable:""},model:{value:t.form.data.email,callback:function(r){t.$set(t.form.data,"email",r)},expression:"form.data.email"}})],1),e("el-form-item",{staticClass:"email-password",attrs:{prop:"code"}},[e("el-row",{attrs:{gutter:20}},[e("el-col",{attrs:{span:16}},[e("el-input",{attrs:{placeholder:t.$t("login.register.form.emailCode"),clearable:""},model:{value:t.form.data.code,callback:function(r){t.$set(t.form.data,"code",r)},expression:"form.data.code"}})],1),e("el-col",{attrs:{span:8}},[e("email-code-button",{attrs:{email:t.form.data.email}})],1)],1)],1),e("el-form-item",{staticClass:"checkbox1"},[e("el-checkbox",{model:{value:t.form.data.is_notice,callback:function(r){t.$set(t.form.data,"is_notice",r)},expression:"form.data.is_notice"}},[e("b",[t._v(t._s(t.$t("login.register.form.checkbox.notice")))]),e("br"),t._v(" "+t._s(t.$t("login.register.form.checkbox.text1"))+" ")])],1),e("el-form-item",{staticClass:"checkbox2"},[e("el-checkbox",{model:{value:t.form.data.is_policy,callback:function(r){t.$set(t.form.data,"is_policy",r)},expression:"form.data.is_policy"}},[t._v(" "+t._s(t.$t("login.register.form.checkbox.text2"))+" ")])],1),t.errors?e("el-form-item",{staticClass:"error"},[e("span",{staticClass:"error-tip"},[t._v(t._s(t.errors))])]):t._e(),e("el-form-item",{staticClass:"refresh"},[e("div",{staticClass:"container"},[e("div",{staticClass:"refresh-img"},[e("img",{staticClass:"refresh-img",attrs:{src:t.captcha,alt:"refresh"}})]),e("div",{staticClass:"refresh-button"},[e("a",{attrs:{href:"javascript:;"},on:{click:t.getCaptcha}},[e("i",{staticClass:"el-icon-refresh-right"}),t._v(" "+t._s(t.$t("login.common.form.refresh"))+" ")])]),e("div",{staticClass:"refresh-code"},[e("el-input",{attrs:{placeholder:t.$t("login.common.form.code"),clearable:""},model:{value:t.form.data.captcha,callback:function(r){t.$set(t.form.data,"captcha",r)},expression:"form.data.captcha"}})],1)])])],1)],1),e("div",{staticClass:"footer"},[e("ul",[e("li",[t._v(" "+t._s(t.$t("login.register.bottom.text1"))+" ")]),e("li",[t._v(" "+t._s(t.$t("login.register.bottom.text2"))+" ")]),e("li",[t._v(" "+t._s(t.$t("login.register.bottom.text3"))+" ")])]),e("el-button",{attrs:{type:"primary",round:""},on:{click:t.doSubmit}},[t._v(t._s(t.$t("common.resume")))])],1)],1)])},y=[],E=u(w,k,y,!1,null,"954a7c48",null,null);const S=E.exports;export{S as default};