Files
lotteryFront/src/features/hall/hall-bet-errors.ts
kang 36adf8699d feat: enhance wallet functionality and improve error handling
- Updated .env.example to include optional player site code configuration.
- Modified error messages in hall-bet-errors for better clarity.
- Improved the betting grid logic to handle invalid draw IDs and reload draws when necessary.
- Adjusted wallet components to differentiate between credit and main wallet balances, including new translations for credit-related terms.
- Enhanced wallet logs to support credit activity tracking and improved UI for displaying credit information.
2026-06-05 18:01:11 +08:00

52 lines
1.9 KiB
TypeScript

/**
* 下注业务码与玩家可见说明(对齐 Laravel `ErrorCode` 与产品文档 §6.3 / §6.4)。
*/
export function mapTicketBetError(
code: number,
fallbackMsg: string,
t?: (key: string) => string,
): string {
const msg = (key: string, fallback: string) => t?.(key) ?? fallback;
switch (code) {
case 4001:
return msg(
"hall.ticketError.4001",
"该号码本期赔付池不足,已售罄。请更换号码、金额或玩法后重试。",
);
case 2003:
case 1001:
return msg("hall.ticketError.1001", "余额不足,请先转入后再下注。");
case 2001:
return msg("hall.ticketError.2001", "本期已封盘,无法继续下注。");
case 2002:
return msg("hall.ticketError.2002", "该玩法已关闭,请选择其他玩法。");
case 2004:
return msg("hall.ticketError.2004", "号码格式或长度不符合该玩法要求。");
case 2005:
return msg(
"hall.ticketError.2005",
"玩法参数不完整(如单双大小需选择位数与维度)。",
);
case 2006:
return msg("hall.ticketError.2006", "期号无效或已切换,请刷新大厅后重试。");
case 2007:
return msg("hall.ticketError.2007", "该玩法暂不支持或缺少赔率配置。");
case 2008:
return msg(
"hall.ticketError.2008",
"赔率或玩法配置已更新,请关闭预览后重新操作。",
);
case 2009:
return msg(
"hall.ticketError.2009",
"该订单已退款或不可重复提交,请关闭预览后重新下注。",
);
case 1007:
return msg("hall.ticketError.1007", "彩票钱包已冻结,暂无法下注。");
case 1003:
return msg("hall.ticketError.1003", "下注金额超出该玩法允许范围。");
default:
return fallbackMsg || msg("hall.ticketError.fallback", "下注失败,请稍后重试。");
}
}