perf: 登录逻辑调整
This commit is contained in:
@ -108,7 +108,6 @@ import { computed, onUnmounted, reactive, ref } from 'vue';
|
||||
import { useUserStore } from '@/stores';
|
||||
import { useEnterpriseStore } from '@/stores/modules/enterprise';
|
||||
import { handleUserLogin } from '@/utils/user';
|
||||
import router from '@/router';
|
||||
import { useRoute } from 'vue-router';
|
||||
|
||||
import icon1 from '@/assets/img/login/icon-close.png';
|
||||
@ -265,24 +264,18 @@ const onTabChange = () => {
|
||||
const getProfileInfo = async () => {
|
||||
const { code, data } = await fetchProfileInfo();
|
||||
if (code === 200) {
|
||||
userStore.setUserInfo(data);
|
||||
// 已开通
|
||||
if (userStore.isOpenEnterprise) {
|
||||
const enterprises = data['enterprises'];
|
||||
mobileNumber.value = data['mobile'];
|
||||
accounts.value = enterprises;
|
||||
const enterprises = data['enterprises'];
|
||||
mobileNumber.value = data['mobile'];
|
||||
accounts.value = enterprises;
|
||||
|
||||
if (enterprises.length > 0) {
|
||||
enterpriseStore.setEnterpriseInfo(data.enterprises[0]);
|
||||
if (enterprises.length === 1) {
|
||||
handleUserLogin();
|
||||
} else {
|
||||
// 多个企业时候需要弹窗让用户选择企业
|
||||
selectAccountModalRef.value.open();
|
||||
}
|
||||
if (enterprises.length > 0) {
|
||||
enterpriseStore.setEnterpriseInfo(data.enterprises[0]);
|
||||
if (enterprises.length === 1) {
|
||||
handleUserLogin();
|
||||
} else {
|
||||
// 多个企业时候需要弹窗让用户选择企业
|
||||
selectAccountModalRef.value.open();
|
||||
}
|
||||
} else {
|
||||
router.push({ name: 'Trial' });
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@ -85,37 +85,30 @@
|
||||
</template>
|
||||
|
||||
<script setup lang="js">
|
||||
import {
|
||||
Checkbox,
|
||||
Modal,
|
||||
Button,
|
||||
Form,
|
||||
FormItem,
|
||||
Input,
|
||||
Space,
|
||||
message,
|
||||
Typography,
|
||||
Card,
|
||||
List,
|
||||
Tabs,
|
||||
} from 'ant-design-vue';
|
||||
const { Link } = Typography;
|
||||
const { TabPane } = Tabs;
|
||||
import { Button, Checkbox, Form, FormItem, Input, message, Tabs, Typography } from 'ant-design-vue';
|
||||
import PuzzleVerification from '../PuzzleVerification.vue';
|
||||
import SelectAccountModal from '../select-account-modal/index.vue';
|
||||
import { postClearRateLimiter } from '@/api/all/common';
|
||||
import { postRegisterCaptcha,postForgetPasswordCaptcha, fetchProfileInfo, postRegister, postForgetPassword } from '@/api/all/login';
|
||||
import {
|
||||
fetchProfileInfo,
|
||||
postForgetPassword,
|
||||
postForgetPasswordCaptcha,
|
||||
postRegister,
|
||||
postRegisterCaptcha,
|
||||
} from '@/api/all/login';
|
||||
import { joinEnterpriseByInviteCode } from '@/api/all';
|
||||
import { ref, reactive, onUnmounted, computed } from 'vue';
|
||||
import { computed, onUnmounted, ref } from 'vue';
|
||||
import { useUserStore } from '@/stores';
|
||||
import { useEnterpriseStore } from '@/stores/modules/enterprise';
|
||||
import { handleUserLogin, goUserLogin } from '@/utils/user';
|
||||
import router from '@/router';
|
||||
import { handleUserLogin } from '@/utils/user';
|
||||
import { useRoute } from 'vue-router';
|
||||
|
||||
import icon1 from '@/assets/img/login/icon-close.png';
|
||||
import icon2 from '@/assets/img/login/icon-open.png';
|
||||
|
||||
const { Link } = Typography;
|
||||
const { TabPane } = Tabs;
|
||||
|
||||
const setPageType = inject('setPageType');
|
||||
const pageType = inject('pageType');
|
||||
|
||||
@ -173,9 +166,9 @@ const formRules = {
|
||||
// if (value.length < 6) {
|
||||
// return Promise.reject('密码长度不能小于6位');
|
||||
// }
|
||||
if(formData.value.confirm_password) {
|
||||
formRef.value.validateFields('confirm_password');
|
||||
}
|
||||
if (formData.value.confirm_password) {
|
||||
formRef.value.validateFields('confirm_password');
|
||||
}
|
||||
return Promise.resolve();
|
||||
},
|
||||
trigger: ['blur'],
|
||||
@ -268,7 +261,7 @@ const getCaptcha = async () => {
|
||||
const fn = isResetPassword.value ? postForgetPasswordCaptcha : postRegisterCaptcha;
|
||||
const { code, message: msg } = await fn({ mobile: formData.value.mobile });
|
||||
if (code === 200) {
|
||||
startCountdown()
|
||||
startCountdown();
|
||||
message.success(msg);
|
||||
}
|
||||
} catch (error) {
|
||||
@ -293,26 +286,19 @@ const handleVerificationSubmit = async () => {
|
||||
const getProfileInfo = async () => {
|
||||
const { code, data } = await fetchProfileInfo();
|
||||
if (code === 200) {
|
||||
userStore.setUserInfo(data);
|
||||
const enterprises = data['enterprises'];
|
||||
mobileNumber.value = data['mobile'];
|
||||
accounts.value = enterprises;
|
||||
|
||||
// 已开通
|
||||
if (userStore.isOpenEnterprise) {
|
||||
const enterprises = data['enterprises'];
|
||||
mobileNumber.value = data['mobile'];
|
||||
accounts.value = enterprises;
|
||||
|
||||
if (enterprises.length > 0) {
|
||||
enterpriseStore.setEnterpriseInfo(data.enterprises[0]);
|
||||
if (enterprises.length === 1) {
|
||||
setTimeout(() => {
|
||||
handleUserLogin();
|
||||
}, 1500);
|
||||
} else {
|
||||
selectAccountModalRef.value.open();
|
||||
}
|
||||
if (enterprises.length > 0) {
|
||||
enterpriseStore.setEnterpriseInfo(data.enterprises[0]);
|
||||
if (enterprises.length === 1) {
|
||||
setTimeout(() => {
|
||||
handleUserLogin();
|
||||
}, 1500);
|
||||
} else {
|
||||
selectAccountModalRef.value.open();
|
||||
}
|
||||
} else {
|
||||
router.push({name: 'Trial'})
|
||||
}
|
||||
}
|
||||
};
|
||||
@ -342,13 +328,14 @@ const handleSubmit = async () => {
|
||||
|
||||
if (code === 200) {
|
||||
message.success(isResetPassword.value ? '重置成功' : '注册成功');
|
||||
// 注册成功后跳转登录页
|
||||
if(!isResetPassword.value) {
|
||||
setTimeout(() => {
|
||||
setPageType('loginForm');
|
||||
}, 1500);
|
||||
return;
|
||||
};
|
||||
// 注册成功后跳转登录页
|
||||
if (!isResetPassword.value) {
|
||||
setTimeout(() => {
|
||||
setPageType('loginForm');
|
||||
}, 1500);
|
||||
return;
|
||||
}
|
||||
;
|
||||
|
||||
userStore.setToken(data.access_token);
|
||||
|
||||
@ -378,7 +365,7 @@ const startCountdown = () => {
|
||||
timer.value = setInterval(() => {
|
||||
countdown.value--;
|
||||
if (countdown.value <= 0) {
|
||||
clearInterval(timer.value );
|
||||
clearInterval(timer.value);
|
||||
timer.value = null;
|
||||
}
|
||||
}, 1000);
|
||||
|
||||
Reference in New Issue
Block a user