feat(game): 更新马来西亚手机号验证和游戏界面优化

- 修改认证模块手机号验证规则适配马来西亚号码格式
- 添加新的投注限制提示文本支持多语言
- 重命名结算阶段标签为Drawing统一显示
- 新增桌面版动物游戏遮罩组件分离功能
- 添加回合开始投注提醒弹窗组件
- 优化开奖动画流程和视觉效果
- 添加奖励动画显示和投注汇总展示
- 新增多种投注限制和状态提示信息
This commit is contained in:
JiaJun
2026-05-30 17:22:57 +08:00
parent 54410aaac5
commit 87e8aca97d
21 changed files with 1008 additions and 492 deletions

View File

@@ -89,9 +89,12 @@ export default {
phases: {
betting: 'Betting',
locked: 'Locked',
revealing: 'Revealing',
settled: 'Settled',
},
roundBettingStart: {
title: 'Round {{roundId}}',
action: 'Start Betting',
},
actions: {
unifiedBetHint: 'Unified bet',
totalBet: 'Total bet',
@@ -253,6 +256,7 @@ export default {
inviteLinkCopyFailed:
'Failed to copy invite link. Please copy it manually.',
insufficientBalance: 'Insufficient balance. Please adjust your bet.',
betLimitExceeded: 'Single bet limit exceeded',
betUnavailable: 'Betting is not available for this round',
betPlaced: 'Bet placed successfully',
noRecentSuccessfulBet:
@@ -266,6 +270,8 @@ export default {
autoHostingStopped: 'Auto spin stopped',
autoHostingStoppedBalance:
'Balance condition reached. Auto spin has stopped.',
autoHostingStoppedBetLimit:
'Single bet limit exceeded. Auto spin has stopped.',
autoHostingStoppedWin:
'Single-win condition reached. Auto spin has stopped.',
autoHostingStoppedJackpot: 'Jackpot reached. Auto spin has stopped.',
@@ -378,6 +384,7 @@ export default {
confirm: 'Confirm',
selectNumbers: 'Select Numbers',
insufficientBalance: 'Insufficient Balance',
betLimitExceeded: 'Limit Exceeded',
submitting: 'Submitting...',
actions: {
clear: 'Clear',
@@ -404,7 +411,7 @@ export default {
description: '(Revealing Result)',
},
settled: {
label: 'Settled',
label: 'Drawing',
description: '(Round Complete)',
},
waiting: {
@@ -418,10 +425,12 @@ export default {
},
animal: {
insufficientBalanceRecharge: 'Insufficient balance, please top up',
betLimitExceeded: 'Single bet limit exceeded',
loading: 'Loading',
selectionLimitReached: 'Selection limit exceeded',
tapToEnter: 'Tap To Enter',
getStart: 'Get Start',
noBet: 'No Bet',
},
history: {
title: 'History',
@@ -431,6 +440,7 @@ export default {
orderNo: 'Order No.',
roundId: 'Round ID',
numbers: 'Bet Numbers',
createdAt: 'Time',
settledAt: 'Settled At',
totalPoolAmount: 'Bet Amount',
winningResult: 'Winning Result',

View File

@@ -88,9 +88,12 @@ export default {
phases: {
betting: 'Betting',
locked: 'Terkunci',
revealing: 'Mengungkap',
settled: 'Selesai',
},
roundBettingStart: {
title: 'Ronde {{roundId}}',
action: 'Mulai Bertaruh',
},
actions: {
unifiedBetHint: 'Bet seragam',
totalBet: 'Total bet',
@@ -252,6 +255,7 @@ export default {
inviteLinkCopyFailed:
'Gagal menyalin tautan undangan. Silakan salin secara manual.',
insufficientBalance: 'Saldo tidak cukup. Silakan sesuaikan taruhan.',
betLimitExceeded: 'Melebihi batas taruhan tunggal',
betUnavailable: 'Taruhan tidak tersedia untuk ronde ini',
betPlaced: 'Taruhan berhasil dikirim',
noRecentSuccessfulBet:
@@ -265,6 +269,8 @@ export default {
autoHostingStopped: 'Auto spin berhenti',
autoHostingStoppedBalance:
'Kondisi saldo tercapai. Auto spin telah berhenti.',
autoHostingStoppedBetLimit:
'Melebihi batas taruhan tunggal. Auto spin telah berhenti.',
autoHostingStoppedWin:
'Kondisi kemenangan tunggal tercapai. Auto spin telah berhenti.',
autoHostingStoppedJackpot: 'Jackpot tercapai. Auto spin telah berhenti.',
@@ -378,6 +384,7 @@ export default {
confirm: 'Konfirmasi',
selectNumbers: 'Pilih Nombor',
insufficientBalance: 'Saldo Tidak Cukup',
betLimitExceeded: 'Batas Terlampaui',
submitting: 'Mengirim...',
actions: {
clear: 'Hapus',
@@ -404,7 +411,7 @@ export default {
description: '(Mengungkap Hasil)',
},
settled: {
label: 'Selesai',
label: 'Drawing',
description: '(Ronde Selesai)',
},
waiting: {
@@ -418,10 +425,12 @@ export default {
},
animal: {
insufficientBalanceRecharge: 'Saldo tidak cukup, silakan isi ulang',
betLimitExceeded: 'Melebihi batas taruhan tunggal',
loading: 'Memuat',
selectionLimitReached: 'Melebihi pilihan yang diizinkan',
tapToEnter: 'Ketuk Untuk Masuk',
getStart: 'Mulai',
noBet: 'Belum Bertaruh',
},
history: {
title: 'Riwayat',
@@ -431,6 +440,7 @@ export default {
orderNo: 'No. Order',
roundId: 'ID Ronde',
numbers: 'Nomor Taruhan',
createdAt: 'Waktu',
settledAt: 'Waktu Selesai',
totalPoolAmount: 'Jumlah Taruhan',
winningResult: 'Hasil Menang',

View File

@@ -91,9 +91,12 @@ export default {
phases: {
betting: 'Taruhan',
locked: 'Dikunci',
revealing: 'Cabutan',
settled: 'Selesai',
},
roundBettingStart: {
title: 'Pusingan {{roundId}}',
action: 'Mula Bertaruh',
},
actions: {
unifiedBetHint: 'Taruhan seragam',
totalBet: 'Jumlah taruhan',
@@ -256,6 +259,7 @@ export default {
inviteLinkCopyFailed:
'Gagal menyalin pautan jemputan. Sila salin secara manual.',
insufficientBalance: 'Baki tidak mencukupi. Sila laraskan taruhan.',
betLimitExceeded: 'Melebihi had taruhan tunggal',
betUnavailable: 'Taruhan tidak tersedia untuk pusingan ini',
betPlaced: 'Taruhan berjaya dihantar',
noRecentSuccessfulBet:
@@ -269,6 +273,8 @@ export default {
autoHostingStopped: 'Putaran auto dihentikan',
autoHostingStoppedBalance:
'Syarat baki dicapai. Putaran auto telah dihentikan.',
autoHostingStoppedBetLimit:
'Melebihi had taruhan tunggal. Putaran auto telah dihentikan.',
autoHostingStoppedWin:
'Syarat kemenangan tunggal dicapai. Putaran auto telah dihentikan.',
autoHostingStoppedJackpot:
@@ -383,6 +389,7 @@ export default {
confirm: 'Sahkan',
selectNumbers: 'Pilih Nombor',
insufficientBalance: 'Baki Tidak Mencukupi',
betLimitExceeded: 'Melebihi Had',
submitting: 'Menghantar...',
actions: {
clear: 'Kosongkan',
@@ -409,7 +416,7 @@ export default {
description: '(Mendedahkan Hasil)',
},
settled: {
label: 'Selesai',
label: 'Cabutan',
description: '(Pusingan Tamat)',
},
waiting: {
@@ -423,10 +430,12 @@ export default {
},
animal: {
insufficientBalanceRecharge: 'Baki tidak mencukupi, sila tambah nilai',
betLimitExceeded: 'Melebihi had taruhan tunggal',
loading: 'Memuatkan',
selectionLimitReached: 'Melebihi pilihan aksara yang dibenarkan',
tapToEnter: 'Ketik Untuk Masuk',
getStart: 'Mula',
noBet: 'Belum Bertaruh',
},
history: {
title: 'Sejarah',
@@ -436,6 +445,7 @@ export default {
orderNo: 'No. Pesanan',
roundId: 'ID Pusingan',
numbers: 'Nombor Pertaruhan',
createdAt: 'Masa',
settledAt: 'Masa Selesai',
totalPoolAmount: 'Jumlah Pertaruhan',
winningResult: 'Keputusan Menang',

View File

@@ -87,9 +87,12 @@ export default {
phases: {
betting: '下注中',
locked: '已封盘',
revealing: '开奖中',
settled: '已结算',
},
roundBettingStart: {
title: '{{roundId}}期',
action: '开始下注',
},
actions: {
unifiedBetHint: '统一下注额',
totalBet: '总下注',
@@ -246,6 +249,7 @@ export default {
inviteLinkCopied: '邀请链接已复制',
inviteLinkCopyFailed: '邀请链接复制失败,请手动复制',
insufficientBalance: '余额不足,请调整下注金额',
betLimitExceeded: '超过单次投注限额',
betUnavailable: '当前期不可下注',
betPlaced: '下注成功',
noRecentSuccessfulBet: '暂无上一局成功下注记录',
@@ -256,6 +260,7 @@ export default {
autoHostingStarted: '自动托管已开始',
autoHostingStopped: '自动托管已停止',
autoHostingStoppedBalance: '余额低于条件,自动托管已停止',
autoHostingStoppedBetLimit: '超过单次投注限额,自动托管已停止',
autoHostingStoppedWin: '单次盈利达到条件,自动托管已停止',
autoHostingStoppedJackpot: '出现 Jackpot 大奖,自动托管已停止',
autoHostingSubmitFailed: '自动托管下注失败,已停止托管',
@@ -365,6 +370,7 @@ export default {
confirm: '确认',
selectNumbers: '请选择号码',
insufficientBalance: '余额不足',
betLimitExceeded: '超过限额',
submitting: '提交中...',
actions: {
clear: '清空',
@@ -391,7 +397,7 @@ export default {
description: '(正在开奖)',
},
settled: {
label: '已结算',
label: '开奖中',
description: '(本轮结束)',
},
waiting: {
@@ -405,10 +411,12 @@ export default {
},
animal: {
insufficientBalanceRecharge: '余额不足,请充值',
betLimitExceeded: '超过单次投注限额',
loading: '加载中',
selectionLimitReached: '超过可选择字花',
tapToEnter: '点击进入',
getStart: '开始游戏',
noBet: '未下注',
},
history: {
title: '历史记录',
@@ -418,6 +426,7 @@ export default {
orderNo: '订单号',
roundId: '期号',
numbers: '下注号码',
createdAt: '时间',
settledAt: '结算时间',
totalPoolAmount: '下注金额',
winningResult: '中奖字花',