1.优化中奖事件统一使用bet.win订阅中奖消息

This commit is contained in:
2026-05-26 14:55:10 +08:00
parent 24f30b5ef2
commit 1b26539ac5
7 changed files with 98 additions and 46 deletions

View File

@@ -1,5 +1,5 @@
export default {
desc: 'Streak levels 110: payout = bet total × odds_factor. Jackpot rows trigger jackpot.hit on the user private channel, public-game-period, and public-operation-notice when won.',
desc: 'Streak levels 110: payout = bet total × odds_factor. All wins publish bet.win (data.is_jackpot marks jackpot tier); jackpot rows also publish public jackpot.hit.',
btn_save: 'Save',
streak: 'Streak (rounds)',
odds_factor: 'Odds factor',

View File

@@ -1,5 +1,5 @@
export default {
desc: '110 档连胜:派彩 = 压注总额 × 赔率系数odds_factor勾选「大奖」的档位在中奖时会对玩家私有频道、public-game-period 与 public-operation-notice 推送 jackpot.hit。',
desc: '110 档连胜:派彩 = 压注总额 × 赔率系数odds_factor本期中奖统一推送 bet.windata.is_jackpot 标记是否大奖档);勾选「大奖」的档位在中奖时另推送公共 jackpot.hit。',
btn_save: '保存',
streak: '连胜档(局)',
odds_factor: '赔率系数',

View File

@@ -336,6 +336,13 @@ function handleWsPayload(raw: unknown): void {
void loadSnapshot({ force: true })
return
}
if (event === 'bet.win' && parsed.data && typeof parsed.data === 'object') {
const winData = parsed.data as anyObj
if (winData.is_jackpot === true) {
ElMessage.success(t('game.live.jackpot_hit_tip'))
}
return
}
if (event === 'jackpot.hit' && parsed.data && typeof parsed.data === 'object') {
const jackpotData = parsed.data as anyObj
const hits = Array.isArray(jackpotData.hits) ? jackpotData.hits : []