|
@@ -1,7 +1,7 @@
|
|
import type { FormInstance, FormRules } from 'element-plus'
|
|
import type { FormInstance, FormRules } from 'element-plus'
|
|
import { useUserStore } from '@/stores/modules/user'
|
|
import { useUserStore } from '@/stores/modules/user'
|
|
import { useCommonStore } from '@/stores/modules/common'
|
|
import { useCommonStore } from '@/stores/modules/common'
|
|
-import { getEmailCodeApi, getUpdateUserInfoApi, submitInfoApi, validateEmailIsExistApi } from '@/api/model/user'
|
|
|
|
|
|
+import { getEmailCodeApi, getUpdateUserInfoApi, submitInfoApi, validateEmailIsExistApi, validateEmailIsWorkApi } from '@/api/model/user'
|
|
|
|
|
|
const { closeLoginAndDownloadModal } = useLoginAndDownLoadModal()
|
|
const { closeLoginAndDownloadModal } = useLoginAndDownLoadModal()
|
|
const { loading, onGoogleLogin } = useGoogleLogin()
|
|
const { loading, onGoogleLogin } = useGoogleLogin()
|
|
@@ -14,7 +14,9 @@ const emailStep = ref<number>(0)
|
|
const isEmailGoogle = ref<boolean>(false)
|
|
const isEmailGoogle = ref<boolean>(false)
|
|
const selectedMethod = ref<string>('google')
|
|
const selectedMethod = ref<string>('google')
|
|
export default function useRegister() {
|
|
export default function useRegister() {
|
|
|
|
+ const errorTxt = ref<string>('')
|
|
const seconds = ref<number>(0)
|
|
const seconds = ref<number>(0)
|
|
|
|
+ const showCode = ref<boolean>(true)
|
|
const errorCodeTxt = ref<string>('')
|
|
const errorCodeTxt = ref<string>('')
|
|
const formInfo = ref<any>({
|
|
const formInfo = ref<any>({
|
|
firstName: '',
|
|
firstName: '',
|
|
@@ -91,6 +93,7 @@ export default function useRegister() {
|
|
return
|
|
return
|
|
// 获取验证码
|
|
// 获取验证码
|
|
await getEmailCodeApi({ account: loginForm.value.email, type: 's003_login' })
|
|
await getEmailCodeApi({ account: loginForm.value.email, type: 's003_login' })
|
|
|
|
+ showCode.value = false
|
|
countSeconds()
|
|
countSeconds()
|
|
}
|
|
}
|
|
catch (error) {
|
|
catch (error) {
|
|
@@ -106,17 +109,29 @@ export default function useRegister() {
|
|
return
|
|
return
|
|
await formEl.validate(async (valid, fields) => {
|
|
await formEl.validate(async (valid, fields) => {
|
|
if (valid) {
|
|
if (valid) {
|
|
- // 验证已存在google的邮箱
|
|
|
|
- const res: any = await validateEmailIsExistApi({ email: loginForm.value.email })
|
|
|
|
- if (!res || res !== 'google')
|
|
|
|
- // 如果没有google的邮箱,直接下一步,或者没有注册过邮箱
|
|
|
|
- isEmailGoogle.value = false
|
|
|
|
- if (res === 'google') {
|
|
|
|
|
|
+ try {
|
|
|
|
+ // 先验证邮箱是否有效
|
|
|
|
+ const result: any = await validateEmailIsWorkApi({ email: loginForm.value.email })
|
|
|
|
+ if (result === '2') {
|
|
|
|
+ errorTxt.value = 'The email is invalid.'
|
|
|
|
+ formEl.validateField('email')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ // 验证已存在google的邮箱
|
|
|
|
+ const res: any = await validateEmailIsExistApi({ email: loginForm.value.email })
|
|
|
|
+ if (!res || res !== 'google')
|
|
|
|
+ // 如果没有google的邮箱,直接下一步,或者没有注册过邮箱
|
|
|
|
+ isEmailGoogle.value = false
|
|
|
|
+ if (res === 'google') {
|
|
// 显示google登陆按钮
|
|
// 显示google登陆按钮
|
|
- isEmailGoogle.value = true
|
|
|
|
- loginForm.value.email = ''
|
|
|
|
|
|
+ isEmailGoogle.value = true
|
|
|
|
+ loginForm.value.email = ''
|
|
|
|
+ }
|
|
|
|
+ nextStep()
|
|
|
|
+ }
|
|
|
|
+ catch (error) {
|
|
|
|
+ console.log(error)
|
|
}
|
|
}
|
|
- nextStep()
|
|
|
|
}
|
|
}
|
|
else { console.log('error submit!', fields) }
|
|
else { console.log('error submit!', fields) }
|
|
})
|
|
})
|
|
@@ -208,5 +223,5 @@ export default function useRegister() {
|
|
emailStep.value = 4
|
|
emailStep.value = 4
|
|
}
|
|
}
|
|
|
|
|
|
- return { emailStep, visible, onGoogleLoginSuccess, loginForm, formInfo, setEmailStep, setSubmitInfo, onSubmitRequest, onSelectAccount, errorCodeTxt, seconds, isEmailGoogle, sendEmail, nextStep, onSelectEmail, finishCode, backStep, getMailCode }
|
|
|
|
|
|
+ return { emailStep, visible, errorTxt, showCode, onGoogleLoginSuccess, loginForm, formInfo, setEmailStep, setSubmitInfo, onSubmitRequest, onSelectAccount, errorCodeTxt, seconds, isEmailGoogle, sendEmail, nextStep, onSelectEmail, finishCode, backStep, getMailCode }
|
|
}
|
|
}
|