|
@@ -1,4 +1,11 @@
|
|
|
-import { defineComponent, nextTick, onMounted, reactive, watch } from 'vue';
|
|
|
+import {
|
|
|
+ Teleport,
|
|
|
+ defineComponent,
|
|
|
+ nextTick,
|
|
|
+ onMounted,
|
|
|
+ reactive,
|
|
|
+ watch
|
|
|
+} from 'vue';
|
|
|
import styles from './login.module.less';
|
|
|
import loginLogo from './images/login-logo.png';
|
|
|
import {
|
|
@@ -14,6 +21,7 @@ import { useRouter } from 'vue-router';
|
|
|
import { storage } from '@/helpers/storage';
|
|
|
import { ACCESS_TOKEN } from '@/store/mutation-types';
|
|
|
import { setLogin } from '@/state';
|
|
|
+import MImgCode from '@/components/m-img-code';
|
|
|
|
|
|
export default defineComponent({
|
|
|
name: 'layout-code',
|
|
@@ -31,6 +39,7 @@ export default defineComponent({
|
|
|
setup(props, { emit }) {
|
|
|
const router = useRouter();
|
|
|
const forms = reactive({
|
|
|
+ imgCodeStatus: false,
|
|
|
smsCode: '',
|
|
|
showKeyboard: false,
|
|
|
countDownStatus: true,
|
|
@@ -38,24 +47,25 @@ export default defineComponent({
|
|
|
countTimer: null as any
|
|
|
});
|
|
|
|
|
|
- const onSendSms = async () => {
|
|
|
- try {
|
|
|
- await request.post('/edu-app/open/sendSms', {
|
|
|
- requestType: 'form',
|
|
|
- data: {
|
|
|
- clientId: 'cooleshow-student',
|
|
|
- type: props.isRegister ? 'REGISTER' : 'LOGIN',
|
|
|
- mobile: props.phone
|
|
|
- }
|
|
|
- });
|
|
|
- onCountDown();
|
|
|
- setTimeout(() => {
|
|
|
- showToast('验证码已发送');
|
|
|
- }, 100);
|
|
|
- } catch {
|
|
|
- forms.countDownStatus = true;
|
|
|
- }
|
|
|
- };
|
|
|
+ // const onSendSms = async () => {
|
|
|
+ // try {
|
|
|
+ // await request.post('/edu-app/open/sendSmsVerify', {
|
|
|
+ // requestType: 'form',
|
|
|
+ // data: {
|
|
|
+ // clientId: 'cooleshow-student',
|
|
|
+ // type: props.isRegister ? 'REGISTER' : 'LOGIN',
|
|
|
+ // mobile: props.phone,
|
|
|
+ // code: ''
|
|
|
+ // }
|
|
|
+ // });
|
|
|
+ // onCountDown();
|
|
|
+ // setTimeout(() => {
|
|
|
+ // showToast('验证码已发送');
|
|
|
+ // }, 100);
|
|
|
+ // } catch {
|
|
|
+ // forms.countDownStatus = true;
|
|
|
+ // }
|
|
|
+ // };
|
|
|
|
|
|
const onCountDown = () => {
|
|
|
forms.countDownStatus = false;
|
|
@@ -67,6 +77,7 @@ export default defineComponent({
|
|
|
clearInterval(forms.countTimer);
|
|
|
}
|
|
|
}, 1000);
|
|
|
+ forms.showKeyboard = true;
|
|
|
};
|
|
|
const onLogin = async () => {
|
|
|
try {
|
|
@@ -109,8 +120,9 @@ export default defineComponent({
|
|
|
|
|
|
onMounted(() => {
|
|
|
nextTick(async () => {
|
|
|
- await onSendSms();
|
|
|
- forms.showKeyboard = true;
|
|
|
+ forms.imgCodeStatus = true;
|
|
|
+ // await onSendSms();
|
|
|
+ // forms.showKeyboard = true;
|
|
|
});
|
|
|
});
|
|
|
return () => (
|
|
@@ -150,7 +162,9 @@ export default defineComponent({
|
|
|
<Button
|
|
|
type="primary"
|
|
|
round
|
|
|
- onClick={onSendSms}
|
|
|
+ onClick={() => {
|
|
|
+ forms.imgCodeStatus = true;
|
|
|
+ }}
|
|
|
class={styles.btnSend}
|
|
|
disabled={!forms.countDownStatus}>
|
|
|
重新发送
|
|
@@ -159,6 +173,21 @@ export default defineComponent({
|
|
|
</div>
|
|
|
</CellGroup>
|
|
|
</div>
|
|
|
+
|
|
|
+ {forms.imgCodeStatus ? (
|
|
|
+ <Teleport to={'body'}>
|
|
|
+ <MImgCode
|
|
|
+ zIndex={2100}
|
|
|
+ v-model:value={forms.imgCodeStatus}
|
|
|
+ phone={props.phone}
|
|
|
+ type="REGISTER"
|
|
|
+ onClose={() => {
|
|
|
+ forms.imgCodeStatus = false;
|
|
|
+ }}
|
|
|
+ onSendCode={onCountDown}
|
|
|
+ />
|
|
|
+ </Teleport>
|
|
|
+ ) : null}
|
|
|
</div>
|
|
|
);
|
|
|
}
|