Pro/public/static/console/js/new_index_dn.js
2026-01-28 15:54:52 +08:00

842 lines
26 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

var smallH=0,smallW=0,bigH=0,bigW=0;
var unitsmall=0,unitbig=0,colsmall=0,colbig=0;
var roll=0;LiWidth=0;
var BetStatus;
var askData = false;
$(function(){
$(window).resize(function(){
requestData(ludan);
})
requestData(ludan);
getTime();
// 滚动广告
$(".notice ul li").each(function(){
LiWidth+=$(this).innerWidth()
})
$(".notice ul").append($(".notice ul").html())
var timer = setInterval(notice, 20);
$(".notice").hover(function() {
clearInterval(timer);
},function() {
timer = setInterval(notice, 20);
})
// 日期
setInterval(function(){
getTime();
}, 1000);
// 侧栏控台
$(".control-box").hover(function(){
$(this).stop().animate({right:"0"})
},function(){
$(this).stop().animate({right:"-410px"})
})
/* 键盘操作 */
$(document).keydown(function (e){
//alert(e.keyCode);
//return false;
if(e.keyCode == 98){
$('#times').val('2');
}
if(e.keyCode == 99){
$('#times').val('3');
}
if(e.keyCode == 100){
$('#times').val('4');
}
if(e.keyCode == 101){
$('#times').val('5');
}
if(e.keyCode == 13){
opening();
}
if(e.keyCode == 97){
$('#opening').val('1');
showPng_noVoice(1);
}
if(e.keyCode == 102){
$('#opening').val('2');
showPng_noVoice(2);
}
if(e.keyCode == 107){
startBet();
}
if(e.keyCode == 111){
endBet();
}
if(e.keyCode == 109){
$('#opening').val('0');
$('#times').val('1');
$('#openingPng').attr('src','');
}
if(e.keyCode == 103){
$('#update_ludan').toggle();
}
//修改当前状态
if(e.keyCode == 96){
$('#update_ludan').toggle();
}
})
$("#confirm_update_ludan").click(function (){
retreated();
});
$("#cancel_update_ludan").click(function (){
$('#update_ludan').hide();
});
})
var keyT;
window.onkeydown = function(e){
var timeout;
if(!keyT){
keyT=true;
if(e.keyCode==105 || e.keyCode==57 || e.keyCode==33){
timeout=setTimeout(function(){
keyT=false;
},500)
}
}else{
keyT=false;
if(e.keyCode==105 || e.keyCode==57 || e.keyCode==33){
var image = new Image();
var nid = $('#number_tab_dt_id').val();
// var game_id = "{$table.game_id}";
var game_id = $('#game_id').val();
image.src1 = $("#canvas1")[0].toDataURL("image/png");
image.src2 = $("#canvas2")[0].toDataURL("image/png");
var canvas_bg=$("#canvas1").css("background");
sessionStorage.setItem("canvas1",image.src1);
sessionStorage.setItem("canvas2",image.src2);
sessionStorage.setItem("canvas_bg",canvas_bg);
$('#print_iframe').attr('src', '/index/stamp?nid='+nid+'&game_id='+game_id);
$(".iframe-box").show();
}
}
}
function close_print(){
$(".iframe-box").hide();
}
var getOnlineNumber = function (connections){
var query = new Object();
query.connections = connections;
$.ajax({
url:'/index/get_online_number',
data:query,
dataType:"json",
type:"POST",
async:false,
success:function(data){
if(data.code == 1){
$('#onlineNumber').html(data.data);
}
}
});
}
var showPng = function (opening){
if(opening == 1) {
$('#openingPng').attr('src','/static/console/new_img/banker.png');
mp3List = ['banker_win.mp3'];
}
if(opening == 2) {
$('#openingPng').attr('src','/static/console/new_img/player.png');
mp3List = ['player_win.mp3'];
}
if(opening == 3) {
$('#openingPng').attr('src','/static/console/new_img/tie.png');
mp3List = ['tie.mp3'];
}
audioMp3(mp3List).Play();
$('#openingElement').show().delay(3000).hide(300);
}
var showPng_noVoice = function (opening){
var status = $('#number_tab_status').val();
if(status == '2'){
if(opening == 1) {
$('#openingPng').attr('src','/static/console/new_img/banker.png');
}
if(opening == 2) {
$('#openingPng').attr('src','/static/console/new_img/player.png');
}
if(opening == 3) {
$('#openingPng').attr('src','/static/console/new_img/tie.png');
}
$('#openingElement').show();
}else{
layer.msg('开结果失败,请确认该铺是处于停止下注的状态');
}
}
var audio=$("#audio").get(0);
var mp3List;
var num=0;
function audioMp3(mp3List){
var mp3=new Object();
mp3.mp3List=mp3List;
mp3.url="/static/console/mp3/";
mp3.auto_play=false;
mp3.loop=false;
mp3.Play=function(){
audio.src=this.url+this.mp3List[0];
audio.play();
}
mp3.Muted=function(){
audio.muted ? audio.muted = false : audio.muted = true;
}
mp3.volumeAdd=function(){
if(audio.volume.toFixed(1)>=1){
audio.volume=1
}else{
audio.volume = audio.volume + 0.1;
}
}
mp3.volumeMinus=function(){
if(audio.volume.toFixed(1)<=0){
audio.volume=0
}else{
audio.volume = audio.volume - 0.1;
}
}
return mp3;
}
audio.addEventListener("ended", nextAudio);
function nextAudio(){
num+=1
if(num<mp3List.length){
audio.src="/static/console/mp3/"+mp3List[num];
audio.play();
}else{
audio.pause();
audio.currentTime = 0.0;
// console.log("播完")
num=0;
}
}
// WebSocket 数据交互
var number_tab_id;
if(window.WebSocket){
var webSocket = new WebSocket(websocketUrl);
webSocket.onerror = function(event){
layer.alert('您已断开链接,请返回重新进入。',{icon:2,closeBtn:0});
}
webSocket.onopen = function (event) {
var userid = $('#userid').val();
var account = $('#account').val();
var online_token = $('#online_token').val();
if(parseInt(userid) > 0 && account != '' && online_token != ''){
webSocket.send('{"connect":"space","mode":"onlineLogin","account":"'+account+'","userid":"'+userid+'","online_token":"'+online_token+'"}');
}else{
webSocket.close();
layer.alert('您已断开链接,请返回重新进入。',{icon:2,closeBtn:0});
}
};
// 桌子状态
var setBetStatus = function (BetStatus){
// console.log(BetStatus)
if(BetStatus.type == 1){
$('#betstatus').html(BetStatus.msg);
}else if(BetStatus.type == 2){
$('#number_tab_status').val(BetStatus.betStatus);
$('#betstatus').html(BetStatus.betMsg);
$('#opening_result').html('');
}
};
// 获取桌子数据
var setNumberInfo = function (round){
number_tab_id=round.number_tab_id
$('#boot_num').val(round.boot_num);//靴数
$('#number').val(round.number_tab_number);// 局数
$('#number_tab_dt_id').val(round.number_tab_id);
$('#boot_id').val(round.boot_id);
getResultToatl(round.tid,round.boot_id);
};
// 重置下注
var clearBetAmount = function (){
$('#banker_amount').html(0);
$('#player_amount').html(0);
$('#tie_amount').html(0);
$('#all_amount').html(0);
};
// 获取 庄、闲、和、对 开局次数
var getResultToatl = function (TableId,BootId){
var query = new Object();
query.table_id = TableId;
query.boot_id = BootId;
$.ajax({
url:'/index/get_result_total',
data:query,
dataType:"json",
type:"POST",
async:false,
success:function(data){
if(data.code == 1){
var resultToatl = data.data;
$('#result_total_player').html(resultToatl.player);
$('#result_total_banker').html(resultToatl.banker);
$('#result_total_tie').html(resultToatl.tie);
}
}
});
};
var setBetAmount = function (amount){
if(parseInt($('#all_amount').html()) > 0){
var o_all_amount = parseInt($('#all_amount').html());
}else{
var o_all_amount = 0;
}
var all_amount = o_all_amount + amount.banker_amount + amount.player_amount + amount.banker_doub_amount + amount.player_doub_amount;
$('#all_amount').html(all_amount);
};
webSocket.onmessage = function (event) {
var data = $.parseJSON(event.data);
if(data.sendMode == 'onlineLogin'){
if(data.status === true){
//登录成功
setNumberInfo(data.round);
setBetStatus(data.round.number_tab_status)
clearBetAmount();
waybillFunc();
// showForecast(); // 自动问路
}else{
//登录失败
webSocket.close();
layer.alert(data.msg,{icon:2,closeBtn:0});
}
}else if(data.sendMode == 'resetBoot' || data.sendMode == 'changeBoot'){
//console.log(data);
if(data.status === true){
setNumberInfo(data.round);
setBetStatus(data.round.number_tab_status);
clearBetAmount();
waybillFunc();
hiddenForecast(); //隐藏自动问路
}else{
layer.alert(data.msg,{icon:2,closeBtn:0});
}
}else if(data.sendMode == 'startBet'){
if(data.status === true){
setBetStatus(data.round.number_tab_status);
}else{
layer.alert(data.msg,{icon:2,closeBtn:0});
}
}else if(data.sendMode == 'startBetCountDown'){
if(data.status === true && data.countDown >= 0){
countDown(data.countDown);
}else{
layer.alert(data.msg,{icon:2,closeBtn:0});
}
}else if(data.sendMode == 'endBet'){
if(data.status === true){
setBetStatus(data.round.number_tab_status);
clearTimeout(t);
c = parseInt($('#wait_time').val());
}else{
layer.alert(data.msg,{icon:2,closeBtn:0});
}
}else if(data.sendMode == 'toBet'){
if(data.status === true){
setBetAmount(data.betAmountMsgAdd);
}
}else if(data.sendMode == 'inCheckout'){
if(data.status === true){
setBetStatus(data.round.number_tab_status);
clearBetAmount();
}else{
layer.alert(data.msg,{icon:2,closeBtn:0});
}
}else if(data.sendMode == 'openingDn'){
if(data.status === true){
showPng(data.round.opening);
$('#opening').val(0);
$('#times').val(1);
setNumberInfo(data.round);
setBetStatus(data.round.number_tab_status);
clearBetAmount();
waybillFunc();
// showForecast(); // 自动问路
//autoBet(); // 自动开始下注
}else{
$('#opening').val(0);
$('#times').val(1);
layer.msg(lang[data.msg]);
}
}else if(data.sendMode == 'sendOnlienNumberExit' || data.sendMode == 'sendOnlienNumberEntry' || data.sendMode == 'sendOnlienNumberSpaceEntry'){
$('#onlineNumber').html(data.number);
if(data.sendMode == 'sendOnlienNumberEntry'){
if(data.betStatus == 0){
//mp3List = ['welcome.mp3'];
//audioMp3(mp3List).Play();
//autoBet(true);
}
}
}else if(data.sendMode == 'retreated'){
if(data.status === true){
$("#update_ludan").hide();
waybillFunc();
}else{
layer.msg(data.msg);
}
}else if(data.sendMode == 'RepeatedEntry'){
webSocket.close();
layer.msg(lang[data.msg]);
setTimeout(function (){
window.location.href='/login/logout';
},2000);
}
};
var inCheckout = function(){
layer.confirm('是否需要将桌子的状态设置为"洗牌中"',{btn: ['确认','取消']}, function(index){
var table_id = $('#table_id').val();
webSocket.send('{"connect":"space","mode":"inCheckout","table_id":"'+parseInt(table_id)+'"}');
layer.close(index);
});
}
var resetBoot = function(){
layer.confirm('是否需要进行日结算?',{btn: ['确认','取消']}, function(index){
var table_id = $('#table_id').val();
webSocket.send('{"connect":"space","mode":"resetBoot","table_id":"'+parseInt(table_id)+'"}');
layer.close(index);
});
};
var changeBoot = function(){
layer.confirm('是否需要进行换靴?',{btn: ['确认','取消']}, function(index){
var table_id = $('#table_id').val();
webSocket.send('{"connect":"space","mode":"changeBoot","table_id":"'+parseInt(table_id)+'"}');
layer.close(index);
});
};
var startBet = function(){
webSocket.send('{"connect":"space","mode":"startBet","number_tab_id":"'+parseInt(number_tab_id)+'"}');
var betStatus=$("#number_tab_status").val()
if(betStatus==0){
mp3List = ['start.mp3'];
audioMp3(mp3List).Play();
}
};
var endBet = function (){
webSocket.send('{"connect":"space","mode":"endBet","number_tab_id":"'+parseInt(number_tab_id)+'"}');
var betStatus=$("#number_tab_status").val()
if(betStatus==1){
$(".countdown .num").html($("#wait_time").val())
$(".countdown").fadeOut();
mp3List = ['stop_2.mp3'];
audioMp3(mp3List).Play();
}
};
var opening = function(){
$('.control-box .btn-box2 span').removeClass('on');
var opening = $('#opening').val();
var times = $('#times').val();
var number_tab_dt_id = $('#number_tab_dt_id').val();
webSocket.send('{"connect":"space","mode":"openingDn","number_tab_id":"'+parseInt(number_tab_dt_id)+'","opening":"'+opening+'","times":"'+parseInt(times)+'"}');
$('#openingElement').addClass("blink")
setTimeout(function(){
$('#openingElement').removeClass("blink").delay(3000).hide(1);
},2900)
};
//回档方法
var retreated = function(){
var game_id = parseInt($('#game_id').val());
var table_id = parseInt($('#table_id').val());
var boot_id = parseInt($('#boot_id').val());
var number_tab_id = parseInt($('#number_tab_dt_id').val());
var update_ludan_result = $('#update_ludan_result').val();
if(update_ludan_result == ''){
layer.msg('请选择要修改的结果');
return false;
}
webSocket.send('{"connect":"space","mode":"retreated","number_tab_id":"'+number_tab_id+'","boot_id":"'+boot_id+'","table_id":"'+table_id+'","game_id":"'+game_id+'","result":"'+update_ludan_result+'"}');
}
/* *** 确认提交结果方法 *** */
var confirmResult = function(id,result){
$('.control-box .btn-box2 span').eq(0).removeClass('on');
$('.control-box .btn-box2 span').eq(1).removeClass('on');
$('.control-box .btn-box2 span').eq(2).removeClass('on');
var is_on=$("#"+id).hasClass("on");
if(is_on){
$("#"+id).removeClass("on")
}else{
$("#"+id).addClass("on")
}
$('#opening').val(result);
showPng_noVoice(result);
};
/* *** 确认提交结果方法 *** */
}else{
layer.alert('您的浏览器不支持WebSocket',{icon:2,closeBtn:0});
}
// 请求所有路单数据,执行画布刷新
function waybillFunc(){
var data = new Object;
data.boot_id = $('#boot_id').val();
data.game_id = $('#game_id').val();
$.ajax({
url:"/index/waybill",
type:"POST",
dataType:"JSON",
data:data,
success:function(data){
// 将数据结果存session
ludan = data;
// 执行画布刷新
requestData(ludan);
}
});
}
//庄问路
var getLudanBanker = function(){
var next = new Object;
next.boot_id = $('#boot_id').val();
next.game_id = $('#game_id').val();
next.forecast = 1;
$.ajax({
url:"/index/waybill",
type:"POST",
dataType:"JSON",
data:next,
async:false,
success:function(data){
askData = data;
}
});
return askData
}
//闲问路
var getLudanPlayer = function(){
var next = new Object;
next.boot_id = $('#boot_id').val();
next.game_id = $('#game_id').val();
next.forecast = 2;
$.ajax({
url:"/index/waybill",
type:"POST",
dataType:"JSON",
data:next,
async:false,
success:function(data){
askData = data;
}
});
return askData
}
// 自动问路
// 自动问路
// var showForecast = function(){
// var len = 0;
// // 庄自动问路
// var bankerResult = getLudanBanker();
// if(bankerResult.status == true){
// var bankerResult = bankerResult.waybill;
// // 大眼路
// if(bankerResult.bigEyeRoad!=""){
// len = bankerResult.bigEyeRoad.length - 1;
// if(bankerResult.bigEyeRoad[len].result == 1){
// $('#bankerask').find('.circle').css('border-color','red').css('opacity',1);
// }else if(bankerResult.bigEyeRoad[len].result == 2){
// $('#bankerask').find('.circle').css('border-color','blue').css('opacity',1);
// }
// }
// // 小路
// if(bankerResult.pathway!=""){
// len = bankerResult.pathway.length - 1;
// if(bankerResult.pathway[len].result == 1){
// $('#bankerask').find('.round').css('border-color','red').css('background-color','red').css('opacity',1);
// }else if(bankerResult.pathway[len].result == 2){
// $('#bankerask').find('.round').css('border-color','blue').css('background-color','blue').css('opacity',1);
// }
// }
// // 曱甴路
// if(bankerResult.roach!=""){
// len = bankerResult.roach.length - 1;
// if(bankerResult.roach[len].result == 1){
// $('#bankerask').find('.bar').removeClass('blue').removeClass('red');
// $('#bankerask').find('.bar').addClass('red').css('opacity',1);
// }else if(bankerResult.roach[len].result == 2){
// $('#bankerask').find('.bar').removeClass('blue').removeClass('red');
// $('#bankerask').find('.bar').addClass('blue').css('opacity',1);
// }
// }
// }
// // 闲自动问路
// var playerResult = getLudanPlayer();
// if(playerResult.status == true){
// var playerResult = playerResult.waybill;
// // 大眼路
// if(playerResult.bigEyeRoad!=""){
// var len = playerResult.bigEyeRoad.length - 1;
// if(playerResult.bigEyeRoad[len].result == 1){
// $('#playerask').find('.circle').css('border-color','red').css('opacity',1);
// }else if(playerResult.bigEyeRoad[len].result == 2){
// $('#playerask').find('.circle').css('border-color','blue').css('opacity',1);
// }
// }
// // 小路
// if(playerResult.pathway!=""){
// len = playerResult.pathway.length - 1;
// if(playerResult.pathway[len].result == 1){
// $('#playerask').find('.round').css('border-color','red').css('background-color','red').css('opacity',1);
// }else if(playerResult.pathway[len].result == 2){
// $('#playerask').find('.round').css('border-color','blue').css('background-color','blue').css('opacity',1);
// }
// }
// // 曱甴路
// if(playerResult.roach!=""){
// len = playerResult.roach.length - 1;
// if(playerResult.roach[len].result == 1){
// $('#playerask').find('.bar').removeClass('blue').removeClass('red');
// $('#playerask').find('.bar').addClass('red').css('opacity',1);
// }else if(playerResult.roach[len].result == 2){
// $('#playerask').find('.bar').removeClass('blue').removeClass('red');
// $('#playerask').find('.bar').addClass('blue').css('opacity',1);
// }
// }
// }
// };
// 换靴时隐藏自动问路
var hiddenForecast = function(){
$('#bankerask').find('.circle').css('opacity',0);
$('#bankerask').find('.round').css('opacity',0);
$('#bankerask').find('.bar').css('opacity',0);
$('#playerask').find('.circle').css('opacity',0);
$('#playerask').find('.round').css('opacity',0);
$('#playerask').find('.bar').css('opacity',0);
}
// 问路方法
var askInterval;
function ask(newdata,olddata){
var time=8;
askInterval=setInterval(function(){
time--;
var num=time%2;
if(time<0){
clearInterval(askInterval);
}else{
if(num==1){
requestData(newdata)
}else{
requestData(olddata)
}
}
},200);
}
function requestData(data){
smallH=$(".canvas-box.small").height();
smallW=$(".canvas-box.small").width();
// 计算单位
unitsmall=smallH/18;
// 计算列个数
colsmall=Math.floor(smallW/unitsmall);
colbig=Math.floor(bigW/unitbig);
CanvasTable("#canvas1",unitsmall,18,colsmall,data);
// $(".canvas-box .active-box").width($(".table-data").width()+16)
}
function CanvasTable(Id,unit,rows,cols,data){
var width=unit*cols,
height=unit*rows;
$(Id).attr("width",width)
$(Id).attr("height",height)
// $(Id).css("width",width)
$(Id).css("height",height)
var canvasId=$(Id);
var ctb=canvasId[0].getContext('2d');
ctb.lineWidth = 1;//线条宽度
ctb.strokeStyle = "#919191";//线条颜色
ctb.beginPath();
ctb.moveTo(0, 0.5);
ctb.lineTo(width, 0.5);
for (var i = 0; i <= rows; i++) {
ctb.moveTo(0, unit*i);
ctb.lineTo(width, unit*i);
}
ctb.closePath()
ctb.stroke();
ctb.beginPath();
ctb.moveTo(0.5, 0);
ctb.lineTo(0.5, height);
for (var j = 1; j <= cols; j++) {
ctb.moveTo(unit*j,0);
ctb.lineTo(unit*j,height);
}
ctb.closePath()
ctb.stroke();
ctb.beginPath();
ctb.lineWidth = 1.5;//线条宽度
ctb.strokeStyle = "#000";//线条颜色
ctb.moveTo(0, unit*6);
ctb.lineTo(width, unit*6);
ctb.moveTo(0, unit*12);
ctb.lineTo(width, unit*12);
ctb.closePath()
ctb.stroke();
if(data){
if(data.waybill){
if(data.waybill.bigRoad){
$.each(data.waybill.bigRoad,function(i,v){
if(v.show_x<=cols){
BigPath(ctb,unit,v.show_x,v.show_y,v.result)
}else if(v.show_x<=2*cols){
BigPath(ctb,unit,v.show_x-cols,v.show_y+6,v.result)
}else if(v.show_x<=3*cols){
BigPath(ctb,unit,v.show_x-2*cols,v.show_y+12,v.result)
}
})
}
}
}
}
// 大路
function BigPath(ctb,unit,x,y,type,slash,corners){
ctb.beginPath();
ctb.lineWidth = unit*0.06;
var radius=unit/2
if(type==2){
var color="#0000ff";
}else if(type==1){
var color="#bc1025"
}
ctb.strokeStyle = color;
ctb.arc(radius+unit*(x-1),radius+unit*(y-1), unit*0.38, 0, Math.PI * 2);
ctb.closePath()
ctb.stroke();
}
function countDown(time) {
$(".countdown .num").html(time);
$(".countdown").fadeIn();
if(time<=0){
mp3List = ['stop_2.mp3'];
audioMp3(mp3List).Play();
$(".countdown").fadeOut();
webSocket.send('{"connect":"space","mode":"endBet","number_tab_id":"'+parseInt(number_tab_id)+'"}');
return;
}
}
function notice(){
if (roll == -LiWidth) {
roll = 0;
}
roll -= 1;
$(".notice .scroll").css({
left: roll
})
}
function getTime() {
var today = new Date();
var h = today.getHours();
var minute = today.getMinutes()
var s = today.getSeconds();
if (h < 10) {
h = "0" + h;
}
if (minute < 10) {
minute = "0" + minute;
}
if (s < 10) {
s = "0" + s;
}
var strDate = (" " + today.getFullYear() + "年" + (today.getMonth() + 1) + "月" + today.getDate() + "日" + h + ":" + minute + ":" + s);
var n_day = today.getDay();
switch (n_day) {
case 0:
var week = " 星期日 "
break;
case 1:
var week = " 星期一 "
break;
case 2:
var week = " 星期二 "
break;
case 3:
var week = " 星期三 "
break;
case 4:
var week = " 星期四 "
break;
case 5:
var week = " 星期五 "
break;
case 6:
var week = " 星期六 "
break;
case 7:
var week = " 星期日 "
break;
}
$('.date').find('p').html(strDate);
$('.date').find('span').html(week);
}
function autoBet(data){
var number = $('#onlineNumber').text();
var bet_type = $('#bet_type').val();
// 只有网络投注的桌子才自动开始下注
if(bet_type == 1 || bet_type == 3){
if(data == true){
// 客户刚进来
startBet();
}else{
// 开结果之后 只有在线人数大于0时才自动开始下注
if(number > 0){
setTimeout(function(){
startBet();
},5000)
}
}
}
}