diff --git a/frontend/src/pages/agent/cards/create.vue b/frontend/src/pages/agent/cards/create.vue index b4df950..21fd987 100644 --- a/frontend/src/pages/agent/cards/create.vue +++ b/frontend/src/pages/agent/cards/create.vue @@ -5,6 +5,7 @@ import { useI18n } from 'vue-i18n' import { useRoute, useRouter } from 'vue-router' import { toast } from 'vue-sonner' +import { BasicPage } from '@/components/global-layout' import api from '@/services/api' const { t } = useI18n() @@ -21,10 +22,6 @@ const form = ref({ quantity: 1, }) -const _selectedApp = computed(() => { - return apps.value.find(a => a.id === Number(form.value.app_id)) -}) - const availableCardTypes = computed(() => { return cardTypes.value.filter(ct => ct.app_id === Number(form.value.app_id)) }) @@ -51,15 +48,15 @@ onMounted(async () => { async function handleGenerate() { if (!form.value.app_id) { - toast.error(t('agent.cards.create.selectApp')) + toast.error('请选择应用') return } if (!form.value.card_type_id) { - toast.error(t('agent.cards.create.selectCardType')) + toast.error('请选择卡类') return } if (form.value.quantity < 1 || form.value.quantity > 100) { - toast.error(t('agent.cards.create.quantityRange')) + toast.error('数量必须在1-100之间') return } @@ -71,17 +68,17 @@ async function handleGenerate() { quantity: form.value.quantity, }) - toast.success(t('agent.cards.create.generateSuccess', { count: data.codes.length })) + toast.success(`成功生成 ${data.codes.length} 张卡密`) const codesText = data.codes.join('\n') await navigator.clipboard.writeText(codesText) - toast.success(t('agent.cards.create.copiedToClipboard')) + toast.success('卡密已复制到剪贴板') router.push('/agent/cards') } catch (error: any) { console.error('Generate cards failed:', error) - toast.error(error.message || t('agent.cards.create.generateFailed')) + toast.error(error.message || '生成卡密失败') } finally { loading.value = false @@ -90,29 +87,24 @@ async function handleGenerate() { diff --git a/frontend/src/pages/agent/cards/index.vue b/frontend/src/pages/agent/cards/index.vue index 9231bdf..701b471 100644 --- a/frontend/src/pages/agent/cards/index.vue +++ b/frontend/src/pages/agent/cards/index.vue @@ -3,6 +3,7 @@ import { Key, Loader2, Plus } from 'lucide-vue-next' import { onMounted, ref } from 'vue' import { useI18n } from 'vue-i18n' +import { BasicPage } from '@/components/global-layout' import api from '@/services/api' const { t } = useI18n() @@ -51,23 +52,19 @@ function getStatusBadge(status: string) { diff --git a/frontend/src/pages/agent/finance/index.vue b/frontend/src/pages/agent/finance/index.vue index be3b29c..2c27e91 100644 --- a/frontend/src/pages/agent/finance/index.vue +++ b/frontend/src/pages/agent/finance/index.vue @@ -3,6 +3,7 @@ import { ArrowDownLeft, ArrowUpRight, Loader2, Receipt, RotateCcw } from 'lucide import { onMounted, ref } from 'vue' import { useI18n } from 'vue-i18n' +import { BasicPage } from '@/components/global-layout' import api from '@/services/api' const { t } = useI18n() @@ -40,9 +41,9 @@ function formatDate(dateStr: string) { function getTypeLabel(type: string) { const map: Record = { - recharge: t('agent.finance.recharge'), - consume: t('agent.finance.consume'), - refund: t('agent.finance.refund'), + recharge: '充值', + consume: '消费', + refund: '退款', } return map[type] || type } @@ -58,21 +59,16 @@ function getTypeClass(type: string) { diff --git a/frontend/src/pages/agent/index.vue b/frontend/src/pages/agent/index.vue index 847ba62..8f36073 100644 --- a/frontend/src/pages/agent/index.vue +++ b/frontend/src/pages/agent/index.vue @@ -1,15 +1,15 @@ diff --git a/frontend/src/pages/agent/users/index.vue b/frontend/src/pages/agent/users/index.vue index 1564856..624f87d 100644 --- a/frontend/src/pages/agent/users/index.vue +++ b/frontend/src/pages/agent/users/index.vue @@ -3,6 +3,7 @@ import { Loader2, Users } from 'lucide-vue-next' import { onMounted, ref } from 'vue' import { useI18n } from 'vue-i18n' +import { BasicPage } from '@/components/global-layout' import api from '@/services/api' const { t } = useI18n() @@ -40,16 +41,11 @@ function formatDate(dateStr: string | null) {