From 1b835ba52d22fe5cd30df7619bfae63187d9a673 Mon Sep 17 00:00:00 2001 From: zhx Date: Sat, 16 May 2026 22:36:25 +0800 Subject: [PATCH] fix: simplify badge resource form --- .../components/resource-config-modal.vue | 72 +------------------ 1 file changed, 2 insertions(+), 70 deletions(-) diff --git a/apps/src/views/props/components/resource-config-modal.vue b/apps/src/views/props/components/resource-config-modal.vue index 253d77b..ee33810 100644 --- a/apps/src/views/props/components/resource-config-modal.vue +++ b/apps/src/views/props/components/resource-config-modal.vue @@ -25,7 +25,6 @@ import { import { BADGE_DISPLAY_TYPE_OPTIONS, - BADGE_TYPE_OPTIONS, NOBLE_VIP_OPTIONS, PROPS_RESOURCE_CONFIG_TYPES, } from '../shared'; @@ -56,14 +55,10 @@ const form = reactive>({ adminFree: false, amount: '', badgeDisplayType: 'SHORT', - badgeKey: '', - badgeLevel: '', - badgeType: 'ACTIVITY', code: '', cover: '', expand: '', id: '', - milestone: '', name: '', notSelectUrl: '', sourceUrl: '', @@ -103,12 +98,6 @@ const nobleVipNameOptions = NOBLE_VIP_OPTIONS.map((item) => ({ label: item.name, value: item.value as any, })); -const badgeTypeOptions = BADGE_TYPE_OPTIONS.filter((item) => - ['VIP', 'ACHIEVEMENT', 'ACTIVITY'].includes(String(item.value)), -).map((item) => ({ - label: item.name, - value: item.value as any, -})); const badgeDisplayTypeOptions = BADGE_DISPLAY_TYPE_OPTIONS.map((item) => ({ label: item.name, value: item.value as any, @@ -127,31 +116,17 @@ function parseBadgeExpand(value: unknown) { function applyBadgeExpand(value: unknown) { const expand = parseBadgeExpand(value); - form.badgeKey = expand.badgeKey ?? ''; - form.badgeLevel = expand.badgeLevel ?? ''; - form.badgeType = expand.badgeType || 'ACTIVITY'; form.badgeDisplayType = normalizeBadgeDisplayType( expand.badgeDisplayType || expand.displayType, - form.badgeType, + expand.badgeType, ); - form.milestone = expand.milestone ?? ''; form.notSelectUrl = expand.notSelectUrl ?? ''; } function buildBadgeExpand() { const expand: Record = { - badgeDisplayType: normalizeBadgeDisplayType(form.badgeDisplayType, form.badgeType), - badgeType: form.badgeType || 'ACTIVITY', + badgeDisplayType: normalizeBadgeDisplayType(form.badgeDisplayType), }; - if (String(form.badgeKey || '').trim()) { - expand.badgeKey = String(form.badgeKey).trim(); - } - if (String(form.badgeLevel || '').trim()) { - expand.badgeLevel = Number(form.badgeLevel); - } - if (String(form.milestone || '').trim()) { - expand.milestone = Number(form.milestone); - } if (String(form.notSelectUrl || '').trim()) { expand.notSelectUrl = String(form.notSelectUrl).trim(); } @@ -170,14 +145,10 @@ function resetForm() { form.adminFree = false; form.amount = ''; form.badgeDisplayType = 'SHORT'; - form.badgeKey = ''; - form.badgeLevel = ''; - form.badgeType = 'ACTIVITY'; form.code = ''; form.cover = ''; form.expand = ''; form.id = ''; - form.milestone = ''; form.name = ''; form.notSelectUrl = ''; form.sourceUrl = ''; @@ -229,9 +200,6 @@ watch( form.sourceUrl = ''; form.expand = ''; } - if (value === 'BADGE' && !form.badgeType) { - form.badgeType = 'ACTIVITY'; - } if (value === 'BADGE' && !form.badgeDisplayType) { form.badgeDisplayType = 'SHORT'; } @@ -307,30 +275,10 @@ function validateForm() { message.warning('请选择类型'); return false; } - if (form.type === 'BADGE' && !form.badgeType) { - message.warning('请选择徽章类型'); - return false; - } if (form.type === 'BADGE' && !form.badgeDisplayType) { message.warning('请选择徽章展示形态'); return false; } - if ( - form.type === 'BADGE' && - String(form.badgeLevel || '').trim() && - Number.isNaN(Number(form.badgeLevel)) - ) { - message.warning('请输入正确的徽章等级'); - return false; - } - if ( - form.type === 'BADGE' && - String(form.milestone || '').trim() && - Number.isNaN(Number(form.milestone)) - ) { - message.warning('请输入正确的成就里程碑'); - return false; - } if (!String(form.cover || '').trim()) { message.warning('请上传封面'); return false; @@ -418,22 +366,6 @@ async function handleSubmit() { option-label-prop="label" /> - - - - - - - - -