feat(ops): allow cross-strategy lucky gift experiments

This commit is contained in:
zhx 2026-07-17 11:45:24 +08:00
parent f6a647e0ff
commit 0be72eaff1
3 changed files with 13 additions and 11 deletions

View File

@ -180,7 +180,7 @@ export function LuckyGiftConfigDialog({ appOptions = [], config, mode = "edit",
<small> <small>
{form.app_code || "-"} / {form.pool_id || "default"} /{" "} {form.app_code || "-"} / {form.pool_id || "default"} /{" "}
{isExperiment {isExperiment
? `对照组为当前版本 v${config.rule_version ?? "-"},本表单发布为实验组新版本` ? `对照组为 ${config.strategy_version || "fixed_v2"} v${config.rule_version ?? "-"},本表单发布为实验组新版本`
: config.is_default || isCreate : config.is_default || isCreate
? "默认草稿" ? "默认草稿"
: `当前版本 v${config.rule_version ?? "-"}`} : `当前版本 v${config.rule_version ?? "-"}`}

View File

@ -171,9 +171,8 @@ export function LuckyGiftConfigSections({ appOptions, experimentMode = false, fo
onChange={(event) => onChange("pool_id", event.target.value)} onChange={(event) => onChange("pool_id", event.target.value)}
/> />
<TextField <TextField
// owner / //
// 穿 room saga dynamic_v3 // fixed_v2 dynamic_v3
disabled={experimentMode}
fullWidth fullWidth
label={<LuckyGiftFieldLabel field="strategy_version" label="策略版本" />} label={<LuckyGiftFieldLabel field="strategy_version" label="策略版本" />}
select select
@ -210,7 +209,11 @@ export function LuckyGiftConfigSections({ appOptions, experimentMode = false, fo
} }
/> />
</div> </div>
<p className="ops-field-note">修改奖池 ID 会发布到新奖池不影响原奖池</p> <p className="ops-field-note">
{experimentMode
? "对照组保持当前版本;实验组可选择 fixed_v2 或 dynamic_v3。"
: "修改奖池 ID 会发布到新奖池,不影响原奖池。"}
</p>
</section> </section>
<section <section
@ -318,8 +321,8 @@ export function LuckyGiftConfigSections({ appOptions, experimentMode = false, fo
/> />
</div> </div>
<p className="ops-field-note"> <p className="ops-field-note">
V2 高水位加权奖池水位越过阈值后中奖返奖按系数放大150 表示 RTP V2 高水位加权奖池水位越过阈值后中奖返奖按系数放大150 表示 RTP 变为原来的
变为原来的 150%直到水位跌破恢复水位才恢复正常阈值填 0 表示关闭 150%直到水位跌破恢复水位才恢复正常阈值填 0 表示关闭
</p> </p>
</> </>
)} )}
@ -431,9 +434,7 @@ export function LuckyGiftConfigSections({ appOptions, experimentMode = false, fo
required required
size="small" size="small"
value={form.jackpot_multipliers} value={form.jackpot_multipliers}
onChange={(event) => onChange={(event) => onChange("jackpot_multipliers", event.target.value)}
onChange("jackpot_multipliers", event.target.value)
}
/> />
<NumberField <NumberField
form={form} form={form}

View File

@ -12,7 +12,8 @@ export function LuckyGiftExperimentFields({ disabled = false, draft, onChange })
<h3>实验设置</h3> <h3>实验设置</h3>
<span> <span>
创建实验会把下方配置原子发布为实验组新版本当前最新启用版本自动成为对照组按用户 ID 创建实验会把下方配置原子发布为实验组新版本当前最新启用版本自动成为对照组按用户 ID
哈希分流放量单调调大不会把已进入实验组的用户踢回实验进行中该奖池的常规发布会被拒绝 哈希分流实验组可与对照组选择不同策略fixed_v2 / dynamic_v3放量单调调大不会把已进入
实验组的用户踢回实验进行中该奖池的常规发布会被拒绝
</span> </span>
</div> </div>
<div className="ops-form-grid ops-experiment-setup__grid"> <div className="ops-form-grid ops-experiment-setup__grid">