123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166 |
- import type { FormInstance, FormRules } from 'element-plus'
- import { registerApi } from '@/api/model/user'
- import { useUserStore } from '@/stores/modules/user'
- const { isLoginAndDownloadOpen } = useLoginAndDownLoadModal()
- // const userStore = useUserStore()
- const loginForm = ref<any>({
- mail: '',
- code: '',
- })
- const emailStep = ref<number>(4)
- const selectedAccount = ref<string>('')
- const isEmailGoogle = ref<string>('')
- export default function useRegister() {
- const seconds = ref<number>(0)
- const errorCodeTxt = ref<string>('')
- const formInfo = ref<any>({
- firstName: '',
- lastName: '',
- mobile: '',
- mobileAreaCode: '+86',
- type: undefined,
- companyName: '',
- annualPurchaseAmount: undefined,
- mark: '',
- })
- const visible = computed(() => formInfo.value.type === 'suppliers')
- const nextStep = () => {
- emailStep.value++
- }
- const setEmailStep = (val: number) => {
- emailStep.value = val
- }
- const backStep = () => {
- if (emailStep.value > 0)
- emailStep.value--
- }
- // const register = async () => {
- // try {
- // const form = {
- // ...params.value,
- // purchaseCategory: params.value.purchaseCategory.join(','),
- // }
- // await registerApi(form)
- // nextStep()
- // }
- // catch (error) {
- // console.log(error)
- // }
- // }
- /**
- * 二选一选择邮箱--下一步
- */
- const onSelectEmail = () => {
- selectedAccount.value = ''
- loginForm.value.mail = ''
- nextStep()
- }
- /**
- * 选择曾经登陆过的账号--下一步
- */
- const onSelectAccount = (item: any) => {
- selectedAccount.value = item.email
- loginForm.value.mail = item.email
- emailStep.value = 1
- }
- /**
- * dao: 倒计时60秒
- */
- const countSeconds = () => {
- seconds.value = 60
- const timer = setInterval(() => {
- seconds.value--
- if (seconds.value === 0)
- clearInterval(timer)
- }, 1000)
- }
- /**
- * 邮箱--发送验证码
- */
- const getMailCode = async () => {
- try {
- if (seconds.value > 0)
- return
- // 获取验证码
- // const res = await registerApi(loginForm.value.mail)
- countSeconds()
- }
- catch (error) {
- console.error('Error sending email code:', error)
- }
- }
- /**
- * 邮箱--验证是否存在--是否与已存在google的邮箱--下一步
- * @returns
- */
- async function sendEmail(formEl: FormInstance | undefined) {
- if (!formEl)
- return
- await formEl.validate(async (valid, fields) => {
- if (valid) {
- // 验证已存在google的邮箱
- // isEmailGoogle.value = 'google' // 模拟google邮箱验证
- nextStep()
- }
- else { console.log('error submit!', fields) }
- })
- }
- /**
- * 邮箱--验证码--完成注册
- * @returns
- */
- async function finishCode(formEl: FormInstance | undefined) {
- errorCodeTxt.value = ''
- if (!formEl)
- return
- await formEl.validate(async (valid, fields) => {
- if (valid)
- await handleLogin()
- else console.log('error submit!', fields)
- })
- }
- /**
- * 登录--提交
- */
- async function handleLogin() {
- try {
- // await login(loginForm.value)
- // closeLoginModal({ status: true, isFirstLogin: true })
- isLoginAndDownloadOpen.value = false
- }
- catch (err) {
- errorCodeTxt.value = 'The code is wrong or invalid.'
- }
- }
- // ------------------------ 填写信息部分 ------------------------
- const setSubmitInfo = (formEl: FormInstance | undefined) => {
- if (!formEl)
- return
- emailStep.value = 4
- // await formEl.validate(async (valid, fields) => {
- // if (valid)
- // await handleLogin()
- // else console.log('error submit!', fields)
- // })
- }
- /**
- * 已经填写了用户信息---提交请求
- */
- const onSubmitRequest = () => {
- emailStep.value = 4
- }
- return { emailStep, visible, loginForm, formInfo, selectedAccount, setEmailStep, setSubmitInfo, onSubmitRequest, onSelectAccount, errorCodeTxt, seconds, isEmailGoogle, sendEmail, nextStep, onSelectEmail, finishCode, backStep, getMailCode }
- }
|