## 使用指导(立即可用) - 叠加策略(stacking_strategy) - 对“双倍概率”(effect_type=6)当前不生效;代码仅按“概率累加+统一封顶”处理(internal/service/activity/draw_with_effects.go:133-149)。 - 只有一个双倍效果时,保持默认即可(推荐填 1“累加封顶”或 0“最大值”,不影响现状)。 - 统一封顶(cap_value_x1000) - 约束“多个双倍效果合并后的总概率”的上限(单位千分)。 - 只有一个效果:填 0(不封顶)或填业务上限(如 1000=100%)。 - 多个效果:按业务上限填写,如最多 30% 则填 300(避免叠加超过 30%)。 ## 作用范围简化(改造目标) - 将前端“作用范围”改为: - 下拉选择“活动 activity_ids”(多选) - 依赖选择“期 issue_ids”(多选,基于已选活动加载期) - 可选“排除期 exclude.issue_ids”(多选) - 不再要求手写 ID,不展示分类/时间等无关选项。 ## 前端改造 - EffectEditDialog.vue - 为 effect_type=6 添加三组下拉:活动、期、排除期。 - 提交时构造简化版 scopes_json:`{ activity_ids, issue_ids, exclude: { issue_ids } }`。 - 在 UI 上为 stacking_strategy/cap_value_x1000 提供简短说明(不改后端字段)。 - EffectManagerDialog.vue - 在列表新增“作用范围”列,展示活动/期/排除期标签(已完成范围列,可保留)。 ## 数据来源与接口(不改后端) - 活动/期下拉数据: - 如果已有活动与期的接口:直接请求填充; - 如暂无接口:先用静态选项或从现有管理页可获取的列表填充,下轮再对接接口。 - 不改后端:效果保存仍通过 `admin/system_titles/:title_id/effects`,携带 `params_json` 与简化 `scopes_json`。 ## 验收 - 在管理端为“双倍概率”新增/编辑效果: - 可用下拉选择活动与期,不用手写; - 保存后列表显示范围标签; - 抽奖按选定的期过滤生效(draw_with_effects.go:85-103)。 确认后我将实施前端下拉改造与表单说明文本,并保持后端兼容。