login-17dbb543.js 3.2 KB

1
  1. import{d as c,s as u,A as i,a as l,r,b as p,c as h,e as m,f as t,g as d,B as g}from"./index-bd231973.js";import{C,I as f}from"./index-6d919ec3.js";import{C as S}from"./index-490215fc.js";import{F as a}from"./index-c29f1505.js";import"./index-9f6e20c8.js";import"./index-79eb5f07.js";import"./index-220a3c7e.js";const _="_login_pvck2_1",y="_codeText_pvck2_6",w="_logo_pvck2_9",D="_container_pvck2_21",s={login:_,codeText:y,logo:w,container:D,"input-group":"_input-group_pvck2_24","code-text":"_code-text_pvck2_45","login-change":"_login-change_pvck2_62"},P=c({name:"layout-login",data(){return{loginType:"SMS",username:"",password:"",smsCode:"",countDownStatus:!0,countDownTime:1e3*120,imgCodeStatus:!1}},computed:{codeDisable(){let e=!0;return this.loginType==="PWD"?this.username&&this.password&&(e=!1):this.username&&this.smsCode&&(e=!1),e}},mounted(){u.remove(i),this.directNext()},methods:{directNext(){if(l.user.status==="login"||l.user.status==="error"){const{returnUrl:e,isRegister:o,...n}=this.$route.query;this.$router.replace({path:e,query:{...n}})}},async onLogin(){try{const e={username:this.username,client_id:"cooleshow-student",client_secret:"cooleshow-student",password:this.loginType==="PWD"?this.password:this.smsCode,grant_type:"password",loginType:this.loginType==="PWD"?"PASSWORD":"SMS"},{data:o}=await r.post("/edu-oauth/userlogin",{requestType:"form",data:{...e}});u.set(i,o.token_type+" "+o.access_token);const n=await r.get("/edu-app/user/getUserInfo",{initRequest:!0});p(n.data),this.directNext()}catch(e){console.log(e)}},async onSendCode(){if(!h(this.username))return m("请输入正确的手机号码");this.imgCodeStatus=!0},onCodeSend(){this.countDownStatus=!1,this.$nextTick(()=>{this.$refs.countDownRef.start()})},onFinished(){this.countDownStatus=!0,this.$refs.countDownRef.reset()},onChange(){this.loginType==="PWD"?this.loginType="SMS":this.loginType==="SMS"&&(this.loginType="PWD")}},render(){return t("div",{class:[s.login]},[t("div",{class:s.logo},null),t(S,{class:s.container,border:!1},{default:()=>[t(a,{modelValue:this.username,"onUpdate:modelValue":e=>this.username=e,name:"手机号",placeholder:"请输入您的手机号",type:"tel",class:s["input-group"],maxlength:11,autocomplete:"off"},null),this.loginType==="PWD"?t(a,{modelValue:this.password,"onUpdate:modelValue":e=>this.password=e,type:"password",name:"密码",class:s["input-group"],placeholder:"请输入密码",autocomplete:"off"},null):t(a,{modelValue:this.smsCode,"onUpdate:modelValue":e=>this.smsCode=e,name:"验证码",placeholder:"请输入验证码",type:"tel",class:s["input-group"],maxlength:6,autocomplete:"off"},{button:()=>this.countDownStatus?t("span",{class:s.codeText,onClick:this.onSendCode},[d("获取验证码")]):t(C,{ref:"countDownRef","auto-start":!1,time:this.countDownTime,onFinish:this.onFinished,format:"ss秒"},null)})]}),t("div",{class:s.margin34},[t(g,{round:!0,block:!0,disabled:this.codeDisable,onClick:this.onLogin},{default:()=>[d("提交")]}),t("span",{class:s["login-change"],onClick:this.onChange},[this.loginType==="PWD"?"验证码登录":"密码登录"])]),this.imgCodeStatus?t(f,{value:this.imgCodeStatus,"onUpdate:value":e=>this.imgCodeStatus=e,phone:this.username,onClose:()=>{this.imgCodeStatus=!1},onSendCode:this.onCodeSend},null):null])}});export{P as default};