| 
					
				 | 
			
			
				@@ -1,170 +1,170 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import { defineComponent } from "vue";
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import { CellGroup, Field, Button, CountDown, Row, Col, Toast } from "vant";
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import ImgCode from "@/components/col-img-code";
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import { checkPhone } from "@/helpers/validate";
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import request from "@/helpers/request";
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import { setLogin, state } from "@/state";
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import { removeAuth, setAuth } from "@/helpers/utils";
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import styles from "./login.module.less";
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-type loginType = 'PWD' | 'SMS';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-export default defineComponent({
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  name: 'login',
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  data() {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    return {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      loginType: 'SMS' as loginType,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      username: '',
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      password: '',
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      smsCode: '',
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      countDownStatus: true, // 是否发送验证码
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      countDownTime: 1000 * 120, // 倒计时时间
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      countDownRef: null as any, // 倒计时实例
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      imgCodeStatus: false,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  },
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  computed: {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    codeDisable() {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      let status = true;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      if (this.loginType === 'PWD') {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.username && this.password && (status = false);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      } else {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.username && this.smsCode && (status = false);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      return status;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    },
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  },
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  mounted() {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    removeAuth();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    this.directNext();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  },
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  methods: {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    directNext() {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      if (state.user.status === "login" || state.user.status === "error") {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        const { returnUrl, isRegister, ...rest } = this.$route.query;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.$router.replace({
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          path: returnUrl as any,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          query: {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            ...rest,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          },
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        });
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    },
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    async onLogin() {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      try {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let res: any;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (this.loginType === 'PWD') {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          res = await request.post('/api-auth/usernameLogin', {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            data: {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              username: this.username,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              password: this.password,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              clientId: 'student',
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              clientSecret: 'student'
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          });
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } else {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          res = await request.post('/api-auth/smsLogin', {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            data: {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              clientId: 'student',
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              clientSecret: 'student',
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              phone: this.username,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              smsCode: this.smsCode,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              channel: 'H5'
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          });
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        const { authentication } = res.data;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        setAuth(authentication.token_type + " " + authentication.access_token);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let userCash = await request.get('/api-student/userCashAccount/get', {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          initRequest: true // 初始化接口
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        })
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        setLogin(userCash.data)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.directNext();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      } catch {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    },
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    async onSendCode() { // 发送验证码
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      if(!checkPhone(this.username)) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return Toast('请输入正确的手机号码');
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      this.imgCodeStatus = true
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    },
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    onCodeSend() {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      this.countDownStatus = false;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      this.countDownRef.start();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    },
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    onFinished() {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      this.countDownStatus = true;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      this.countDownRef.reset();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    },
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    onChange() {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      if (this.loginType === 'PWD') {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.loginType = 'SMS'
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      } else if (this.loginType === 'SMS') {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.loginType = 'PWD'
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    },
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  },
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  render() {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    return (
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      <div class={styles.login}>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <div class={styles.loginTitle}>您好,<br /> 欢迎使用酷乐秀</div>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <CellGroup class={styles.margin34} border={false}>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <Row style={{ marginBottom: '16px' }}>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <Col span={24} class={styles.formTitle}>手机号</Col>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <Col span={24} class="van-hairline--bottom">
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <Field
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                v-model={this.username}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                name="手机号"
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                placeholder="请输入您的手机号"
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                type="tel"
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                maxlength={11}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              />
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            </Col>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          </Row>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          {this.loginType === 'PWD' ? <Row>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <Col span={24} class={styles.formTitle}>密码</Col>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <Col span={24} class="van-hairline--bottom">
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <Field
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                v-model={this.password}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                type="password"
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                name="密码"
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                placeholder="请输入密码"
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              />
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            </Col>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          </Row> : <Row>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <Col span={24} class={styles.formTitle}>密码</Col>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <Col span={24} class="van-hairline--bottom">
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <Field
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                v-model={this.smsCode}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                name="验证码"
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                placeholder="请输入验证码"
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                type="tel"
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                maxlength={6}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                // @ts-ignore
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                vSlots={{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  button: () => (
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    this.countDownStatus ? <span class={styles.codeText} onClick={this.onSendCode}>获取验证码</span> : <CountDown ref={this.countDownRef} auto-start={false} time={this.countDownTime} onFinish={this.onFinished} format="ss秒" />
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  )
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              />
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            </Col>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          </Row>}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        </CellGroup>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <div class={styles.margin34}>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <Button round block type="primary" disabled={this.codeDisable} onClick={this.onLogin}>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            提交
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          </Button>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <Button block round color="#F5F7FB" onClick={this.onChange}>{this.loginType === 'PWD' ? '验证码登录' : '密码登录'}</Button>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        </div>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        {this.imgCodeStatus ? <ImgCode v-model:value={this.imgCodeStatus} phone={this.username} onClose={() => { this.imgCodeStatus = false }} onSendCode={this.onCodeSend} /> : null}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      </div>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    )
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { defineComponent } from "vue"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { CellGroup, Field, Button, CountDown, Row, Col, Toast } from "vant"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import ImgCode from "@/components/col-img-code"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { checkPhone } from "@/helpers/validate"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import request from "@/helpers/request"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { setLogin, state } from "@/state"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { removeAuth, setAuth } from "@/helpers/utils"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import styles from "./login.module.less"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+type loginType = 'PWD' | 'SMS'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  name: 'login', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  data() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      loginType: 'SMS' as loginType, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      username: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      password: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      smsCode: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      countDownStatus: true, // 是否发送验证码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      countDownTime: 1000 * 120, // 倒计时时间 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      countDownRef: null as any, // 倒计时实例 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      imgCodeStatus: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  computed: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    codeDisable() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let status = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (this.loginType === 'PWD') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.username && this.password && (status = false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.username && this.smsCode && (status = false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return status; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  mounted() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    removeAuth(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    this.directNext(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  methods: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    directNext() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (state.user.status === "login" || state.user.status === "error") { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const { returnUrl, isRegister, ...rest } = this.$route.query; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.$router.replace({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          path: returnUrl as any, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          query: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ...rest, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    async onLogin() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let res: any; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (this.loginType === 'PWD') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          res = await request.post('/api-auth/usernameLogin', { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            data: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              username: this.username, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              password: this.password, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              clientId: 'student', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              clientSecret: 'student' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          res = await request.post('/api-auth/smsLogin', { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            data: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              clientId: 'student', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              clientSecret: 'student', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              phone: this.username, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              smsCode: this.smsCode, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              channel: 'H5' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const { authentication } = res.data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        setAuth(authentication.token_type + " " + authentication.access_token); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let userCash = await request.get('/api-student/userCashAccount/get', { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          initRequest: true // 初始化接口 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        setLogin(userCash.data) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.directNext(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } catch { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    async onSendCode() { // 发送验证码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!checkPhone(this.username)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return Toast('请输入正确的手机号码'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.imgCodeStatus = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    onCodeSend() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.countDownStatus = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.countDownRef.start(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    onFinished() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.countDownStatus = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.countDownRef.reset(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    onChange() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (this.loginType === 'PWD') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.loginType = 'SMS' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } else if (this.loginType === 'SMS') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.loginType = 'PWD' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  render() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <div class={styles.login}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div class={styles.loginTitle}>您好,<br /> 欢迎使用酷乐秀</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <CellGroup class={styles.margin34} border={false}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <Row style={{ marginBottom: '16px' }}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <Col span={24} class={styles.formTitle}>手机号</Col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <Col span={24} class="van-hairline--bottom"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <Field 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                v-model={this.username} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                name="手机号" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                placeholder="请输入您的手机号" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                type="tel" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                maxlength={11} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </Col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </Row> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          {this.loginType === 'PWD' ? <Row> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <Col span={24} class={styles.formTitle}>密码</Col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <Col span={24} class="van-hairline--bottom"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <Field 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                v-model={this.password} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                type="password" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                name="密码" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                placeholder="请输入密码" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </Col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </Row> : <Row> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <Col span={24} class={styles.formTitle}>密码</Col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <Col span={24} class="van-hairline--bottom"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <Field 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                v-model={this.smsCode} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                name="验证码" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                placeholder="请输入验证码" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                type="tel" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                maxlength={6} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                // @ts-ignore 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                vSlots={{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  button: () => ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    this.countDownStatus ? <span class={styles.codeText} onClick={this.onSendCode}>获取验证码</span> : <CountDown ref={this.countDownRef} auto-start={false} time={this.countDownTime} onFinish={this.onFinished} format="ss秒" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </Col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </Row>} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </CellGroup> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div class={styles.margin34}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <Button round block type="primary" disabled={this.codeDisable} onClick={this.onLogin}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            提交 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </Button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <Button block round color="#F5F7FB" onClick={this.onChange}>{this.loginType === 'PWD' ? '验证码登录' : '密码登录'}</Button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        {this.imgCodeStatus ? <ImgCode v-model:value={this.imgCodeStatus} phone={this.username} onClose={() => { this.imgCodeStatus = false }} onSendCode={this.onCodeSend} /> : null} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}) 
			 |