|
|
@@ -74,61 +74,6 @@
|
|
|
登录
|
|
|
</n-button>
|
|
|
</n-tab-pane>
|
|
|
- <!-- <n-tab-pane
|
|
|
- name="codelogin"
|
|
|
- tab="免密登录"
|
|
|
- >
|
|
|
- <n-form
|
|
|
- ref="registerFormRef"
|
|
|
- label-placement="left"
|
|
|
- size="large"
|
|
|
- :model="registerForm"
|
|
|
- :rules="registerRules"
|
|
|
- >
|
|
|
- <n-form-item path="email">
|
|
|
- <n-input
|
|
|
- v-model:value="registerForm.email"
|
|
|
- placeholder="请输入邮箱"
|
|
|
- >
|
|
|
- <template #prefix>
|
|
|
- <n-icon
|
|
|
- size="20"
|
|
|
- class="lang"
|
|
|
- >
|
|
|
- <MailOutline></MailOutline>
|
|
|
- </n-icon>
|
|
|
- </template>
|
|
|
- </n-input>
|
|
|
- </n-form-item>
|
|
|
- <n-form-item path="code">
|
|
|
- <n-input-group>
|
|
|
- <n-input
|
|
|
- v-model:value="registerForm.code"
|
|
|
- placeholder="请输入验证码"
|
|
|
- @keyup.enter="handleRegisterSubmit"
|
|
|
- />
|
|
|
- <n-button
|
|
|
- type="primary"
|
|
|
- ghost
|
|
|
- :disabled="downCount !== 0"
|
|
|
- :loading="sendCodeLoading"
|
|
|
- @click="sendCode()"
|
|
|
- >
|
|
|
- 发送{{ downCount !== 0 ? `(${downCount})` : '' }}
|
|
|
- </n-button>
|
|
|
- </n-input-group>
|
|
|
- </n-form-item>
|
|
|
- </n-form>
|
|
|
- <n-button
|
|
|
- type="primary"
|
|
|
- block
|
|
|
- secondary
|
|
|
- strong
|
|
|
- @click="handleRegisterSubmit"
|
|
|
- >
|
|
|
- 登录
|
|
|
- </n-button>
|
|
|
- </n-tab-pane> -->
|
|
|
</n-tabs>
|
|
|
</n-card>
|
|
|
<div class="other-login">
|
|
|
@@ -160,9 +105,7 @@
|
|
|
<script lang="ts" setup>
|
|
|
import { LockClosedOutline, PersonOutline } from '@vicons/ionicons5';
|
|
|
import { ref } from 'vue';
|
|
|
-import { useRoute, useRouter } from 'vue-router';
|
|
|
|
|
|
-import { fetchSendLoginCode, fetchSendRegisterCode } from '@/api/emailUser';
|
|
|
import { useQQLogin } from '@/hooks/use-login';
|
|
|
import { useAppStore } from '@/store/app';
|
|
|
import { useUserStore } from '@/store/user';
|
|
|
@@ -171,13 +114,7 @@ const loginRules = {
|
|
|
id: { required: true, message: '请输入账号', trigger: 'blur' },
|
|
|
password: { required: true, message: '请输入密码', trigger: 'blur' },
|
|
|
};
|
|
|
-const registerRules = {
|
|
|
- email: { required: true, message: '请输入邮箱', trigger: 'blur' },
|
|
|
- code: { required: true, message: '请输入验证码', trigger: 'blur' },
|
|
|
-};
|
|
|
|
|
|
-const router = useRouter();
|
|
|
-const route = useRoute();
|
|
|
const userStore = useUserStore();
|
|
|
const appStore = useAppStore();
|
|
|
|
|
|
@@ -190,10 +127,7 @@ const registerForm = ref({
|
|
|
code: '',
|
|
|
});
|
|
|
const loginFormRef = ref(null);
|
|
|
-const registerFormRef = ref(null);
|
|
|
const currentTab = ref('pwdlogin');
|
|
|
-const sendCodeLoading = ref(false);
|
|
|
-const downCount = ref(0);
|
|
|
|
|
|
const emits = defineEmits(['close']);
|
|
|
|
|
|
@@ -228,15 +162,6 @@ const handleLogin = async () => {
|
|
|
appStore.showLoginModal = false;
|
|
|
}
|
|
|
};
|
|
|
-const handleRegister = async () => {
|
|
|
- const { token } = await userStore.register({
|
|
|
- email: registerForm.value.email,
|
|
|
- code: registerForm.value.code,
|
|
|
- });
|
|
|
- if (token) {
|
|
|
- window.$message.success('注册成功!');
|
|
|
- }
|
|
|
-};
|
|
|
const handleLoginSubmit = (e) => {
|
|
|
e.preventDefault();
|
|
|
// @ts-ignore
|
|
|
@@ -246,44 +171,6 @@ const handleLoginSubmit = (e) => {
|
|
|
}
|
|
|
});
|
|
|
};
|
|
|
-const handleRegisterSubmit = (e) => {
|
|
|
- e.preventDefault();
|
|
|
- // @ts-ignore
|
|
|
- registerFormRef.value.validate((errors) => {
|
|
|
- if (!errors) {
|
|
|
- if (currentTab.value === 'register') {
|
|
|
- handleRegister();
|
|
|
- } else {
|
|
|
- handleLogin();
|
|
|
- }
|
|
|
- }
|
|
|
- });
|
|
|
-};
|
|
|
-/** 发送验证码 */
|
|
|
-const sendCode = async () => {
|
|
|
- if (registerForm.value.email === '')
|
|
|
- return window.$message.warning('请输入邮箱!');
|
|
|
- try {
|
|
|
- sendCodeLoading.value = true;
|
|
|
- if (currentTab.value === 'codelogin') {
|
|
|
- await fetchSendLoginCode(registerForm.value.email);
|
|
|
- } else {
|
|
|
- await fetchSendRegisterCode(registerForm.value.email);
|
|
|
- }
|
|
|
- sendCodeLoading.value = false;
|
|
|
- window.$message.success('发送成功!');
|
|
|
- downCount.value = 60;
|
|
|
- const timer = setInterval(() => {
|
|
|
- downCount.value -= 1;
|
|
|
- if (downCount.value === 0) {
|
|
|
- clearInterval(timer);
|
|
|
- }
|
|
|
- }, 1000);
|
|
|
- } catch (error: any) {
|
|
|
- sendCodeLoading.value = false;
|
|
|
- console.log(error);
|
|
|
- }
|
|
|
-};
|
|
|
const tabChange = (v) => {
|
|
|
currentTab.value = v;
|
|
|
};
|