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:
+1
-1
@@ -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
@@ -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' => '你的账号在其他地方登陆了,即将退出',
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -182,7 +182,11 @@ websocket.on('reconnect', (timeout) => {
|
||||
var startBet = function(){
|
||||
websocket.emit('startBet',{table_id : table_id, number_tab_id : number_tab_id});
|
||||
};
|
||||
var isEndingBet = false;
|
||||
var endBet = function (){
|
||||
if(isEndingBet) return;
|
||||
isEndingBet = true;
|
||||
setTimeout(function(){ isEndingBet = false; }, 2000);
|
||||
websocket.emit('endBet',{table_id : table_id, number_tab_id : number_tab_id});
|
||||
};
|
||||
var startRob = function(){
|
||||
@@ -589,7 +593,11 @@ websocket.on('endBet',function(data){
|
||||
|
||||
}else{
|
||||
if (data.table_id != undefined && data.table_id == table_id) {
|
||||
layer.msg(lang[data.msg]);
|
||||
if(data.msg == 'end_bet_error' && data.bet_status != undefined){
|
||||
$('#number_tab_status').val(data.bet_status);
|
||||
} else {
|
||||
layer.msg(lang[data.msg]);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -775,11 +783,12 @@ $(function(){
|
||||
var number_tab_status=$("#number_tab_status").val();
|
||||
if((number_rob_status==1&&number_tab_status==0)||(number_rob_status==2&&number_tab_status==0)){
|
||||
endRob();
|
||||
}else{
|
||||
}else if(number_tab_status == 1){
|
||||
endBet();
|
||||
}
|
||||
}else{
|
||||
endBet();
|
||||
var _s = $("#number_tab_status").val();
|
||||
if(_s == 1) endBet();
|
||||
}
|
||||
}
|
||||
if(game_id == 6){
|
||||
|
||||
@@ -34,7 +34,11 @@ websocket.on('reconnect', (timeout) => {
|
||||
var startBet = function(){
|
||||
websocket.emit('startBet',{table_id : table_id, number_tab_id : number_tab_id});
|
||||
};
|
||||
var isEndingBet = false;
|
||||
var endBet = function (){
|
||||
if(isEndingBet) return;
|
||||
isEndingBet = true;
|
||||
setTimeout(function(){ isEndingBet = false; }, 2000);
|
||||
websocket.emit('endBet',{table_id : table_id, number_tab_id : number_tab_id});
|
||||
};
|
||||
var startRob = function(){
|
||||
@@ -316,7 +320,11 @@ websocket.on('endBet',function(data){
|
||||
|
||||
}else{
|
||||
if (data.table_id != undefined && data.table_id == table_id) {
|
||||
layer.msg(lang[data.msg]);
|
||||
if(data.msg == 'end_bet_error' && data.bet_status != undefined){
|
||||
$('#number_tab_status').val(data.bet_status);
|
||||
} else {
|
||||
layer.msg(lang[data.msg]);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -450,7 +458,8 @@ $(function(){
|
||||
}
|
||||
// 停止倒计时
|
||||
if(e.keyCode == 96){
|
||||
endBet();
|
||||
var _s = $("#number_tab_status").val();
|
||||
if(_s == 1) endBet();
|
||||
}
|
||||
var betStatus = $("#number_tab_status").val();
|
||||
if(betStatus == 2){
|
||||
|
||||
@@ -137,7 +137,11 @@ var startBet = function(){
|
||||
sbSocket.emit("stop",{"tableCode":casinoTableId, "type":"SYS"});
|
||||
websocket.emit('startBet',{table_id : table_id, number_tab_id : number_tab_id});
|
||||
};
|
||||
var isEndingBet = false;
|
||||
var endBet = function (){
|
||||
if(isEndingBet) return;
|
||||
isEndingBet = true;
|
||||
setTimeout(function(){ isEndingBet = false; }, 2000);
|
||||
websocket.emit('endBet',{table_id : table_id, number_tab_id : number_tab_id});
|
||||
};
|
||||
var startRob = function(){
|
||||
@@ -542,7 +546,11 @@ websocket.on('endBet',function(data){
|
||||
|
||||
}else{
|
||||
if (data.table_id != undefined && data.table_id == table_id) {
|
||||
layer.msg(lang[data.msg]);
|
||||
if(data.msg == 'end_bet_error' && data.bet_status != undefined){
|
||||
$('#number_tab_status').val(data.bet_status);
|
||||
} else {
|
||||
layer.msg(lang[data.msg]);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -873,11 +881,12 @@ $(function(){
|
||||
var number_tab_status=$("#number_tab_status").val();
|
||||
if((number_rob_status==1&&number_tab_status==0)||(number_rob_status==2&&number_tab_status==0)){
|
||||
endRob();
|
||||
}else{
|
||||
}else if(number_tab_status == 1){
|
||||
endBet();
|
||||
}
|
||||
}else{
|
||||
endBet();
|
||||
var _s = $("#number_tab_status").val();
|
||||
if(_s == 1) endBet();
|
||||
}
|
||||
}
|
||||
if(game_id == 6){
|
||||
|
||||
@@ -137,7 +137,11 @@ var startBet = function(){
|
||||
sbSocket.emit("stop",{"tableCode":casinoTableId, "type":"SYS"});
|
||||
websocket.emit('startBet',{table_id : table_id, number_tab_id : number_tab_id});
|
||||
};
|
||||
var isEndingBet = false;
|
||||
var endBet = function (){
|
||||
if(isEndingBet) return;
|
||||
isEndingBet = true;
|
||||
setTimeout(function(){ isEndingBet = false; }, 2000);
|
||||
websocket.emit('endBet',{table_id : table_id, number_tab_id : number_tab_id});
|
||||
};
|
||||
var startRob = function(){
|
||||
@@ -559,7 +563,11 @@ websocket.on('endBet',function(data){
|
||||
|
||||
}else{
|
||||
if (data.table_id != undefined && data.table_id == table_id) {
|
||||
layer.msg(lang[data.msg]);
|
||||
if(data.msg == 'end_bet_error' && data.bet_status != undefined){
|
||||
$('#number_tab_status').val(data.bet_status);
|
||||
} else {
|
||||
layer.msg(lang[data.msg]);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -1000,11 +1008,12 @@ $(function(){
|
||||
var number_tab_status=$("#number_tab_status").val();
|
||||
if((number_rob_status==1&&number_tab_status==0)||(number_rob_status==2&&number_tab_status==0)){
|
||||
endRob();
|
||||
}else{
|
||||
}else if(number_tab_status == 1){
|
||||
endBet();
|
||||
}
|
||||
}else{
|
||||
endBet();
|
||||
var _s = $("#number_tab_status").val();
|
||||
if(_s == 1) endBet();
|
||||
}
|
||||
}
|
||||
if(game_id == 6){
|
||||
|
||||
@@ -28,7 +28,11 @@ websocket.on('reconnect', (timeout) => {
|
||||
var startBet = function(){
|
||||
websocket.emit('startBet',{table_id : table_id, number_tab_id : number_tab_id});
|
||||
};
|
||||
var isEndingBet = false;
|
||||
var endBet = function (){
|
||||
if(isEndingBet) return;
|
||||
isEndingBet = true;
|
||||
setTimeout(function(){ isEndingBet = false; }, 2000);
|
||||
websocket.emit('endBet',{table_id : table_id, number_tab_id : number_tab_id});
|
||||
};
|
||||
var resetNumberTab = function(){
|
||||
@@ -215,7 +219,11 @@ websocket.on('endBet',function(data){
|
||||
setBetStatus(data.round.number_tab_status);
|
||||
}else{
|
||||
if (data.table_id != undefined && data.table_id == table_id) {
|
||||
layer.msg(lang[data.msg]);
|
||||
if(data.msg == 'end_bet_error' && data.bet_status != undefined){
|
||||
$('#number_tab_status').val(data.bet_status);
|
||||
} else {
|
||||
layer.msg(lang[data.msg]);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -309,11 +317,12 @@ $(function(){
|
||||
var number_tab_status=$("#number_tab_status").val();
|
||||
if((number_rob_status==1&&number_tab_status==0)||(number_rob_status==2&&number_tab_status==0)){
|
||||
endRob();
|
||||
}else{
|
||||
}else if(number_tab_status == 1){
|
||||
endBet();
|
||||
}
|
||||
}else{
|
||||
endBet();
|
||||
var _s = $("#number_tab_status").val();
|
||||
if(_s == 1) endBet();
|
||||
}
|
||||
}
|
||||
// 骰宝结果选择
|
||||
|
||||
@@ -123,7 +123,11 @@ var startBet = function(){
|
||||
sbSocket.emit("stop",{"tableCode":casinoTableId, "type":"SYS"});
|
||||
websocket.emit('startBet',{table_id : table_id, number_tab_id : number_tab_id});
|
||||
};
|
||||
var isEndingBet = false;
|
||||
var endBet = function (){
|
||||
if(isEndingBet) return;
|
||||
isEndingBet = true;
|
||||
setTimeout(function(){ isEndingBet = false; }, 2000);
|
||||
websocket.emit('endBet',{table_id : table_id, number_tab_id : number_tab_id});
|
||||
};
|
||||
var startRob = function(){
|
||||
@@ -531,7 +535,11 @@ websocket.on('endBet',function(data){
|
||||
|
||||
}else{
|
||||
if (data.table_id != undefined && data.table_id == table_id) {
|
||||
layer.msg(lang[data.msg]);
|
||||
if(data.msg == 'end_bet_error' && data.bet_status != undefined){
|
||||
$('#number_tab_status').val(data.bet_status);
|
||||
} else {
|
||||
layer.msg(lang[data.msg]);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -842,11 +850,12 @@ $(function(){
|
||||
var number_tab_status=$("#number_tab_status").val();
|
||||
if((number_rob_status==1&&number_tab_status==0)||(number_rob_status==2&&number_tab_status==0)){
|
||||
endRob();
|
||||
}else{
|
||||
}else if(number_tab_status == 1){
|
||||
endBet();
|
||||
}
|
||||
}else{
|
||||
endBet();
|
||||
var _s = $("#number_tab_status").val();
|
||||
if(_s == 1) endBet();
|
||||
}
|
||||
}
|
||||
if(game_id == 6){
|
||||
|
||||
@@ -184,7 +184,11 @@ var startBet = function(){
|
||||
sbSocket.emit("stop",{"tableCode":casinoTableId, "type":"SYS"});
|
||||
websocket.emit('startBet',{table_id : table_id, number_tab_id : number_tab_id});
|
||||
};
|
||||
var isEndingBet = false;
|
||||
var endBet = function (){
|
||||
if(isEndingBet) return;
|
||||
isEndingBet = true;
|
||||
setTimeout(function(){ isEndingBet = false; }, 2000);
|
||||
websocket.emit('endBet',{table_id : table_id, number_tab_id : number_tab_id});
|
||||
};
|
||||
var startRob = function(){
|
||||
@@ -606,7 +610,11 @@ websocket.on('endBet',function(data){
|
||||
|
||||
}else{
|
||||
if (data.table_id != undefined && data.table_id == table_id) {
|
||||
layer.msg(lang[data.msg]);
|
||||
if(data.msg == 'end_bet_error' && data.bet_status != undefined){
|
||||
$('#number_tab_status').val(data.bet_status);
|
||||
} else {
|
||||
layer.msg(lang[data.msg]);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -976,11 +984,12 @@ $(function(){
|
||||
var number_tab_status=$("#number_tab_status").val();
|
||||
if((number_rob_status==1&&number_tab_status==0)||(number_rob_status==2&&number_tab_status==0)){
|
||||
endRob();
|
||||
}else{
|
||||
}else if(number_tab_status == 1){
|
||||
endBet();
|
||||
}
|
||||
}else{
|
||||
endBet();
|
||||
var _s = $("#number_tab_status").val();
|
||||
if(_s == 1) endBet();
|
||||
}
|
||||
}
|
||||
if(game_id == 6){
|
||||
|
||||
@@ -28,7 +28,11 @@ websocket.on('reconnect', (timeout) => {
|
||||
var startBet = function(){
|
||||
websocket.emit('startBet',{table_id : table_id, number_tab_id : number_tab_id});
|
||||
};
|
||||
var isEndingBet = false;
|
||||
var endBet = function (){
|
||||
if(isEndingBet) return;
|
||||
isEndingBet = true;
|
||||
setTimeout(function(){ isEndingBet = false; }, 2000);
|
||||
websocket.emit('endBet',{table_id : table_id, number_tab_id : number_tab_id});
|
||||
};
|
||||
var resetNumberTab = function(){
|
||||
@@ -189,7 +193,11 @@ websocket.on('endBet',function(data){
|
||||
setBetStatus(data.round.number_tab_status);
|
||||
}else{
|
||||
if (data.table_id != undefined && data.table_id == table_id) {
|
||||
layer.msg(lang[data.msg]);
|
||||
if(data.msg == 'end_bet_error' && data.bet_status != undefined){
|
||||
$('#number_tab_status').val(data.bet_status);
|
||||
} else {
|
||||
layer.msg(lang[data.msg]);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -288,11 +296,12 @@ $(function(){
|
||||
var number_tab_status=$("#number_tab_status").val();
|
||||
if((number_rob_status==1&&number_tab_status==0)||(number_rob_status==2&&number_tab_status==0)){
|
||||
endRob();
|
||||
}else{
|
||||
}else if(number_tab_status == 1){
|
||||
endBet();
|
||||
}
|
||||
}else{
|
||||
endBet();
|
||||
var _s = $("#number_tab_status").val();
|
||||
if(_s == 1) endBet();
|
||||
}
|
||||
}
|
||||
// 骰宝结果选择
|
||||
|
||||
Reference in New Issue
Block a user