fix: 荷官端卡住根因修复 — endBet防抖+状态同步+WaybillRemind越界

1. end_bet_error翻译从'停止成功'改为'已停止下注'(误导荷官以为操作成功)
2. endBet()加2秒防抖,防止连按Enter导致重复请求
3. Numpad 0加状态守卫,只在bet_status=1时才调endBet
4. endBet失败时前端自动同步服务端bet_status,不再弹错误框
5. 后端end_bet_error响应附带当前bet_status供前端同步
6. WaybillRemindService路子珠pattern检测加try-catch,消除每日59次offset -1错误
This commit is contained in:
testadmin
2026-05-19 00:28:02 +08:00
parent f3fb7628ab
commit aa74a6edc1
13 changed files with 104 additions and 28 deletions
+1 -1
View File
@@ -3,7 +3,7 @@
//应用公共文件
// 版本号
define('VERSION_V','?ver=v10.1.0');
define('VERSION_V','?ver=v10.1.1');
// 强制加载中文语言包
\think\facade\Lang::load(__DIR__ . '/lang/zh-cn.php');
+1 -1
View File
@@ -492,7 +492,7 @@ return [
'exceeds_limit_table' => '下注超出桌子限紅',
'exceeds_limit_user' => '下注超出个人限紅',
'under_limit_user' => '下注低于个人限紅',
'end_bet_error' => '停止成功',
'end_bet_error' => '停止下注',
'end_bet_error_1' => '当前局状态不在下注状态,不能停止',
'end_bet_error_2' => '停止下注失败',
'repeated_entry' => '你的账号在其他地方登陆了,即将退出',
+1 -1
View File
@@ -136,7 +136,7 @@ class NumberTab extends BaseModel
{
$numberTabInfo = self::get(['id' => $numberTabId]);
if (!$numberTabInfo) return ['status' => false, 'msg' => 'end_bet_fail'];
if ($numberTabInfo['bet_status'] != 1) return ['status' => false, 'msg' => 'end_bet_error'];
if ($numberTabInfo['bet_status'] != 1) return ['status' => false, 'msg' => 'end_bet_error', 'bet_status' => $numberTabInfo['bet_status']];
self::where(['id' => $numberTabInfo['id']])->update(['bet_status' => 2, 'bet_end_time' => time()]);
$numberTabInfo['bet_status'] = 2;
$numberTabInfo['bet_start_time'] = time();
+2 -2
View File
@@ -44,8 +44,8 @@ class EndBetService
]);
Logger::info(Logger::CAT_GAME, 'end_bet', ['table_id' => $tableInfo['id'], 'nt_id' => $numberTabId]);
}else{
Logger::warn(Logger::CAT_GAME, 'end_bet_fail', ['table_id' => $tableInfo['id'], 'msg' => $modelRes['msg']]);
$ws->emit('endBet', ['status' => false, 'msg' => $modelRes['msg']]);
Logger::warn(Logger::CAT_GAME, 'end_bet_fail', ['table_id' => $tableInfo['id'], 'msg' => $modelRes['msg'], 'bet_status' => $modelRes['bet_status'] ?? null]);
$ws->emit('endBet', ['status' => false, 'msg' => $modelRes['msg'], 'bet_status' => $modelRes['bet_status'] ?? null]);
}
}
}
@@ -99,6 +99,7 @@ class WaybillRemindService{
}
}
$bigRoad_lenth = count($bigRoadLocation);
try {
if($bigRoad_lenth >= 4){
//y=1
if($bigRoadLocation[$bigRoad_lenth-1]['show_y'] == 1){
@@ -616,6 +617,9 @@ class WaybillRemindService{
}
}
}
} catch (\Throwable $e) {
// 路子珠数据不足时跳过 pattern 检测
}
$table = WaybillRemind::where('table_id',$table_id)->find();
$create_time = time();
$bigRoadLocation = json_encode($bigRoadLocation);