diff --git a/src/views/home/modules/card-data.vue b/src/views/home/modules/card-data.vue index 6da5327..2d6389e 100644 --- a/src/views/home/modules/card-data.vue +++ b/src/views/home/modules/card-data.vue @@ -2,12 +2,11 @@ import { ref, computed, onMounted, onUnmounted } from 'vue'; import { useBillingStore } from '@/store/modules/billing/billing'; import { useI18n } from 'vue-i18n'; -import { useFormRules } from '@/hooks/common/form'; +import { submitOrder } from '@/service/api/auth'; +import { message } from 'ant-design-vue'; import type { Ref } from 'vue'; -import type { Rule } from 'ant-design-vue/es/form'; const { t } = useI18n(); -const { patternRules } = useFormRules(); interface RechargeOption { amount: number; @@ -15,8 +14,6 @@ interface RechargeOption { price: number; } -const emailAddress = ref(''); -const emailError = ref(''); const customAmount = ref(undefined); const selectedAmount = ref(null); const isCustomMode = ref(false); @@ -81,57 +78,32 @@ onUnmounted(() => { const balance = computed(() => billingStore.balance); -// 创建邮箱验证规则,将 trigger 改为 'blur' -const emailRules = computed(() => [ - { required: true, message: t('page.login.register.emailRequired'), trigger: 'blur' }, - patternRules.email // 预定义规则已经设置为 blur 触发 -]); - -// 移除 change 事件处理,改用 blur 事件处理 -const handleEmailBlur = async (e: FocusEvent) => { - const target = e.target as HTMLInputElement; - emailAddress.value = target.value; +// 修改充值处理方法,移除邮箱验证 +const handleRecharge = async () => { + // 验证金额 + if (!paymentAmount.value || paymentAmount.value <= 0) { + message.error('请选择或输入正确的充值金额'); + return; + } try { - // 使用验证规则进行验证 - await Promise.all(emailRules.value.map(rule => { - if (rule.validator) { - return rule.validator(rule, target.value, () => {}); - } - if (rule.pattern) { - if (!rule.pattern.test(target.value)) { - throw rule.message; - } - } - return Promise.resolve(); - })); - emailError.value = ''; + await submitOrder({ + type: 1, + orderAmount: paymentAmount.value + }); + message.success('充值订单提交成功!'); + + // 更新余额,传入充值金额 + await billingStore.updateBalance(paymentAmount.value); } catch (error) { - emailError.value = error as string; + message.error('充值失败,请重试!'); + console.error('Failed to submit recharge order:', error); } };