feat: 新增激进抢购模式

- 添加 SeckillMode 类型(标准/激进)
- 激进模式:第一轮完整校验,后续复用 CSRF 直接兑换
- 每轮开始时清空缓存,强制重新获取 CSRF
- 设置面板添加模式切换
- 缓存 30 秒有效期,CSRF 错误时自动回退标准模式
This commit is contained in:
yml2213
2026-06-26 13:58:54 +08:00
parent 385a6d882c
commit 59bd34b004
6 changed files with 181 additions and 20 deletions
@@ -12,7 +12,8 @@ const formData = ref({
logLevel: 'info',
concurrency: 80,
attempts: 1,
retryStages: [] as RetryStage[]
retryStages: [] as RetryStage[],
seckillMode: 0
})
const open = async () => {
@@ -150,6 +151,23 @@ defineExpose({ open, close })
</div>
</div>
<!-- 抢购模式 -->
<div class="form-group">
<label class="form-label">抢购模式</label>
<select v-model.number="formData.seckillMode" class="form-select">
<option :value="0">标准模式(每次完整校验)</option>
<option :value="1">激进模式(复用校验结果)</option>
</select>
<div class="form-hint">
<template v-if="formData.seckillMode === 0">
标准模式:每次兑换都执行完整校验流程(CSRF→限制检查→预兑换→兑换)
</template>
<template v-else>
激进模式:第一轮完整校验,后续轮次跳过限制检查和预兑换,直接调用兑换接口
</template>
</div>
</div>
<!-- 重试间隔配置 -->
<div class="form-group">
<label class="form-label">重试间隔策略</label>