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="result_player_pair" value="0">
<input type="hidden" id="lucky_six" value="0"> <input type="hidden" id="lucky_six" value="0">
<input type="hidden" id="lucky_six_number" 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"> <input type="hidden" id="dt_pair" value="0">
</div> </div>
<div class="btn-box4"> <div class="btn-box4">
@@ -141,6 +141,8 @@ class OpeningBaccaratService
$banker_pair = intval($event['banker_pair']); $banker_pair = intval($event['banker_pair']);
$player_pair = intval($event['player_pair']); $player_pair = intval($event['player_pair']);
$luck_six = intval($event['luck_six']); $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){ 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']; 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); $newNumberTabInfo = NumberTab::next($numberTabInfo,$numberTabUpdate,$tableInfo);
if ($newNumberTabInfo){ if ($newNumberTabInfo){
$lastNumberTabInfo = array_merge($numberTabInfo,$numberTabUpdate); $lastNumberTabInfo = array_merge($numberTabInfo,$numberTabUpdate);
+1 -1
View File
@@ -121,7 +121,7 @@ class Waybill
$showRoadLocation = array(); $showRoadLocation = array();
foreach($showRoad as $k => $v){ foreach($showRoad as $k => $v){
foreach($v as $key => $val){ 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); array_push($showRoadLocation,$pushData);
} }
} }
+15 -1
View File
@@ -86,8 +86,10 @@ var opening = function(){
var banker_pair = $('#result_banker_pair').val(); var banker_pair = $('#result_banker_pair').val();
var player_pair = $('#result_player_pair').val(); var player_pair = $('#result_player_pair').val();
var luck_six = parseInt($('#lucky_six').val()) || 0; 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){ 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){ }else if(game_id == 2){
var opening = $('#opening').val(); var opening = $('#opening').val();
@@ -458,6 +460,8 @@ $(function(){
$('#result_banker_pair').val('0'); $('#result_banker_pair').val('0');
$('#result_player_pair').val('0'); $('#result_player_pair').val('0');
$('#lucky_six').val('0'); $('#lucky_six').val('0');
$('#dragon_seven').val('0');
$('#panda_eight').val('0');
$('#dt_pair').val('0'); $('#dt_pair').val('0');
$('#openingElement').show(); $('#openingElement').show();
if(game_id == 1){ if(game_id == 1){
@@ -471,6 +475,8 @@ $(function(){
$('#result_banker_pair').val('0'); $('#result_banker_pair').val('0');
$('#result_player_pair').val('0'); $('#result_player_pair').val('0');
$('#lucky_six').val('0'); $('#lucky_six').val('0');
$('#dragon_seven').val('0');
$('#panda_eight').val('0');
$('#dt_pair').val('0'); $('#dt_pair').val('0');
$('#openingElement').show(); $('#openingElement').show();
if(game_id == 1){ if(game_id == 1){
@@ -484,6 +490,8 @@ $(function(){
$('#result_banker_pair').val('0'); $('#result_banker_pair').val('0');
$('#result_player_pair').val('0'); $('#result_player_pair').val('0');
$('#lucky_six').val('0'); $('#lucky_six').val('0');
$('#dragon_seven').val('0');
$('#panda_eight').val('0');
$('#dt_pair').val('0'); $('#dt_pair').val('0');
$('#openingElement').show(); $('#openingElement').show();
showPng(3,0,0); showPng(3,0,0);
@@ -499,6 +507,8 @@ $(function(){
$('#result_banker_pair').val('0'); $('#result_banker_pair').val('0');
$('#result_player_pair').val('0'); $('#result_player_pair').val('0');
$('#lucky_six').val(curLs); $('#lucky_six').val(curLs);
$('#dragon_seven').val('0');
$('#panda_eight').val('0');
$('#openingElement').show(); $('#openingElement').show();
if(curLs > 0) showPng(1,0,0); if(curLs > 0) showPng(1,0,0);
} }
@@ -510,6 +520,8 @@ $(function(){
$('#result_banker_pair').val('0'); $('#result_banker_pair').val('0');
$('#result_player_pair').val('0'); $('#result_player_pair').val('0');
$('#lucky_six').val('0'); $('#lucky_six').val('0');
$('#dragon_seven').val('1');
$('#panda_eight').val('0');
$('#openingElement').show(); $('#openingElement').show();
showPng(1,0,0); showPng(1,0,0);
} }
@@ -521,6 +533,8 @@ $(function(){
$('#result_banker_pair').val('0'); $('#result_banker_pair').val('0');
$('#result_player_pair').val('0'); $('#result_player_pair').val('0');
$('#lucky_six').val('0'); $('#lucky_six').val('0');
$('#dragon_seven').val('0');
$('#panda_eight').val('1');
$('#openingElement').show(); $('#openingElement').show();
showPng(2,0,0); 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){ $.each(new_roadData,function(i,v){
if(roadType=="showWay"){ 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(); 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.beginPath();
ctb.lineWidth = 0.5; ctb.lineWidth = 0.5;
ctb.strokeStyle = "#000"; ctb.strokeStyle = "#000";
var radius=unit/2||0; var radius=unit/2||0;
var cx = radius+unit*(x-1);
var cy = radius+unit*(y-1);
if (game_id == 6){ if (game_id == 6){
if(type==0){ if(type==0){
var color='#5A5A5A'; var color='#5A5A5A';
@@ -2118,6 +2120,21 @@ function SoloPath(ctb,unit,x,y,type,corners){
var fonts="4"; var fonts="4";
ctb.strokeStyle = "#E35C4C"; 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 { } else {
if(type==1){ if(type==1){
var color='#ff002a'; 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.fillStyle=color;
ctb.fill(); ctb.fill();
ctb.font=unit*0.6+"px Arial"; ctb.font=unit*0.6+"px Arial";
ctb.fillStyle ="#fff" ; // 颜色 ctb.fillStyle ="#fff" ;
ctb.textAlign = 'center'; ctb.textAlign = 'center';
ctb.textBaseline = 'middle'; ctb.textBaseline = 'middle';
ctb.fillText(fonts,radius+unit*(x-1),radius+unit*(y-1)); ctb.fillText(fonts,cx,cy);
ctb.stroke(); ctb.stroke();
var corner_xy=unit/3.5 var corner_xy=unit/3.5
if(corners==1){ if(corners==1){