feat: 路子珠显示幸运6/龙7/熊8特殊图标

- DB: cg_number_tab 加 dragon_seven, panda_eight 列
- 后端: OpeningBaccaratService 接收并存储 dragon_seven/panda_eight
- Waybill: showRoad 数据含 luck_six/dragon_seven/panda_eight
- 前端 SoloPath: 绿色圆「6」=幸运6, 金色圆「7」=龙7, 蓝色圆「8」=熊8
- handle_b.js: 键盘7/8设置对应隐藏字段,opening()传参
This commit is contained in:
testadmin
2026-05-01 23:36:33 +08:00
parent b5a5641557
commit 39a1d0dea8
5 changed files with 43 additions and 8 deletions
+2
View File
@@ -196,6 +196,8 @@
<input type="hidden" id="result_player_pair" value="0">
<input type="hidden" id="lucky_six" value="0">
<input type="hidden" id="lucky_six_number" value="0">
<input type="hidden" id="dragon_seven" value="0">
<input type="hidden" id="panda_eight" value="0">
<input type="hidden" id="dt_pair" value="0">
</div>
<div class="btn-box4">
@@ -141,6 +141,8 @@ class OpeningBaccaratService
$banker_pair = intval($event['banker_pair']);
$player_pair = intval($event['player_pair']);
$luck_six = intval($event['luck_six']);
$dragon_seven = intval($event['dragon_seven'] ?? 0);
$panda_eight = intval($event['panda_eight'] ?? 0);
//处理开盘
if($banker_pair == 1 && $player_pair == 2){
//庄闲对
@@ -157,7 +159,7 @@ class OpeningBaccaratService
}
if (!in_array($opening,[1,2,3])) return ['status' => false, 'msg' => 'opening_fail_3'];
//开盘
$numberTabUpdate = ['result' => $opening, 'pair' => $pair, 'luck_six' => $luck_six, 'big_small' => $big_small, 'end_time' => time(), 'bet_status' => 3];
$numberTabUpdate = ['result' => $opening, 'pair' => $pair, 'luck_six' => $luck_six, 'dragon_seven' => $dragon_seven, 'panda_eight' => $panda_eight, 'big_small' => $big_small, 'end_time' => time(), 'bet_status' => 3];
$newNumberTabInfo = NumberTab::next($numberTabInfo,$numberTabUpdate,$tableInfo);
if ($newNumberTabInfo){
$lastNumberTabInfo = array_merge($numberTabInfo,$numberTabUpdate);
+1 -1
View File
@@ -121,7 +121,7 @@ class Waybill
$showRoadLocation = array();
foreach($showRoad as $k => $v){
foreach($v as $key => $val){
$pushData = array('show_x' => $k + 1, 'show_y' =>$key + 1, 'result' => $val['result'], 'pair' => $val['pair']);
$pushData = array('show_x' => $k + 1, 'show_y' =>$key + 1, 'result' => $val['result'], 'pair' => $val['pair'], 'luck_six' => $val['luck_six'] ?? 0, 'dragon_seven' => $val['dragon_seven'] ?? 0, 'panda_eight' => $val['panda_eight'] ?? 0);
array_push($showRoadLocation,$pushData);
}
}
+15 -1
View File
@@ -86,8 +86,10 @@ var opening = function(){
var banker_pair = $('#result_banker_pair').val();
var player_pair = $('#result_player_pair').val();
var luck_six = parseInt($('#lucky_six').val()) || 0;
var dragon_seven = parseInt($('#dragon_seven').val()) || 0;
var panda_eight = parseInt($('#panda_eight').val()) || 0;
if(opening > 0){
websocket.emit('openingBaccarat',{table_id : table_id, number_tab_id : number_tab_id,opening : opening,banker_pair : banker_pair,player_pair:player_pair,luck_six:luck_six});
websocket.emit('openingBaccarat',{table_id : table_id, number_tab_id : number_tab_id,opening : opening,banker_pair : banker_pair,player_pair:player_pair,luck_six:luck_six,dragon_seven:dragon_seven,panda_eight:panda_eight});
}
}else if(game_id == 2){
var opening = $('#opening').val();
@@ -458,6 +460,8 @@ $(function(){
$('#result_banker_pair').val('0');
$('#result_player_pair').val('0');
$('#lucky_six').val('0');
$('#dragon_seven').val('0');
$('#panda_eight').val('0');
$('#dt_pair').val('0');
$('#openingElement').show();
if(game_id == 1){
@@ -471,6 +475,8 @@ $(function(){
$('#result_banker_pair').val('0');
$('#result_player_pair').val('0');
$('#lucky_six').val('0');
$('#dragon_seven').val('0');
$('#panda_eight').val('0');
$('#dt_pair').val('0');
$('#openingElement').show();
if(game_id == 1){
@@ -484,6 +490,8 @@ $(function(){
$('#result_banker_pair').val('0');
$('#result_player_pair').val('0');
$('#lucky_six').val('0');
$('#dragon_seven').val('0');
$('#panda_eight').val('0');
$('#dt_pair').val('0');
$('#openingElement').show();
showPng(3,0,0);
@@ -499,6 +507,8 @@ $(function(){
$('#result_banker_pair').val('0');
$('#result_player_pair').val('0');
$('#lucky_six').val(curLs);
$('#dragon_seven').val('0');
$('#panda_eight').val('0');
$('#openingElement').show();
if(curLs > 0) showPng(1,0,0);
}
@@ -510,6 +520,8 @@ $(function(){
$('#result_banker_pair').val('0');
$('#result_player_pair').val('0');
$('#lucky_six').val('0');
$('#dragon_seven').val('1');
$('#panda_eight').val('0');
$('#openingElement').show();
showPng(1,0,0);
}
@@ -521,6 +533,8 @@ $(function(){
$('#result_banker_pair').val('0');
$('#result_player_pair').val('0');
$('#lucky_six').val('0');
$('#dragon_seven').val('0');
$('#panda_eight').val('1');
$('#openingElement').show();
showPng(2,0,0);
}
+22 -5
View File
@@ -2026,7 +2026,7 @@ function cutRoad(roadType,ctb,unit,roadData,cols,ask,askroad){
}
$.each(new_roadData,function(i,v){
if(roadType=="showWay"){
SoloPath(ctb,unit,v.show_x-cut,v.show_y,v.result,v.pair)
SoloPath(ctb,unit,v.show_x-cut,v.show_y,v.result,v.pair,v.luck_six||0,v.dragon_seven||0,v.panda_eight||0)
}
})
}
@@ -2091,11 +2091,13 @@ function Font_tie(ctb,num,Font_x,Font_y,fontsize){
ctb.stroke();
}
}
function SoloPath(ctb,unit,x,y,type,corners){
function SoloPath(ctb,unit,x,y,type,corners,luck_six,dragon_seven,panda_eight){
ctb.beginPath();
ctb.lineWidth = 0.5;
ctb.strokeStyle = "#000";
var radius=unit/2||0;
var cx = radius+unit*(x-1);
var cy = radius+unit*(y-1);
if (game_id == 6){
if(type==0){
var color='#5A5A5A';
@@ -2118,6 +2120,21 @@ function SoloPath(ctb,unit,x,y,type,corners){
var fonts="4";
ctb.strokeStyle = "#E35C4C";
}
} else if(game_id==1 && luck_six > 0){
var color='#1a8c3a';
var fonts="6";
ctb.strokeStyle = "#2eb553";
ctb.lineWidth = 2;
} else if(game_id==1 && dragon_seven > 0){
var color='#d4a017';
var fonts="7";
ctb.strokeStyle = "#e6b822";
ctb.lineWidth = 2;
} else if(game_id==1 && panda_eight > 0){
var color='#1a6ed8';
var fonts="8";
ctb.strokeStyle = "#4a9af5";
ctb.lineWidth = 2;
} else {
if(type==1){
var color='#ff002a';
@@ -2140,14 +2157,14 @@ function SoloPath(ctb,unit,x,y,type,corners){
}
}
ctb.arc(radius+unit*(x-1), radius+unit*(y-1), unit*0.45, 0, Math.PI * 2);
ctb.arc(cx, cy, unit*0.45, 0, Math.PI * 2);
ctb.fillStyle=color;
ctb.fill();
ctb.font=unit*0.6+"px Arial";
ctb.fillStyle ="#fff" ; // 颜色
ctb.fillStyle ="#fff" ;
ctb.textAlign = 'center';
ctb.textBaseline = 'middle';
ctb.fillText(fonts,radius+unit*(x-1),radius+unit*(y-1));
ctb.fillText(fonts,cx,cy);
ctb.stroke();
var corner_xy=unit/3.5
if(corners==1){