一键测试权重-新增安全线杀分机制,保证测试数据合理

This commit is contained in:
2026-03-27 17:50:11 +08:00
parent 2f05ac0cd9
commit afd6113927
13 changed files with 140 additions and 45 deletions

View File

@@ -14,10 +14,25 @@
<ElAlert type="warning" :closable="false" show-icon class="weight-test-tip chain-tip">
{{ $t('page.weightTest.chainModeHint') }}
</ElAlert>
<ElAlert type="info" :closable="false" show-icon class="weight-test-tip chain-tip">
{{ $t('page.weightTest.killModeHint') }}
</ElAlert>
<ElForm :model="form" label-width="140px">
<ElFormItem :label="$t('page.weightTest.labelAnte')" prop="ante" required>
<ElInputNumber v-model="form.ante" :min="1" :step="1" style="width: 100%" />
</ElFormItem>
<ElFormItem :label="$t('page.weightTest.labelKillModeEnabled')" prop="kill_mode_enabled">
<ElSwitch v-model="form.kill_mode_enabled" />
</ElFormItem>
<ElFormItem :label="$t('page.weightTest.labelTestSafetyLine')" prop="test_safety_line">
<ElInputNumber
v-model="form.test_safety_line"
:min="0"
:step="100"
:disabled="!form.kill_mode_enabled"
style="width: 100%"
/>
</ElFormItem>
<div class="section-title">{{ $t('page.weightTest.sectionPaid') }}</div>
<ElFormItem
@@ -164,7 +179,9 @@
paid_tier_weights: { T1: 20, T2: 20, T3: 20, T4: 20, T5: 20 } as Record<string, number>,
free_tier_weights: { T1: 20, T2: 20, T3: 20, T4: 20, T5: 20 } as Record<string, number>,
paid_s_count: 100,
paid_n_count: 100
paid_n_count: 100,
kill_mode_enabled: false,
test_safety_line: 5000
})
const lotteryOptions = ref<Array<{ id: number; name: string }>>([])
/** 付费抽奖券可选档位name=default */
@@ -242,7 +259,9 @@
paid_n_count: form.paid_n_count,
free_s_count: 0,
free_n_count: 0,
chain_free_mode: true
chain_free_mode: true,
kill_mode_enabled: form.kill_mode_enabled,
test_safety_line: form.test_safety_line
}
if (form.paid_lottery_config_id != null) {
payload.paid_lottery_config_id = form.paid_lottery_config_id
@@ -266,6 +285,10 @@
ElMessage.warning(t('page.weightTest.warnPaidSpins'))
return false
}
if (form.kill_mode_enabled && (form.test_safety_line == null || form.test_safety_line < 0)) {
ElMessage.warning(t('page.weightTest.warnTestSafetyLine'))
return false
}
const needPaidTier = form.paid_lottery_config_id == null
const needFreeTier = form.free_lottery_config_id == null
if (needPaidTier) {