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 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) } } } }