|
@@ -36,8 +36,8 @@
|
|
</v-btn>
|
|
</v-btn>
|
|
<div class="login-tips mt-3">
|
|
<div class="login-tips mt-3">
|
|
{{ $t('login.agreeLogin') }}
|
|
{{ $t('login.agreeLogin') }}
|
|
- <span class="color" style="cursor: pointer;" @click="handleToUserAgreement"> [{{ $t('login.userAgreement') }}] </span>和
|
|
|
|
- <span class="color" style="cursor: pointer;" @click="handlePrivacyPolicy">[{{ $t('login.privacyPolicy') }}]</span>
|
|
|
|
|
|
+ <span class="color" style="cursor: pointer;" @click="router.push('/userAgreement')"> [{{ $t('login.userAgreement') }}] </span>和
|
|
|
|
+ <span class="color" style="cursor: pointer;" @click="router.push('/privacyPolicy')">[{{ $t('login.privacyPolicy') }}]</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@@ -45,15 +45,16 @@
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script setup>
|
|
<script setup>
|
|
|
|
+defineOptions({ name: 'login-index' })
|
|
import { ref } from 'vue'
|
|
import { ref } from 'vue'
|
|
import passwordFrom from './components/passwordPage.vue'
|
|
import passwordFrom from './components/passwordPage.vue'
|
|
import phoneFrom from '@/components/VerificationCode'
|
|
import phoneFrom from '@/components/VerificationCode'
|
|
import { useUserStore } from '@/store/user'
|
|
import { useUserStore } from '@/store/user'
|
|
import { useRouter } from 'vue-router'
|
|
import { useRouter } from 'vue-router'
|
|
import { useI18n } from '@/hooks/web/useI18n'
|
|
import { useI18n } from '@/hooks/web/useI18n'
|
|
|
|
+import { getEnterpriseRegisterApply } from '@/api/common'
|
|
import Snackbar from '@/plugins/snackbar'
|
|
import Snackbar from '@/plugins/snackbar'
|
|
import Confirm from '@/plugins/confirm'
|
|
import Confirm from '@/plugins/confirm'
|
|
-defineOptions({ name: 'login-index' })
|
|
|
|
|
|
|
|
const { t } = useI18n()
|
|
const { t } = useI18n()
|
|
const router = useRouter()
|
|
const router = useRouter()
|
|
@@ -65,6 +66,16 @@ const passRef = ref()
|
|
const loginLoading = ref(false)
|
|
const loginLoading = ref(false)
|
|
const userStore = useUserStore()
|
|
const userStore = useUserStore()
|
|
|
|
|
|
|
|
+const handleCheckEnterprise = async () => {
|
|
|
|
+ const data = await getEnterpriseRegisterApply(passRef.value.loginData.phone)
|
|
|
|
+ if (data && Object.keys(data).length) {
|
|
|
|
+ // 查看申请状态
|
|
|
|
+ localStorage.setItem('entRegisterData', JSON.stringify(data))
|
|
|
|
+ localStorage.setItem('loginAccount', data.phone)
|
|
|
|
+ router.push({ path: '/recruit/entRegister/inReview', query: { type: 'noLoginToRegister', noLogin: true } })
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+
|
|
const handleLogin = async () => {
|
|
const handleLogin = async () => {
|
|
const { valid } = tab.value === 1 ? await phoneRef.value.phoneForm.validate() : await passRef.value.passwordForm.validate()
|
|
const { valid } = tab.value === 1 ? await phoneRef.value.phoneForm.validate() : await passRef.value.passwordForm.validate()
|
|
if (!valid) return
|
|
if (!valid) return
|
|
@@ -80,7 +91,6 @@ const handleLogin = async () => {
|
|
const isEnterprise = pattern.test(params.phone)
|
|
const isEnterprise = pattern.test(params.phone)
|
|
params.isEnterprise = isEnterprise
|
|
params.isEnterprise = isEnterprise
|
|
}
|
|
}
|
|
- // if (params.isEnterprise) router.push({ path: '/enterpriseVerification' }) // 先跳转到会使用企业token的路由
|
|
|
|
await userStore[api](params)
|
|
await userStore[api](params)
|
|
// 跳转
|
|
// 跳转
|
|
if (params.isEnterprise) return // 企业邮箱登录
|
|
if (params.isEnterprise) return // 企业邮箱登录
|
|
@@ -88,6 +98,13 @@ const handleLogin = async () => {
|
|
router.push({ path: '/recruitHome' })
|
|
router.push({ path: '/recruitHome' })
|
|
|
|
|
|
} catch (err) {
|
|
} catch (err) {
|
|
|
|
+ if (!err.code) return
|
|
|
|
+ // 企业注册申请中
|
|
|
|
+ if (err.code === 1100021016) {
|
|
|
|
+ handleCheckEnterprise()
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ // 登录未注册过的账号跳转注册
|
|
const text = err.code === 1100016002 ? '您的手机号还未注册过' : '您的邮箱还未注册过'
|
|
const text = err.code === 1100016002 ? '您的手机号还未注册过' : '您的邮箱还未注册过'
|
|
Confirm('系统提示', `${text},去注册?`, {
|
|
Confirm('系统提示', `${text},去注册?`, {
|
|
cancelCallback: true
|
|
cancelCallback: true
|
|
@@ -99,14 +116,6 @@ const handleLogin = async () => {
|
|
loginLoading.value = false
|
|
loginLoading.value = false
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-
|
|
|
|
-// 隐私、用户协议
|
|
|
|
-const handleToUserAgreement = () => {
|
|
|
|
- router.push({ path: '/userAgreement' })
|
|
|
|
-}
|
|
|
|
-const handlePrivacyPolicy = () => {
|
|
|
|
- router.push({ path: '/privacyPolicy' })
|
|
|
|
-}
|
|
|
|
</script>
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
<style lang="scss" scoped>
|