1028 lines
34 KiB
JavaScript
1028 lines
34 KiB
JavaScript
$(function(){
|
||
Template(tabData);
|
||
Templatelist(alltabData);
|
||
resize();
|
||
webSocketlive();
|
||
|
||
$('.leftnav_btn,.list-left-nav').hover(function(){
|
||
$('.list-left-nav').css('left','0')
|
||
},function(){
|
||
$('.list-left-nav').css('left','-100%')
|
||
})
|
||
|
||
|
||
// 选择筹码
|
||
$(document).on('click','.swiper-slide',function(){
|
||
var id= $(this).parents('.tab').attr('data-id');
|
||
window['chip_'+id]= parseInt($(this).attr('data-bet'))||0;
|
||
$(this).addClass("choice").siblings().removeClass("choice")
|
||
})
|
||
|
||
// 选择下注区
|
||
$(document).on('click','.multiple .bet-box .chipbox',function(){
|
||
|
||
var id= $(this).parents('.tab').attr('data-id');
|
||
var tab_type= $(this).attr('data-type');
|
||
var chip=parseInt(window['chip_'+id])||5;
|
||
var downbet=parseInt(window['tab'+id+'_'+tab_type])||0;
|
||
var succesBet=parseInt(window['tab'+id+'_'+tab_type+'_amount'])||0;
|
||
window['tab'+id+'_'+tab_type]=chip+downbet;
|
||
showChip(id,tab_type,parseInt(window['tab'+id+'_'+tab_type])+succesBet);
|
||
|
||
|
||
})
|
||
|
||
// 确定下注
|
||
$(document).on('click','.confirm',function(){
|
||
var id= $(this).parents('.tab').attr('data-id');
|
||
var downBanker=window['tab'+id+'_banker']||0;
|
||
var downPlayer=window['tab'+id+'_player']||0;
|
||
var downTie=window['tab'+id+'_tie']||0;
|
||
var downBpair=window['tab'+id+'_bpair']||0;
|
||
var downPpair=window['tab'+id+'_ppair']||0;
|
||
var number_tab_id=$(this).parents('.tab').find(".tab_number").attr('data-numtabid');
|
||
|
||
if(downBanker!=0||downPlayer!=0||downTie!=0||downBpair!=0||downPpair!=0){
|
||
webSocket.send('{"table_id":"'+id+'","connect":"client","mode":"toBet","user_id":"'+swooleInfo.userid+'","number_tab_id":"'+parseInt(number_tab_id)+'","bankerAmount":"'+downBanker+'","playerAmount":"'+downPlayer+'","tieAmount":"'+downTie+'","bankerPairAmount":"'+downBpair+'","playerPairAmount":"'+downPpair+'"}');
|
||
}else{
|
||
layer.open({
|
||
type: 1,
|
||
area: ['380px', '165px'],
|
||
btn: lang.confirm,
|
||
title: lang.message,
|
||
content: '\<\div class="box">' + lang.to_bet_confirm_tip + '\<\/div>'
|
||
});
|
||
}
|
||
|
||
})
|
||
|
||
|
||
// 取消下注
|
||
$(document).on('click','.cancel',function(){
|
||
var id= $(this).parents('.tab').attr('data-id');
|
||
window['tab'+id+'_banker']=0;
|
||
window['tab'+id+'_player']=0;
|
||
window['tab'+id+'_tie']=0;
|
||
window['tab'+id+'_bpair']=0;
|
||
window['tab'+id+'_ppair']=0;
|
||
|
||
var banker_amount=parseInt(window['tab'+id+'_banker_amount']);
|
||
var player_amount=parseInt(window['tab'+id+'_player_amount']);
|
||
var tie_amount=parseInt(window['tab'+id+'_tie_amount']);
|
||
var ppair_amount=parseInt(window['tab'+id+'_ppair_amount']);
|
||
var bpair_amount=parseInt(window['tab'+id+'_bpair_amount']);
|
||
if(banker_amount>0){
|
||
showChip(id,'banker',banker_amount)
|
||
}
|
||
if(player_amount>0){
|
||
showChip(id,'player',player_amount)
|
||
}
|
||
if(tie_amount>0){
|
||
showChip(id,'tie',tie_amount)
|
||
}
|
||
if(ppair_amount>0){
|
||
showChip(id,'ppair',ppair_amount)
|
||
}
|
||
if(bpair_amount>0){
|
||
showChip(id,'bpair',bpair_amount)
|
||
}
|
||
|
||
})
|
||
|
||
|
||
// 庄问路
|
||
$(document).on('click','.b-ask',function(){
|
||
var boot_id= $(this).parents('.tab').find('.boot_num').attr('data-bootid');
|
||
var tab_id= $(this).parents('.tab').attr('data-id');
|
||
clearInterval(askInterval);
|
||
askWaybill(tab_id,boot_id,gameID,1);
|
||
|
||
})
|
||
// 闲问路
|
||
$(document).on('click','.p-ask',function(){
|
||
var boot_id= $(this).parents('.tab').find('.boot_num').attr('data-bootid');
|
||
var tab_id= $(this).parents('.tab').attr('data-id');
|
||
clearInterval(askInterval);
|
||
askWaybill(tab_id,boot_id,gameID,2)
|
||
|
||
})
|
||
|
||
|
||
|
||
// 选台
|
||
$(document).on('click','.multiple .tablist .list-box .view .item',function(){
|
||
var isshow=$(this).hasClass("chose");
|
||
var isshowL=$(".multiple .tablist .list-box .view .chose").length;
|
||
var clickindex=$(this).index();
|
||
var thisid=$(this).attr("data-id");
|
||
if(isshow==true){
|
||
if(isshowL>1){
|
||
$(this).removeClass("chose")
|
||
$(".tab[data-id='"+thisid+"']").remove();
|
||
var removeIndex=null;
|
||
$.each(tabData,function(i,v){
|
||
if(v.id==thisid){
|
||
removeIndex=i;
|
||
}
|
||
})
|
||
if(removeIndex!=''){
|
||
tabData.splice(removeIndex,1);
|
||
}
|
||
|
||
|
||
}else{
|
||
layer.msg('至少要选择一张台!');
|
||
}
|
||
}else{
|
||
if(isshowL<4){
|
||
$(this).addClass("chose");
|
||
var thisdata=alltabData[clickindex]
|
||
tabData.push(thisdata)
|
||
Template([thisdata],true)
|
||
|
||
|
||
}else{
|
||
layer.msg('至多只能选择四张台!');
|
||
}
|
||
}
|
||
|
||
})
|
||
|
||
|
||
// 弹出列表
|
||
$(document).on('click','.listbtn',function(){
|
||
$(".multiple .tablist").fadeIn(100);
|
||
})
|
||
|
||
$(".multiple .tablist .list-box .off").click(function(){
|
||
$(".multiple .tablist").fadeOut(100);
|
||
})
|
||
|
||
|
||
var swiper = new Swiper('.swiper-container', {
|
||
slidesPerView: "auto",
|
||
spaceBetween: 5,
|
||
freeMode: true,
|
||
observer: true,
|
||
observeParents: true,
|
||
});
|
||
|
||
|
||
// 判断Flash是否开启
|
||
// if (window.ActiveXObject) {
|
||
// var s = new ActiveXObject('ShockwaveFlash.ShockwaveFlash');
|
||
// if(!s){
|
||
// $(".maskvideo").hide();
|
||
// }else{
|
||
// $(".maskvideo").show();
|
||
// }
|
||
// } else {
|
||
// var s = navigator.plugins['Shockwave Flash'];
|
||
// if(!s){
|
||
// $(".maskvideo").hide();
|
||
// }else{
|
||
// $(".maskvideo").show();
|
||
// }
|
||
// }
|
||
|
||
|
||
})
|
||
|
||
|
||
|
||
// 监听窗口变化
|
||
$(window).resize(function(){
|
||
resize();
|
||
})
|
||
function resize(){
|
||
Waybillconfig();
|
||
}
|
||
|
||
// 视频播放
|
||
// function flashPlay(videoUrl, Stream, divID){
|
||
// var so = new SWFObject("/static/online/cuplay/player.swf?1",divID,"100%","100%","2","#000000");
|
||
// so.addParam("allowfullscreen","false");
|
||
// so.addParam("allowscriptaccess","always");
|
||
// so.addParam("wmode","opaque");
|
||
// so.addParam("quality","high");
|
||
// so.addParam("salign","lt");
|
||
// so.addVariable("JcScpServer",videoUrl); //您的rtmp流媒体服务器地址
|
||
// so.addVariable("JcScpVideoPath",Stream); //流名称
|
||
// so.addVariable("ShowJcScpAMoveText","yes");
|
||
// so.addVariable("JcScpFile","/static/onlinechip/cuplay/rtmp.xml?1"); //配置文件
|
||
// so.write(divID);
|
||
|
||
// }
|
||
|
||
|
||
|
||
function playVideo(id,videoUrl){
|
||
if(videoUrl){
|
||
if (flvjs.isSupported()) {
|
||
var videoElement = document.getElementById(id);
|
||
var flvPlayer = flvjs.createPlayer({
|
||
cors: true,
|
||
type: 'flv',
|
||
url: videoUrl,
|
||
hasAudio:false,
|
||
isLive:true,
|
||
hasVideo:true,
|
||
withCredentials:false,
|
||
});
|
||
flvPlayer.attachMediaElement(videoElement);
|
||
console.log(flvPlayer)
|
||
flvPlayer.load();
|
||
flvPlayer.play();
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
|
||
// 台模板
|
||
function Templatelist(data){
|
||
$.each(data,function(i,v){
|
||
if(i<=3){
|
||
var chose='chose'
|
||
}else{
|
||
var chose=''
|
||
}
|
||
var html='<div class="item '+chose+'" data-id="'+v.id+'">'+
|
||
'<span class="min-title">'+v.table_name+'</span>'+
|
||
'<span class="num" id="tabnum'+v.id+'">'+v.wait_time+'</span>'+
|
||
'</div>'
|
||
$('.multiple .tablist .list-box .view').append(html)
|
||
})
|
||
}
|
||
|
||
|
||
// 台模板
|
||
function Template(data,isaddtab){
|
||
$.each(data,function(i,v){
|
||
if(gameID==1){
|
||
var tableHtml='<div class="bet-box">'+
|
||
'<div class="list">'+
|
||
'<div class="row ppair">'+
|
||
'<div class="font">'+
|
||
'<strong>闲对</strong>'+
|
||
'<small>1:'+price_pair+'</small>'+
|
||
'</div>'+
|
||
'<div class="chipbox" data-type="ppair"></div>'+
|
||
'</div>'+
|
||
'<div class="row tie">'+
|
||
'<div class="font">'+
|
||
'<strong>和</strong>'+
|
||
'<small>1:'+price_tie_baccarat+'</small>'+
|
||
'</div>'+
|
||
'<div class="chipbox" data-type="tie"></div>'+
|
||
'</div>'+
|
||
'<div class="row bpair">'+
|
||
'<div class="font">'+
|
||
'<strong>庄对</strong>'+
|
||
'<small>1:'+price_pair+'</small>'+
|
||
'</div>'+
|
||
'<div class="chipbox" data-type="bpair"></div>'+
|
||
'</div>'+
|
||
'</div>'+
|
||
'<div class="list">'+
|
||
'<div class="row player">'+
|
||
'<div class="font">'+
|
||
'<strong>闲</strong>'+
|
||
'<small>1:'+price_player+'</small>'+
|
||
'</div>'+
|
||
'<div class="chipbox" data-type="player"></div>'+
|
||
'</div>'+
|
||
'<div class="row banker">'+
|
||
'<div class="font">'+
|
||
'<strong>庄</strong>'+
|
||
'<small>1:'+price_banker+'</small>'+
|
||
'</div>'+
|
||
'<div class="chipbox" data-type="banker"></div>'+
|
||
'</div>'+
|
||
'</div>'+
|
||
'</div>'
|
||
|
||
var footHtml='<div class="ft">'+
|
||
'<ul class="info">'+
|
||
'<li class="text color-red">庄:<span class="banker_count">'+v.banker_count+'</span></li>'+
|
||
'<li class="text color-blue">闲:<span class="player_count">'+v.player_count+'</span></li>'+
|
||
'<li class="text color-green">和:<span class="tie_count">'+v.tie_count+'</span></li>'+
|
||
'<li class="text color-red">庄对:<span class="bpair_count">'+v.bpair_count+'</span></li>'+
|
||
'<li class="text color-blue">闲对:<span class="ppair_count">'+v.ppair_count+'</span></li>'+
|
||
'</ul>'+
|
||
'<div class="askbox">'+
|
||
'<span class="btn b-ask">庄问路</span>'+
|
||
'<span class="btn p-ask">闲问路</span>'+
|
||
'</div>'+
|
||
'</div>'
|
||
}else if(gameID==2){
|
||
var tableHtml='<div class="bet-box">'+
|
||
'<div class="list longhu">'+
|
||
'<div class="row ppair">'+
|
||
'<div class="font">'+
|
||
'<strong>龙</strong>'+
|
||
'<small>1:'+price_dragon+'</small>'+
|
||
'</div>'+
|
||
'<div class="chipbox" data-type="ppair"></div>'+
|
||
'</div>'+
|
||
'<div class="row tie">'+
|
||
'<div class="font">'+
|
||
'<strong>和</strong>'+
|
||
'<small>1:'+price_tie_baccarat+'</small>'+
|
||
'</div>'+
|
||
'<div class="chipbox" data-type="tie"></div>'+
|
||
'</div>'+
|
||
'<div class="row bpair">'+
|
||
'<div class="font">'+
|
||
'<strong>虎</strong>'+
|
||
'<small>1:'+price_tiger+'</small>'+
|
||
'</div>'+
|
||
'<div class="chipbox" data-type="bpair"></div>'+
|
||
'</div>'+
|
||
'</div>'+
|
||
'</div>'
|
||
|
||
var footHtml='<div class="ft">'+
|
||
'<ul class="info">'+
|
||
'<li class="text color-red">龙:<span class="banker_count">'+v.banker_count+'</span></li>'+
|
||
'<li class="text color-blue">虎:<span class="player_count">'+v.player_count+'</span></li>'+
|
||
'<li class="text color-green">和:<span class="tie_count">'+v.tie_count+'</span></li>'+
|
||
'</ul>'+
|
||
'<div class="askbox">'+
|
||
'<span class="btn b-ask">龙问路</span>'+
|
||
'<span class="btn p-ask">虎问路</span>'+
|
||
'</div>'+
|
||
'</div>'
|
||
}
|
||
|
||
var html= '<div class="tab" data-id="'+v.id+'">'+
|
||
'<div class="box">'+
|
||
'<div class="hd">'+
|
||
'<div class="cell listbtn">'+
|
||
v.table_name+
|
||
'</div>'+
|
||
'<div class="cell">'+
|
||
'靴数:<span class="boot_num" data-bootid="'+v.boot_id+'">'+v.boot_num+'</span> 局数:<span class="tab_number" data-numtabid="'+v.tab_id+'">'+v.number+'</span> <br>'+
|
||
'用户限红:'+v.limit_money+
|
||
'</div>'+
|
||
'</div>'+
|
||
'<div class="view">'+
|
||
'<div class="stateinfo">'+
|
||
'<h3 class="countdown">'+v.wait_time+'</h3>'+
|
||
'<h5 class="statemsg">庄赢</h5>'+
|
||
'</div>'+
|
||
'<div class="maskvideo"></div>'+
|
||
'<div class="video-box" >'+
|
||
'<video id="maxPlayer'+v.id+'" width="100%" height="100%" preload="auto" autoplay="true">'+
|
||
'您的浏览器版本太低,请先升级浏览器!'+
|
||
'</video>'+
|
||
'</div>'+
|
||
'</div>'+
|
||
'<div class="chip-box">'+
|
||
'<div class="swiper-container">'+
|
||
'<ul class="chip swiper-wrapper">'+
|
||
'<li data-bet="5" class="swiper-slide jeton_5 choice"></li>'+
|
||
'<li data-bet="10" class="swiper-slide jeton_10"></li>'+
|
||
'<li data-bet="20" class="swiper-slide jeton_20"></li>'+
|
||
'<li data-bet="50" class="swiper-slide jeton_50"></li>'+
|
||
'<li data-bet="100" class="swiper-slide jeton_100"></li>'+
|
||
'<li data-bet="200" class="swiper-slide jeton_200"></li>'+
|
||
'<li data-bet="500" class="swiper-slide jeton_500"></li>'+
|
||
'<li data-bet="1000" class="swiper-slide jeton_1k"></li>'+
|
||
'<li data-bet="2000" class="swiper-slide jeton_2k"></li>'+
|
||
'<li data-bet="5000" class="swiper-slide jeton_5k"></li>'+
|
||
'<li data-bet="10000" class="swiper-slide jeton_1w"></li>'+
|
||
'<li data-bet="20000" class="swiper-slide jeton_2w"></li>'+
|
||
'</ul>'+
|
||
'</div>'+
|
||
'</div>'+
|
||
tableHtml+
|
||
'<div class="btn-box">'+
|
||
'<div class="item">'+
|
||
'<button class="btn brown cancel" disabled="disabled">取消</button>'+
|
||
'</div>'+
|
||
'<div class="item">'+
|
||
// '<span class="btn brown">撤销</span>'+
|
||
'</div>'+
|
||
'<div class="item">'+
|
||
'<button class="btn red confirm" disabled="disabled">确定</button>'+
|
||
'</div>'+
|
||
|
||
'</div>'+
|
||
'<div class="waybill">'+
|
||
'<canvas id="canvas_'+v.id+'"></canvas>'+
|
||
'<div class="mask_msg"></div>'+
|
||
'</div>'+
|
||
footHtml+
|
||
'</div>'+
|
||
'</div>'
|
||
|
||
|
||
|
||
|
||
$('.main').append(html)
|
||
// flashPlay(v.media_pc[0], v.media_pc_stream[0], 'maxPlayer'+v.id);
|
||
playVideo('maxPlayer'+v.id,v.media_pc[0]+v.media_pc_stream[0])
|
||
var _this=$(".tab[data-id='"+v.id+"']").find(".mask_msg");
|
||
if(v.in_checkout==1){
|
||
_this.html("洗牌中").fadeIn();
|
||
}else if(v.in_checkout==2){
|
||
_this.html("停台中").fadeIn();
|
||
}else{
|
||
_this.fadeOut();
|
||
}
|
||
|
||
if(isaddtab){
|
||
Waybillconfig(v,true,v.id);
|
||
var swiper = new Swiper('.swiper-container', {
|
||
slidesPerView: "auto",
|
||
spaceBetween: 5,
|
||
freeMode: true,
|
||
observer: true,
|
||
observeParents: true,
|
||
});
|
||
}
|
||
// 创建已下注变量
|
||
window['tab'+v.id+'_banker_amount']=v.banker_amount;
|
||
window['tab'+v.id+'_player_amount']=v.player_amount;
|
||
window['tab'+v.id+'_tie_amount']=v.tie_amount;
|
||
window['tab'+v.id+'_ppair_amount']=v.player_pair_amount;
|
||
window['tab'+v.id+'_bpair_amount']=v.banker_pair_amount;
|
||
|
||
if(v.banker_amount>0){
|
||
showChip(v.id,'banker',parseInt(v.banker_amount))
|
||
}
|
||
if(v.player_amount>0){
|
||
showChip(v.id,'player',parseInt(v.player_amount))
|
||
}
|
||
if(v.tie_amount>0){
|
||
showChip(v.id,'tie',parseInt(v.tie_amount))
|
||
}
|
||
if(v.player_pair_amount>0){
|
||
showChip(v.id,'ppair',parseInt(v.player_pair_amount))
|
||
}
|
||
if(v.banker_pair_amount>0){
|
||
showChip(v.id,'bpair',parseInt(v.banker_pair_amount))
|
||
}
|
||
})
|
||
}
|
||
|
||
// 路单设置
|
||
function Waybillconfig(requestData,oneTab,tab_id,ask,askroad){
|
||
var videoW=$('.multiple .video-box').width();
|
||
$('.multiple .video-box').height(videoW*9/16);
|
||
var H=$('.waybill').height(),
|
||
W=$('.waybill').width(),
|
||
rows=6,
|
||
unit=parseInt(H/rows),
|
||
cols=parseInt(W/unit);
|
||
// 单个路单更新
|
||
if(oneTab){
|
||
var gameid=gameID;
|
||
$('#canvas_'+tab_id).attr('width',cols*unit)
|
||
$('#canvas_'+tab_id).attr('height',rows*unit)
|
||
if(tabData){
|
||
var _thistab=$(".tab[data-id='"+tab_id+"']");
|
||
var ctb=$('#canvas_'+tab_id)[0].getContext('2d');
|
||
|
||
if(ask){
|
||
Waybill(ctb,unit,rows,cols,requestData.waybill,gameid,ask,askroad);
|
||
}else{
|
||
|
||
$.each(tabData,function(i,v){
|
||
if(v.id==tab_id){
|
||
v.waybill=requestData.waybill;
|
||
v.banker_count=requestData.banker_count;
|
||
v.player_count=requestData.player_count;
|
||
v.tie_count=requestData.tie_count;
|
||
v.bpair_count=requestData.bpair_count;
|
||
v.ppair_count=requestData.ppair_count;
|
||
gameid=v.game_id;
|
||
}
|
||
})
|
||
Waybill(ctb,unit,rows,cols,requestData.waybill,gameid,false,false);
|
||
_thistab.find(".banker_count").html(requestData.banker_count);
|
||
_thistab.find(".player_count").html(requestData.player_count);
|
||
_thistab.find(".tie_count").html(requestData.tie_count);
|
||
_thistab.find(".bpair_count").html(requestData.bpair_count);
|
||
_thistab.find(".ppair_count").html(requestData.ppair_count);
|
||
}
|
||
|
||
}
|
||
|
||
}else{
|
||
// 全部台路单更新
|
||
$('.waybill canvas').attr('width',cols*unit)
|
||
$('.waybill canvas').attr('height',rows*unit)
|
||
if(tabData){
|
||
$.each(tabData,function(i,v){
|
||
if($('#canvas_'+v.id)[0].getContext('2d')){
|
||
var ctb=$('#canvas_'+v.id)[0].getContext('2d');
|
||
Waybill(ctb,unit,rows,cols,v.waybill,v.game_id,false,false)
|
||
}
|
||
|
||
})
|
||
}
|
||
}
|
||
}
|
||
|
||
// 路单
|
||
function Waybill(ctb,unit,rows,cols,path,gameId,ask,askroad){
|
||
// console.log(path)
|
||
var ask=ask||false;
|
||
var askroad=askroad||{
|
||
"askshowroad":false,
|
||
"askbigRoad":false,
|
||
"askbigEyeRoad":false,
|
||
"askpathway":false,
|
||
"askroach":false,
|
||
};
|
||
ctb.clearRect(0, 0, unit*100, unit*rows)
|
||
Drawline(ctb,unit,rows,cols);
|
||
if(path!=undefined&&path!=''){
|
||
if(path[0].result==3&&path[0].show_x==1&&path[0].show_y==1){
|
||
BigPathTie(ctb,unit,cols,path[0].tie_num)
|
||
}else{
|
||
var roadType="bigWay";
|
||
cutRoad(roadType,ctb,unit,path,cols,gameId,ask,askroad.askbigRoad);
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
// 前端路单数据截取
|
||
function cutRoad(roadType,ctb,unit,roadData,cols,gameId,ask,askroad){
|
||
var L=roadData.length;
|
||
var new_roadData=[];
|
||
var Tab=0
|
||
if(ask&&askroad){
|
||
Tab=cols;
|
||
}else{
|
||
Tab=cols-1;
|
||
}
|
||
var start_x=0.5;
|
||
if(L>=1){
|
||
var last_x=roadData[L-1].show_x
|
||
if(last_x>Tab){
|
||
var cut=last_x-Tab
|
||
roadData.forEach(function(v,i){
|
||
if(v.show_x>cut){
|
||
new_roadData.push(v)
|
||
}
|
||
})
|
||
}else{
|
||
new_roadData=roadData;
|
||
cut=0;
|
||
}
|
||
}else{
|
||
new_roadData=roadData;
|
||
cut=0;
|
||
}
|
||
new_roadData.forEach(function(v,i){
|
||
BigPath(ctb,unit,start_x,v.show_x-cut,v.show_y,v.result,v.tie_num,v.pair);
|
||
})
|
||
}
|
||
|
||
|
||
|
||
// 画线条
|
||
function Drawline(ctb,unit,rows,cols){
|
||
var CanvasWidht=unit*cols;
|
||
var CanvasHeight=unit*rows;
|
||
ctb.lineWidth = 1;//线条宽度
|
||
ctb.strokeStyle = "#e5e5e5";//线条颜色
|
||
ctb.beginPath();
|
||
ctb.moveTo(0, 0.5);
|
||
ctb.lineTo(CanvasWidht, 0.5);
|
||
for (var i = 1; i <= rows; i++) {
|
||
ctb.moveTo(0, unit*i);
|
||
ctb.lineTo(CanvasWidht, unit*i);
|
||
}
|
||
ctb.moveTo(0.5, 0);
|
||
ctb.lineTo(0.5, CanvasHeight);
|
||
for (var j = 1; j <= cols; j++) {
|
||
ctb.moveTo(unit*j,0);
|
||
ctb.lineTo(unit*j,CanvasHeight);
|
||
}
|
||
ctb.closePath()
|
||
ctb.stroke();
|
||
|
||
}
|
||
// 局数 数,文字X坐标,文字Y坐标,文字大小风格
|
||
function Font_tie(ctb,num,Font_x,Font_y,fontsize,color){
|
||
if(num!==undefined){
|
||
ctb.beginPath();
|
||
ctb.font=fontsize;
|
||
ctb.textAlign = 'center';
|
||
ctb.textBaseline = 'middle';
|
||
ctb.fillStyle =color||"#000";
|
||
ctb.fillText(num,Font_x,Font_y);
|
||
ctb.stroke();
|
||
}
|
||
}
|
||
|
||
// 大路
|
||
function BigPath(ctb,unit,start_x,x,y,type,slash,corners){
|
||
ctb.beginPath();
|
||
ctb.lineWidth = unit*0.11;
|
||
var radius=unit
|
||
if(type==2){
|
||
var color="#0543bc";
|
||
}else if(type==1){
|
||
var color="#b20a00"
|
||
}
|
||
ctb.strokeStyle = color;
|
||
ctb.arc( radius*(x-1)+start_x*unit , radius*(y-0.5) , radius*0.38, 0, Math.PI * 2);
|
||
ctb.closePath()
|
||
ctb.stroke();
|
||
|
||
if(slash!=0){
|
||
ctb.beginPath();
|
||
linewidth=unit*0.15;
|
||
ctb.lineWidth = radius*0.14;//线条宽度
|
||
ctb.lineCap = "round";
|
||
ctb.strokeStyle = "#1d8701";//线条颜色
|
||
ctb.moveTo(radius*(x-1)+start_x*unit-linewidth,radius*(y-0.5)+linewidth);
|
||
ctb.lineTo(radius*(x-1)+start_x*unit+linewidth,radius*(y-0.5)-linewidth);
|
||
ctb.stroke();
|
||
if(slash!=0){
|
||
Font_tie(ctb,slash,radius*(x-1)+start_x*unit, radius*(y-0.5),radius*0.6+"px Arial");
|
||
}
|
||
}
|
||
var corner_xy=radius/3.5
|
||
if(corners==1){
|
||
BigPathcorner(ctb,unit,start_x,x,y,corner_xy,'#b20a00');
|
||
}else if(corners==2){
|
||
BigPathcorner(ctb,unit,start_x,x,y,-corner_xy,'#0543bc');
|
||
}else if(corners==3){
|
||
BigPathcorner(ctb,unit,start_x,x,y,corner_xy,'#b20a00');
|
||
BigPathcorner(ctb,unit,start_x,x,y,-corner_xy,'#0543bc');
|
||
}
|
||
}
|
||
//大路角标
|
||
function BigPathcorner(ctb,unit,start_x,x,y,corner_xy,corner_color){
|
||
var radius=unit
|
||
ctb.beginPath();
|
||
ctb.lineWidth = unit*0.015;
|
||
ctb.strokeStyle = "#fff";
|
||
ctb.arc(radius*(x-1)+start_x*unit-corner_xy, radius*(y-0.5)-corner_xy, radius*0.16, 0, Math.PI * 2);
|
||
ctb.fillStyle=corner_color;
|
||
ctb.fill();
|
||
ctb.stroke();
|
||
}
|
||
// 大路 第一局 和
|
||
function BigPathTie(ctb,unit,cols,order){
|
||
var start_x=unit*cols*0.5;
|
||
var radius=unit/2
|
||
ctb.beginPath();
|
||
ctb.lineWidth = 3;//线条宽度
|
||
ctb.strokeStyle = "#3EA542";//线条颜色
|
||
ctb.lineCap = "round";
|
||
ctb.moveTo(radius*0.15+start_x,radius/2);
|
||
ctb.lineTo(radius*0.85+start_x,radius/2);
|
||
ctb.stroke();
|
||
Font_tie(ctb,order,radius*0.5+start_x, radius/2,radius*0.8+"px Arial");
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
// 计算筹码个数
|
||
function showChip(tabid,tabtype,downbet){
|
||
var _this=$(".tab[data-id='"+tabid+"']").find(".chipbox[data-type='"+tabtype+"']")
|
||
var w5=parseInt(downbet/50000)
|
||
var w2=parseInt((downbet-w5*50000)/20000)
|
||
var w1=parseInt((downbet-w5*50000-w2*20000)/10000)
|
||
var w=parseInt(downbet/10000)
|
||
var k5=parseInt((downbet-w*10000)/5000)
|
||
var k2=parseInt((downbet-w*10000-k5*5000)/2000)
|
||
var k1=parseInt((downbet-w*10000-k5*5000-k2*2000)/1000)
|
||
var k=parseInt((downbet-w*10000)/1000)
|
||
var b5=parseInt((downbet-w*10000-k*1000)/500)
|
||
var b2=parseInt((downbet-w*10000-k*1000-b5*500)/200)
|
||
var b1=parseInt((downbet-w*10000-k*1000-b5*500-b2*200)/100)
|
||
var b=parseInt((downbet-w*10000-k*1000)/100)
|
||
var s5=parseInt((downbet-w*10000-k*1000-b*100)/50)
|
||
var s2=parseInt((downbet-w*10000-k*1000-b*100-s5*50)/20)
|
||
var s1=parseInt((downbet-w*10000-k*1000-b*100-s5*50-s2*20)/10)
|
||
var s=parseInt((downbet-w*10000-k*1000-b*100)/10)
|
||
var y5=parseInt((downbet-w*10000-k*1000-b*100-s*10)/5)
|
||
_this.html("");
|
||
for(var o=0;o<w5;o++){
|
||
_this.append('<i class="chip-5w" style="top:-'+o*3+'px"></i>')
|
||
}
|
||
for(var p=0;p<w2;p++){
|
||
_this.append('<i class="chip-2w" style="top:-'+(w5+p)*3+'px"></i>')
|
||
}
|
||
for(var q=0;q<w1;q++){
|
||
_this.append('<i class="chip-1w" style="top:-'+(w5+w2+q)*3+'px"></i>')
|
||
}
|
||
for(var r=0;r<k5;r++){
|
||
_this.append('<i class="chip-5k" style="top:-'+(w5+w2+w1+r)*3+'px"></i>')
|
||
}
|
||
for(var t=0;t<k2;t++){
|
||
_this.append('<i class="chip-2k" style="top:-'+(w5+w2+w1+k5+t)*3+'px"></i>')
|
||
}
|
||
for(var u=0;u<k1;u++){
|
||
_this.append('<i class="chip-1k" style="top:-'+(w5+w2+w1+k5+k2+u)*3+'px"></i>')
|
||
}
|
||
for(var v=0;v<b5;v++){
|
||
_this.append('<i class="chip-500" style="top:-'+(w5+w2+w1+k5+k2+k1+v)*3+'px"></i>')
|
||
}
|
||
for(var w=0;w<b2;w++){
|
||
_this.append('<i class="chip-200" style="top:-'+(w5+w2+w1+k5+k2+k1+b5+w)*3+'px"></i>')
|
||
}
|
||
for(var x=0;x<b1;x++){
|
||
_this.append('<i class="chip-100" style="top:-'+(w5+w2+w1+k5+k2+k1+b5+b2+x)*3+'px"></i>')
|
||
}
|
||
for(var z=0;z<s5;z++){
|
||
_this.append('<i class="chip-50" style="top:-'+(w5+w2+w1+k5+k2+k1+b5+b2+b1+z)*3+'px"></i>')
|
||
}
|
||
|
||
for(var k=0;k<s2;k++){
|
||
_this.append('<i class="chip-20" style="top:-'+(w5+w2+w1+k5+k2+k1+b5+b2+b1+s5+k)*3+'px"></i>')
|
||
}
|
||
for(var j=0;j<s1;j++){
|
||
_this.append('<i class="chip-10" style="top:-'+(w5+w2+w1+k5+k2+k1+b5+b2+b1+s5+s2+j)*3+'px"></i>')
|
||
}
|
||
for(var l=0;l<y5;l++){
|
||
_this.append('<i class="chip-5" style="top:-'+(w5+w2+w1+k5+k2+k1+b5+b2+b1+s5+s2+s1+l)*3+'px"></i>')
|
||
}
|
||
_this.append('<strong class="money" style="top:-'+(w5+w2+w1+k5+k2+k1+b5+b2+b1+s5+s2+s1+l)*3+'px">'+downbet+'</strong>')
|
||
}
|
||
|
||
|
||
// 清除筹码 重置变量
|
||
function clearBetAll(id){
|
||
window['tab'+id+'_banker_amount']=0;
|
||
window['tab'+id+'_player_amount']=0;
|
||
window['tab'+id+'_tie_amount']=0;
|
||
window['tab'+id+'_ppair_amount']=0;
|
||
window['tab'+id+'_bpair_amount']=0;
|
||
|
||
window['tab'+id+'_banker']=0;
|
||
window['tab'+id+'_player']=0;
|
||
window['tab'+id+'_tie']=0;
|
||
window['tab'+id+'_bpair']=0;
|
||
window['tab'+id+'_ppair']=0;
|
||
$(".tab[data-id='"+id+"']").find(".chipbox").html("");
|
||
}
|
||
|
||
|
||
// webSocket
|
||
function webSocketlive(){
|
||
if(window.WebSocket){
|
||
webSocket= new WebSocket(swooleInfo.websocket_url);
|
||
webSocket.onopen = function(event){
|
||
if(parseInt(swooleInfo.userid) > 0 && swooleInfo.account != '' && swooleInfo.online_token != ''){
|
||
webSocket.send('{"connect":"client","mode":"onlineLogin","account":"'+swooleInfo.account+'","userid":"'+swooleInfo.userid+'","online_token":"'+swooleInfo.online_token+'"}');
|
||
}
|
||
};
|
||
webSocket.onmessage = function(event){
|
||
var data = $.parseJSON(event.data);
|
||
console.log(data)
|
||
// return false;
|
||
var _thistab=$(".tab[data-id='"+data.table_id+"']")
|
||
switch(data.sendMode){
|
||
case 'changeBoot':
|
||
// 换靴
|
||
getWaybillinfo(data.table_id);
|
||
clearBetAll(data.table_id);
|
||
_thistab.find(".mask_msg").html("").fadeOut();
|
||
setInfoid(data);
|
||
break;
|
||
case 'resetBoot':
|
||
getWaybillinfo(data.table_id);
|
||
clearBetAll(data.table_id);
|
||
_thistab.find(".mask_msg").html("").fadeOut();
|
||
setInfoid(data);
|
||
break;
|
||
// 开始下注 显示倒计时
|
||
case 'startBet':
|
||
_thistab.find(".statemsg").html("开始下注");
|
||
_thistab.find(".statemsg").fadeIn(3000,function(){
|
||
_thistab.find(".statemsg").fadeOut();
|
||
});
|
||
break;
|
||
case 'startBetCountDown':
|
||
_thistab.find(".btn-box .item .btn").removeAttr("disabled");
|
||
_thistab.find(".countdown").fadeIn();
|
||
_thistab.find(".countdown").html(data.countDown);
|
||
$("#tabnum"+data.table_id).html(data.countDown);
|
||
break;
|
||
// 停止下注 显示倒计时
|
||
case 'endBet':
|
||
_thistab.find(".btn-box .item .btn").attr("disabled","disabled");
|
||
_thistab.find(".countdown").fadeOut();
|
||
_thistab.find(".statemsg").html("停止下注");
|
||
_thistab.find(".statemsg").fadeIn(3000,function(){
|
||
_thistab.find(".statemsg").fadeOut();
|
||
});
|
||
break;
|
||
// 百家乐开结果
|
||
case 'openingBaccaratResult':
|
||
var win_text='';
|
||
var pair_text='';
|
||
var opening=parseInt(data.round.opening);
|
||
if(opening==1){
|
||
win_text="庄赢"
|
||
}else if(opening==2){
|
||
win_text="闲赢"
|
||
}else if(opening==3){
|
||
win_text="和局"
|
||
}
|
||
|
||
if(data.round.pair==1){
|
||
pair_text="、庄对"
|
||
}else if(data.round.pair==2){
|
||
pair_text="、闲对"
|
||
}else if(data.round.pair==3){
|
||
pair_text="、庄对、闲对"
|
||
}
|
||
_thistab.find(".statemsg").html(win_text+pair_text);
|
||
_thistab.find(".statemsg").fadeIn(3000,function(){
|
||
_thistab.find(".statemsg").fadeOut();
|
||
});
|
||
setInfoid(data);
|
||
getWaybillinfo(data.table_id);
|
||
clearBetAll(data.table_id)
|
||
break;
|
||
// 百家乐开结果
|
||
case 'openingDtResult':
|
||
var win_text='';
|
||
|
||
var opening=parseInt(data.round.opening);
|
||
if(opening==1){
|
||
win_text="龙赢"
|
||
}else if(opening==2){
|
||
win_text="虎赢"
|
||
}else if(opening==3){
|
||
win_text="和局"
|
||
}
|
||
|
||
_thistab.find(".statemsg").html(win_text+pair_text);
|
||
_thistab.find(".statemsg").fadeIn(3000,function(){
|
||
_thistab.find(".statemsg").fadeOut();
|
||
});
|
||
setInfoid(data);
|
||
getWaybillinfo(data.table_id);
|
||
clearBetAll(data.table_id)
|
||
break;
|
||
// 修改路单
|
||
case 'retreated':
|
||
getWaybillinfo(data.table_id);
|
||
clearBetAll(data.table_id);
|
||
break;
|
||
case 'toBet':
|
||
|
||
window['tab'+data.table_id+'_banker_amount']=data.betAmountMsg.banker_amount;
|
||
window['tab'+data.table_id+'_player_amount']=data.betAmountMsg.player_amount;
|
||
window['tab'+data.table_id+'_tie_amount']=data.betAmountMsg.tie_amount;
|
||
window['tab'+data.table_id+'_ppair_amount']=data.betAmountMsg.player_pair_amount;
|
||
window['tab'+data.table_id+'_bpair_amount']=data.betAmountMsg.banker_pair_amount;
|
||
|
||
window['tab'+data.table_id+'_banker']=0;
|
||
window['tab'+data.table_id+'_player']=0;
|
||
window['tab'+data.table_id+'_tie']=0;
|
||
window['tab'+data.table_id+'_bpair']=0;
|
||
window['tab'+data.table_id+'_ppair']=0;
|
||
$("#userMoney").html(data.money);
|
||
break;
|
||
case 'inCheckout':
|
||
if(data.round.number_tab_status.in_checkout==1){
|
||
_thistab.find(".mask_msg").html("洗牌中").fadeIn();
|
||
}
|
||
break;
|
||
case 'opening':
|
||
$("#userMoney").html(data.round.money);
|
||
break;
|
||
case 'openingDt':
|
||
$("#userMoney").html(data.round.money);
|
||
break;
|
||
}
|
||
|
||
};
|
||
webSocket.onerror = function(event){
|
||
// console.log(event.data)
|
||
};
|
||
}
|
||
}
|
||
|
||
// 更新单个路单
|
||
function getWaybillinfo(tab_id){
|
||
$.ajax({
|
||
url:'/baccarat/waybill_info',
|
||
data:{table_id:tab_id},
|
||
dataType:"json",
|
||
type:"POST",
|
||
async:false,
|
||
success:function(res){
|
||
Waybillconfig(res,true,tab_id);
|
||
}
|
||
});
|
||
}
|
||
|
||
|
||
// 问路
|
||
function askWaybill(tab_id,boot_id,game_id,forecast){
|
||
$.ajax({
|
||
url:'/baccarat/ask_waybill',
|
||
data:{boot_id:boot_id,game_id:game_id,forecast:forecast},
|
||
dataType:"json",
|
||
type:"POST",
|
||
async:false,
|
||
success:function(res){
|
||
var oldData=[];
|
||
$.each(tabData,function(i,v){
|
||
if(tab_id==v.id){
|
||
oldData=v
|
||
}
|
||
})
|
||
|
||
|
||
ask(tab_id,res,oldData)
|
||
}
|
||
});
|
||
}
|
||
|
||
|
||
// Waybillconfig(requestData,oneTab,tab_id)
|
||
// 问路方法
|
||
var askInterval;
|
||
function ask(tab_id,newdata,olddata){
|
||
var nbigRoad=newdata;
|
||
var obigRoad=olddata;
|
||
|
||
if(nbigRoad.length>0){
|
||
var n_b_last_x=nbigRoad[nbigRoad.length-1].show_x
|
||
}else{
|
||
var n_b_last_x=0
|
||
}
|
||
if(obigRoad.length>0){
|
||
var o_b_last_x=obigRoad[obigRoad.length-1].show_x
|
||
}else{
|
||
var o_b_last_x=0
|
||
}
|
||
var askroad={
|
||
"askbigRoad":false,
|
||
};
|
||
if(n_b_last_x>o_b_last_x){
|
||
askroad.askbigRoad=true;
|
||
}else{
|
||
askroad.askbigRoad=false;
|
||
}
|
||
|
||
var time=8;
|
||
askInterval=setInterval(function(){
|
||
time--;
|
||
var num=time%2;
|
||
if(time<0){
|
||
clearInterval(askInterval);
|
||
}else{
|
||
if(num==1){
|
||
Waybillconfig(newdata,true,tab_id,true,askroad)
|
||
}else{
|
||
Waybillconfig(olddata,true,tab_id,true)
|
||
}
|
||
}
|
||
},200);
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
function setInfoid(data){
|
||
window['boot_id'+data.table_id]=data.round.boot_id;
|
||
window['boot_num'+data.table_id]=data.round.boot_num;
|
||
window['tab_id'+data.table_id]=data.round.number_tab_id;
|
||
window['table_num'+data.table_id]=data.round.number_tab_number;
|
||
var _thistab=$(".tab[data-id='"+data.table_id+"']");
|
||
_thistab.find('.boot_num').html(data.round.boot_num);
|
||
_thistab.find('.tab_number').html(data.round.number_tab_number);
|
||
_thistab.find('.tab_number').attr('data-numtabid',data.round.number_tab_id);
|
||
_thistab.find('.boot_num').attr('data-bootid',data.round.boot_id);
|
||
|
||
$.each(alltabData,function(i,v){
|
||
if(v.id==data.table_id){
|
||
v.boot_id=data.round.boot_id;
|
||
v.boot_num=data.round.boot_num;
|
||
v.number_tab_id=data.round.number_tab_id;
|
||
v.number_tab_number=data.round.number_tab_number;
|
||
}
|
||
})
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|