|
@@ -0,0 +1,38 @@
|
|
|
+<!-- -->
|
|
|
+<template>
|
|
|
+ <div class="my-5">
|
|
|
+ <phoneFrom ref="phoneRef" @handleEnter="handleLogin"></phoneFrom>
|
|
|
+ <v-btn :loading="loginLoading" color="primary" class="white--text mt-5" min-width="350" @click="handleLogin">
|
|
|
+ {{ $t('login.register') }}
|
|
|
+ </v-btn>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script setup>
|
|
|
+import phoneFrom from '@/components/VerificationCode'
|
|
|
+import { useUserStore } from '@/store/user'; const userStore = useUserStore()
|
|
|
+import { ref } from 'vue'
|
|
|
+defineOptions({name: 'shareJob-login'})
|
|
|
+
|
|
|
+// 验证码登录
|
|
|
+const phoneRef = ref()
|
|
|
+const loginLoading = ref(false)
|
|
|
+
|
|
|
+const handleLogin = async () => {
|
|
|
+ localStorage.removeItem('currentRole')
|
|
|
+ const { valid } = await phoneRef.value.phoneForm.validate()
|
|
|
+ if (!valid) return
|
|
|
+ loginLoading.value = true
|
|
|
+ try {
|
|
|
+ const params = { ...phoneRef.value.loginData } // 只能验证码登录
|
|
|
+ await userStore.handleSmsLogin(params)
|
|
|
+ // Snackbar.success(t('login.loginSuccess'))
|
|
|
+ // router.push({ path })
|
|
|
+ }
|
|
|
+ finally {
|
|
|
+ loginLoading.value = false
|
|
|
+ }
|
|
|
+}
|
|
|
+</script>
|
|
|
+<style lang="scss" scoped>
|
|
|
+</style>
|