Tạo 1 socket riêng gán vào socket kia của họ thì có chạy không ạ
//setTimeout(() => {
$.post(url + '/api/game/taixiu/invokeGameController/' + channelMd5).done((res) => {
});
//}, 100);
var pusher = new Pusher('8ffbce8beac4f5362483', {
cluster: 'ap1',
forceTLS: true
});
var channelTaiXiuMd5 = pusher.subscribe('taixiu_' + channelMd5);
var channelTaiXiu = pusher.subscribe('taixiu');
var channelTaiXiuDatKeo = pusher.subscribe('taixiu.datkeo');
[channelTaiXiu, channelTaiXiuMd5].map( x => x.bind('my-event', function(data) {
var gameObj = data.message;
vue.$refs.taixiu.id = gameObj.id;
vue.$refs.taixiu.amountUser.tag.tai = generateAmountUserTag(gameObj.amountUserTai);
vue.$refs.taixiu.amountUser.tag.xiu = generateAmountUserTag(gameObj.amountUserXiu);
vue.$refs.taixiu.amount.tag.tai = generateAmountTag(gameObj.amountTai);
vue.$refs.taixiu.amount.tag.xiu = generateAmountTag(gameObj.amountXiu);
//console.log(gameObj);
//console.log(gameObj.status);
let refreshIntervalId;
//nếu game ở trạng thĂ¡i Ä‘ang chạy
if (gameObj.status === 'running'){
//console.log('tai xiu running');
vue.$refs.taixiu.status.downTimeDisplay = 'block';
vue.$refs.taixiu.status.opacityDangCanCua = 0;
vue.$refs.taixiu.status.opacityXiNgau = 0;
vue.$refs.updia = false;
showNotify = 0;
showNotifyProfit = 0;
//thá»i gian kết thĂºc
//let finishedAt = gameObj.finishedAtUnixTimestamp;
//đếm ngược
refreshIntervalId = setInterval( () => {
var now = new Date();
var t = new Date( gameObj.finishedAtUnixTimestamp * 1000);
let difference = (t - now) / 1000;
difference = Math.round(difference);
//console.log(difference);
if( difference >= 0 ){
//console.log("You waited: " + difference + " seconds");
let left = difference.toString().charAt(0)
let right = difference.toString().charAt(1)
for (let i=0; i< percentArray.length; i++){
if(left == i.toString()){
left = percentArray;
}
if(right == i.toString()){
right = percentArray;
}
if ( difference.toString().length == 1 ){
left = 0;
right = percentArray[difference]
}
}
vue.$refs.taixiu.downTime.left = left;
vue.$refs.taixiu.downTime.right = right;
}else {
clearInterval(refreshIntervalId);
vue.$refs.taixiu.status.downTimeDisplay = 'none';
vue.$refs.taixiu.status.opacityDangCanCua = 1;
vue.$refs.taixiu.status.opacityXiNgau = 0;
}
}, 1000);
}
//nếu game ở trạng thĂ¡i Ä‘ang tĂnh toĂ¡n
if (gameObj.status === 'calculating'){
vue.$refs.taixiu.status.downTimeDisplay = 'none';
vue.$refs.taixiu.status.opacityDangCanCua = 1;
vue.$refs.taixiu.status.opacityXiNgau = 0;
}
//nếu game ở trạng thĂ¡i trả kết quả
if (gameObj.status === 'resulting'){
vue.$refs.taixiu.status.downTimeDisplay = 'none';
vue.$refs.taixiu.status.opacityDangCanCua = 0;
vue.$refs.taixiu.status.opacityXiNgau = 1;
vue.$refs.taixiu.xi_ngau_1 = `url(${url}/caytien.net/tx/xn2.png) ` + generateXiNgauStyle(gameObj.xuc_xac_1) + '% 0% / cover no-repeat';
vue.$refs.taixiu.xi_ngau_2 = `url(${url}/caytien.net/tx/xn2.png) ` + generateXiNgauStyle(gameObj.xuc_xac_2) + '% 0% / cover no-repeat';
vue.$refs.taixiu.xi_ngau_3 = `url(${url}/caytien.net/tx/xn2.png) ` + generateXiNgauStyle(gameObj.xuc_xac_3) + '% 0% / cover no-repeat';
updateBalance();
showNotify++;
if (!vue.$refs.taixiu.nan){
if (showNotify === 1) {
generateBangKetQuaTaiXiu();
$.notify("Kết quả tĂ i xỉu : " + gameObj.xuc_xac_1 + " " + gameObj.xuc_xac_2 + " " + gameObj.xuc_xac_3, "info");
showNotify ++;
}
}
//notify
if (typeof (userId) != 'undefined'){
//hiển thị số tiá»n thắng
$.post(url + '/api/game/taixiu/tienthang', {
'game_id' : gameObj.id,
'user_id' : userId
}).done(function (res) {
console.log(res);
let thang = res.repay_value - res.value;
if (thang > 0){
//$.notify("Bạn thắng kèo tĂ i xỉu #" + data.id + " : " + thang, "info")
if (showNotifyProfit === 0)
$.notify( "+" + res.repay_value, "info")
}else if (thang < 0) {
if (showNotifyProfit === 0)
$.notify( thang, "info")
}
showNotifyProfit++;
});
}
}
//nếu game ở trạng thĂ¡i hoĂ n thĂ nh
if (gameObj.status === 'finished'){
vue.$refs.taixiu.status.downTimeDisplay = 'none';
vue.$refs.taixiu.status.opacityDangCanCua = 0;
vue.$refs.taixiu.status.opacityXiNgau = 1;
vue.$refs.taixiu.xi_ngau_1 = `url(${url}/caytien.net/tx/xn2.png) ` + generateXiNgauStyle(gameObj.xuc_xac_1) + '% 0% / cover no-repeat';
vue.$refs.taixiu.xi_ngau_2 = `url(${url}/caytien.net/tx/xn2.png) ` + generateXiNgauStyle(gameObj.xuc_xac_2) + '% 0% / cover no-repeat';
vue.$refs.taixiu.xi_ngau_3 = `url(${url}/caytien.net/tx/xn2.png) ` + generateXiNgauStyle(gameObj.xuc_xac_3) + '% 0% / cover no-repeat';
}
}));
channelTaiXiuDatKeo.bind('my-event', function(data) {
var gameObj = data.message;
vue.$refs.taixiu.amountUser.tag.tai = generateAmountUserTag(gameObj.amountUserTai);
vue.$refs.taixiu.amountUser.tag.xiu = generateAmountUserTag(gameObj.amountUserXiu);
vue.$refs.taixiu.amount.tag.tai = generateAmountTag(gameObj.amountTai);
vue.$refs.taixiu.amount.tag.xiu = generateAmountTag(gameObj.amountXiu);
});
//chat
var channelChat = pusher.subscribe('chat');
$.get(url + '/chat').done(function (res) {
res = JSON.parse(res);
let list = [];
res.forEach((item, index) => {
list.push(JSON.parse(item));
});
vue.$refs.chatbox.msg = list.reverse();
vue.$refs.chatbox._url = url;
vue.$refs.chatbox.chatColor = chatColor;
});
channelChat.bind('my-event', function (data) {
$.get(url + '/chat').done(function (res) {
res = JSON.parse(res);
let list = [];
res.forEach((item, index) => {
list.push(JSON.parse(item));
});
vue.$refs.chatbox.msg = list.reverse();
vue.$refs.chatbox._url = url;
vue.$refs.chatbox.chatColor = chatColor;
});
});
//ably
//WZ2P7w.DtxTxA:k7eJNFZz1doR6E7Q
//qZmPwg.FxxTHQ:xblCfQ8qrEyDHCaw
//qZQrkA.rM3QFw:Ngfkz9KNN0S9olnG
//6stlRA.dDLpYg:oMCnJCOpdfT506NI
AblyKeys = [
'WZ2P7w.DtxTxA:k7eJNFZz1doR6E7Q',
'qZmPwg.FxxTHQ:xblCfQ8qrEyDHCaw',
'qZQrkA.rM3QFw:Ngfkz9KNN0S9olnG',
'6stlRA.dDLpYg:oMCnJCOpdfT506NI',
'6stlRA.JBr1Kg:ARNy4nlyH1u49tpN'
];
AblyKeys.map( key => {
console.log(key)
let client = new Ably.Realtime(key);
var channelTaiXiu = client.channels.get('taixiu');
var channelTaiXiuMd5 = client.channels.get('taixiu_' + channelMd5);
var channelTaiXiuDatKeo = client.channels.get('taixiu.datkeo');
var channelChat = client.channels.get('chat');
[channelTaiXiu, channelTaiXiuMd5].map( x => x.subscribe('myEvent', function(message) {
var gameObj = message.data.message;
vue.$refs.taixiu.id = gameObj.id;
vue.$refs.taixiu.amountUser.tag.tai = generateAmountUserTag(gameObj.amountUserTai);
vue.$refs.taixiu.amountUser.tag.xiu = generateAmountUserTag(gameObj.amountUserXiu);
vue.$refs.taixiu.amount.tag.tai = generateAmountTag(gameObj.amountTai);
vue.$refs.taixiu.amount.tag.xiu = generateAmountTag(gameObj.amountXiu);
//console.log(gameObj);
//console.log(gameObj.status);
let refreshIntervalId;
//nếu game ở trạng thĂ¡i Ä‘ang chạy
if (gameObj.status === 'running'){
//console.log('tai xiu running');
vue.$refs.taixiu.status.downTimeDisplay = 'block';
vue.$refs.taixiu.status.opacityDangCanCua = 0;
vue.$refs.taixiu.status.opacityXiNgau = 0;
vue.$refs.updia = false;
showNotify = 0;
showNotifyProfit = 0;
//thá»i gian kết thĂºc
//let finishedAt = gameObj.finishedAtUnixTimestamp;
//đếm ngược
refreshIntervalId = setInterval( () => {
var now = new Date();
var t = new Date( gameObj.finishedAtUnixTimestamp * 1000);
let difference = (t - now) / 1000;
difference = Math.round(difference);
//console.log(difference);
if( difference >= 0 ){
//console.log("You waited: " + difference + " seconds");
let left = difference.toString().charAt(0)
let right = difference.toString().charAt(1)
for (let i=0; i< percentArray.length; i++){
if(left == i.toString()){
left = percentArray;
}
if(right == i.toString()){
right = percentArray;
}
if ( difference.toString().length == 1 ){
left = 0;
right = percentArray[difference]
}
}
vue.$refs.taixiu.downTime.left = left;
vue.$refs.taixiu.downTime.right = right;
}else {
clearInterval(refreshIntervalId);
vue.$refs.taixiu.status.downTimeDisplay = 'none';
vue.$refs.taixiu.status.opacityDangCanCua = 1;
vue.$refs.taixiu.status.opacityXiNgau = 0;
}
}, 1000);
}
//nếu game ở trạng thĂ¡i Ä‘ang tĂnh toĂ¡n
if (gameObj.status === 'calculating'){
vue.$refs.taixiu.status.downTimeDisplay = 'none';
vue.$refs.taixiu.status.opacityDangCanCua = 1;
vue.$refs.taixiu.status.opacityXiNgau = 0;
}
//nếu game ở trạng thĂ¡i trả kết quả
if (gameObj.status === 'resulting'){
vue.$refs.taixiu.status.downTimeDisplay = 'none';
vue.$refs.taixiu.status.opacityDangCanCua = 0;
vue.$refs.taixiu.status.opacityXiNgau = 1;
vue.$refs.taixiu.xi_ngau_1 = `url(${url}/caytien.net/tx/xn2.png) ` + generateXiNgauStyle(gameObj.xuc_xac_1) + '% 0% / cover no-repeat';
vue.$refs.taixiu.xi_ngau_2 = `url(${url}/caytien.net/tx/xn2.png) ` + generateXiNgauStyle(gameObj.xuc_xac_2) + '% 0% / cover no-repeat';
vue.$refs.taixiu.xi_ngau_3 = `url(${url}/caytien.net/tx/xn2.png) ` + generateXiNgauStyle(gameObj.xuc_xac_3) + '% 0% / cover no-repeat';
updateBalance();
showNotify++;
if (!vue.$refs.taixiu.nan){
if (showNotify === 1) {
generateBangKetQuaTaiXiu();
$.notify("Kết quả tĂ i xỉu : " + gameObj.xuc_xac_1 + " " + gameObj.xuc_xac_2 + " " + gameObj.xuc_xac_3, "info");
showNotify ++;
}
}
//notify
if (typeof (userId) != 'undefined'){
//hiển thị số tiá»n thắng
$.post(url + '/api/game/taixiu/tienthang', {
'game_id' : gameObj.id,
'user_id' : userId
}).done(function (res) {
console.log(res);
let thang = res.repay_value - res.value;
if (thang > 0){
//$.notify("Bạn thắng kèo tĂ i xỉu #" + data.id + " : " + thang, "info")
if (showNotifyProfit === 0)
$.notify( "+" + thang, "info")
}else if (thang < 0) {
if (showNotifyProfit === 0)
$.notify( thang, "info")
}
showNotifyProfit++;
});
}
}
//nếu game ở trạng thĂ¡i hoĂ n thĂ nh
if (gameObj.status === 'finished'){
vue.$refs.taixiu.status.downTimeDisplay = 'none';
vue.$refs.taixiu.status.opacityDangCanCua = 0;
vue.$refs.taixiu.status.opacityXiNgau = 1;
vue.$refs.taixiu.xi_ngau_1 = `url(${url}/caytien.net/tx/xn2.png) ` + generateXiNgauStyle(gameObj.xuc_xac_1) + '% 0% / cover no-repeat';
vue.$refs.taixiu.xi_ngau_2 = `url(${url}/caytien.net/tx/xn2.png) ` + generateXiNgauStyle(gameObj.xuc_xac_2) + '% 0% / cover no-repeat';
vue.$refs.taixiu.xi_ngau_3 = `url(${url}/caytien.net/tx/xn2.png) ` + generateXiNgauStyle(gameObj.xuc_xac_3) + '% 0% / cover no-repeat';
}
}));
channelTaiXiuDatKeo.subscribe('myEvent', function(message) {
var gameObj = message.data.message;
vue.$refs.taixiu.amountUser.tag.tai = generateAmountUserTag(gameObj.amountUserTai);
vue.$refs.taixiu.amountUser.tag.xiu = generateAmountUserTag(gameObj.amountUserXiu);
vue.$refs.taixiu.amount.tag.tai = generateAmountTag(gameObj.amountTai);
vue.$refs.taixiu.amount.tag.xiu = generateAmountTag(gameObj.amountXiu);
});
$.get(url + '/chat').done(function (res) {
res = JSON.parse(res);
let list = [];
res.forEach((item, index) => {
list.push(JSON.parse(item));
});
vue.$refs.chatbox.msg = list.reverse();
vue.$refs.chatbox._url = url;
vue.$refs.chatbox.chatColor = chatColor;
});
channelChat.subscribe('myEvent', function(message) {
$.get(url + '/chat').done(function (res) {
res = JSON.parse(res);
let list = [];
res.forEach((item, index) => {
list.push(JSON.parse(item));
});
vue.$refs.chatbox.msg = list.reverse();
vue.$refs.chatbox._url = url;
vue.$refs.chatbox.chatColor = chatColor;
});
});
});
var socket = io('http://localhost:80');
channels = [ 'taixiu_' + channelMd5, 'taixiu' ];
channels.map( (x) => {
socket.on(x, function(data){
var gameObj = data;
console.log(gameObj);
vue.$refs.taixiu.id = gameObj.id;
vue.$refs.taixiu.amountUser.tag.tai = generateAmountUserTag(gameObj.amountUserTai);
vue.$refs.taixiu.amountUser.tag.xiu = generateAmountUserTag(gameObj.amountUserXiu);
vue.$refs.taixiu.amount.tag.tai = generateAmountTag(gameObj.amountTai);
vue.$refs.taixiu.amount.tag.xiu = generateAmountTag(gameObj.amountXiu);
//console.log(gameObj);
//console.log(gameObj.status);
let refreshIntervalId;
//nếu game ở trạng thĂ¡i Ä‘ang chạy
if (gameObj.status === 'running'){
//console.log('tai xiu running');
vue.$refs.taixiu.status.downTimeDisplay = 'block';
vue.$refs.taixiu.status.opacityDangCanCua = 0;
vue.$refs.taixiu.status.opacityXiNgau = 0;
vue.$refs.updia = false;
showNotify = 0;
showNotifyProfit = 0;
//thá»i gian kết thĂºc
//let finishedAt = gameObj.finishedAtUnixTimestamp;
//đếm ngược
refreshIntervalId = setInterval( () => {
var now = new Date();
var t = new Date( gameObj.finishedAtUnixTimestamp * 1000);
let difference = (t - now) / 1000;
difference = Math.round(difference);
//console.log(difference);
if( difference >= 0 ){
//console.log("You waited: " + difference + " seconds");
let left = difference.toString().charAt(0)
let right = difference.toString().charAt(1)
for (let i=0; i< percentArray.length; i++){
if(left == i.toString()){
left = percentArray;
}
if(right == i.toString()){
right = percentArray;
}
if ( difference.toString().length == 1 ){
left = 0;
right = percentArray[difference]
}
}
vue.$refs.taixiu.downTime.left = left;
vue.$refs.taixiu.downTime.right = right;
}else {
clearInterval(refreshIntervalId);
vue.$refs.taixiu.status.downTimeDisplay = 'none';
vue.$refs.taixiu.status.opacityDangCanCua = 1;
vue.$refs.taixiu.status.opacityXiNgau = 0;
}
}, 1000);
}
//nếu game ở trạng thĂ¡i Ä‘ang tĂnh toĂ¡n
if (gameObj.status === 'calculating'){
vue.$refs.taixiu.status.downTimeDisplay = 'none';
vue.$refs.taixiu.status.opacityDangCanCua = 1;
vue.$refs.taixiu.status.opacityXiNgau = 0;
}
//nếu game ở trạng thĂ¡i trả kết quả
if (gameObj.status === 'resulting'){
vue.$refs.taixiu.status.downTimeDisplay = 'none';
vue.$refs.taixiu.status.opacityDangCanCua = 0;
vue.$refs.taixiu.status.opacityXiNgau = 1;
vue.$refs.taixiu.xi_ngau_1 = `url(${url}/caytien.net/tx/xn2.png) ` + generateXiNgauStyle(gameObj.xuc_xac_1) + '% 0% / cover no-repeat';
vue.$refs.taixiu.xi_ngau_2 = `url(${url}/caytien.net/tx/xn2.png) ` + generateXiNgauStyle(gameObj.xuc_xac_2) + '% 0% / cover no-repeat';
vue.$refs.taixiu.xi_ngau_3 = `url(${url}/caytien.net/tx/xn2.png) ` + generateXiNgauStyle(gameObj.xuc_xac_3) + '% 0% / cover no-repeat';
updateBalance();
showNotify++;
if (!vue.$refs.taixiu.nan){
if (showNotify === 1) {
generateBangKetQuaTaiXiu();
$.notify("Kết quả tĂ i xỉu : " + gameObj.xuc_xac_1 + " " + gameObj.xuc_xac_2 + " " + gameObj.xuc_xac_3, "info");
showNotify ++;
}
}
//notify
if (typeof (userId) != 'undefined'){
//hiển thị số tiá»n thắng
$.post(url + '/api/game/taixiu/tienthang', {
'game_id' : gameObj.id,
'user_id' : userId
}).done(function (res) {
console.log(res);
let thang = res.repay_value - res.value;
if (thang > 0){
//$.notify("Bạn thắng kèo tĂ i xỉu #" + data.id + " : " + thang, "info")
if (showNotifyProfit === 0)
$.notify( "+" + res.repay_value, "info")
}else if (thang < 0) {
if (showNotifyProfit === 0)
$.notify( thang, "info")
}
showNotifyProfit++;
});
}
}
//nếu game ở trạng thĂ¡i hoĂ n thĂ nh
if (gameObj.status === 'finished'){
vue.$refs.taixiu.status.downTimeDisplay = 'none';
vue.$refs.taixiu.status.opacityDangCanCua = 0;
vue.$refs.taixiu.status.opacityXiNgau = 1;
vue.$refs.taixiu.xi_ngau_1 = `url(${url}/caytien.net/tx/xn2.png) ` + generateXiNgauStyle(gameObj.xuc_xac_1) + '% 0% / cover no-repeat';
vue.$refs.taixiu.xi_ngau_2 = `url(${url}/caytien.net/tx/xn2.png) ` + generateXiNgauStyle(gameObj.xuc_xac_2) + '% 0% / cover no-repeat';
vue.$refs.taixiu.xi_ngau_3 = `url(${url}/caytien.net/tx/xn2.png) ` + generateXiNgauStyle(gameObj.xuc_xac_3) + '% 0% / cover no-repeat';
}
});
});
$.get(url + '/chat').done(function (res) {
res = JSON.parse(res);
let list = [];
res.forEach((item, index) => {
list.push(JSON.parse(item));
});
vue.$refs.chatbox.msg = list.reverse();
vue.$refs.chatbox._url = url;
vue.$refs.chatbox.chatColor = chatColor;
});
socket.on('chat', function(data){
$.get(url + '/chat').done(function (res) {
res = JSON.parse(res);
let list = [];
res.forEach((item, index) => {
list.push(JSON.parse(item));
});
vue.$refs.chatbox.msg = list.reverse();
vue.$refs.chatbox._url = url;
vue.$refs.chatbox.chatColor = chatColor;
});
});
socket.on('taixiu.datkeo', function(data){
var gameObj = data;
vue.$refs.taixiu.amountUser.tag.tai = generateAmountUserTag(gameObj.amountUserTai);
vue.$refs.taixiu.amountUser.tag.xiu = generateAmountUserTag(gameObj.amountUserXiu);
vue.$refs.taixiu.amount.tag.tai = generateAmountTag(gameObj.amountTai);
vue.$refs.taixiu.amount.tag.xiu = generateAmountTag(gameObj.amountXiu);
});
//setTimeout(() => {
$.post(url + '/api/game/taixiu/invokeGameController/' + channelMd5).done((res) => {
});
//}, 100);
var pusher = new Pusher('8ffbce8beac4f5362483', {
cluster: 'ap1',
forceTLS: true
});
var channelTaiXiuMd5 = pusher.subscribe('taixiu_' + channelMd5);
var channelTaiXiu = pusher.subscribe('taixiu');
var channelTaiXiuDatKeo = pusher.subscribe('taixiu.datkeo');
[channelTaiXiu, channelTaiXiuMd5].map( x => x.bind('my-event', function(data) {
var gameObj = data.message;
vue.$refs.taixiu.id = gameObj.id;
vue.$refs.taixiu.amountUser.tag.tai = generateAmountUserTag(gameObj.amountUserTai);
vue.$refs.taixiu.amountUser.tag.xiu = generateAmountUserTag(gameObj.amountUserXiu);
vue.$refs.taixiu.amount.tag.tai = generateAmountTag(gameObj.amountTai);
vue.$refs.taixiu.amount.tag.xiu = generateAmountTag(gameObj.amountXiu);
//console.log(gameObj);
//console.log(gameObj.status);
let refreshIntervalId;
//nếu game ở trạng thĂ¡i Ä‘ang chạy
if (gameObj.status === 'running'){
//console.log('tai xiu running');
vue.$refs.taixiu.status.downTimeDisplay = 'block';
vue.$refs.taixiu.status.opacityDangCanCua = 0;
vue.$refs.taixiu.status.opacityXiNgau = 0;
vue.$refs.updia = false;
showNotify = 0;
showNotifyProfit = 0;
//thá»i gian kết thĂºc
//let finishedAt = gameObj.finishedAtUnixTimestamp;
//đếm ngược
refreshIntervalId = setInterval( () => {
var now = new Date();
var t = new Date( gameObj.finishedAtUnixTimestamp * 1000);
let difference = (t - now) / 1000;
difference = Math.round(difference);
//console.log(difference);
if( difference >= 0 ){
//console.log("You waited: " + difference + " seconds");
let left = difference.toString().charAt(0)
let right = difference.toString().charAt(1)
for (let i=0; i< percentArray.length; i++){
if(left == i.toString()){
left = percentArray;
}
if(right == i.toString()){
right = percentArray;
}
if ( difference.toString().length == 1 ){
left = 0;
right = percentArray[difference]
}
}
vue.$refs.taixiu.downTime.left = left;
vue.$refs.taixiu.downTime.right = right;
}else {
clearInterval(refreshIntervalId);
vue.$refs.taixiu.status.downTimeDisplay = 'none';
vue.$refs.taixiu.status.opacityDangCanCua = 1;
vue.$refs.taixiu.status.opacityXiNgau = 0;
}
}, 1000);
}
//nếu game ở trạng thĂ¡i Ä‘ang tĂnh toĂ¡n
if (gameObj.status === 'calculating'){
vue.$refs.taixiu.status.downTimeDisplay = 'none';
vue.$refs.taixiu.status.opacityDangCanCua = 1;
vue.$refs.taixiu.status.opacityXiNgau = 0;
}
//nếu game ở trạng thĂ¡i trả kết quả
if (gameObj.status === 'resulting'){
vue.$refs.taixiu.status.downTimeDisplay = 'none';
vue.$refs.taixiu.status.opacityDangCanCua = 0;
vue.$refs.taixiu.status.opacityXiNgau = 1;
vue.$refs.taixiu.xi_ngau_1 = `url(${url}/caytien.net/tx/xn2.png) ` + generateXiNgauStyle(gameObj.xuc_xac_1) + '% 0% / cover no-repeat';
vue.$refs.taixiu.xi_ngau_2 = `url(${url}/caytien.net/tx/xn2.png) ` + generateXiNgauStyle(gameObj.xuc_xac_2) + '% 0% / cover no-repeat';
vue.$refs.taixiu.xi_ngau_3 = `url(${url}/caytien.net/tx/xn2.png) ` + generateXiNgauStyle(gameObj.xuc_xac_3) + '% 0% / cover no-repeat';
updateBalance();
showNotify++;
if (!vue.$refs.taixiu.nan){
if (showNotify === 1) {
generateBangKetQuaTaiXiu();
$.notify("Kết quả tĂ i xỉu : " + gameObj.xuc_xac_1 + " " + gameObj.xuc_xac_2 + " " + gameObj.xuc_xac_3, "info");
showNotify ++;
}
}
//notify
if (typeof (userId) != 'undefined'){
//hiển thị số tiá»n thắng
$.post(url + '/api/game/taixiu/tienthang', {
'game_id' : gameObj.id,
'user_id' : userId
}).done(function (res) {
console.log(res);
let thang = res.repay_value - res.value;
if (thang > 0){
//$.notify("Bạn thắng kèo tĂ i xỉu #" + data.id + " : " + thang, "info")
if (showNotifyProfit === 0)
$.notify( "+" + res.repay_value, "info")
}else if (thang < 0) {
if (showNotifyProfit === 0)
$.notify( thang, "info")
}
showNotifyProfit++;
});
}
}
//nếu game ở trạng thĂ¡i hoĂ n thĂ nh
if (gameObj.status === 'finished'){
vue.$refs.taixiu.status.downTimeDisplay = 'none';
vue.$refs.taixiu.status.opacityDangCanCua = 0;
vue.$refs.taixiu.status.opacityXiNgau = 1;
vue.$refs.taixiu.xi_ngau_1 = `url(${url}/caytien.net/tx/xn2.png) ` + generateXiNgauStyle(gameObj.xuc_xac_1) + '% 0% / cover no-repeat';
vue.$refs.taixiu.xi_ngau_2 = `url(${url}/caytien.net/tx/xn2.png) ` + generateXiNgauStyle(gameObj.xuc_xac_2) + '% 0% / cover no-repeat';
vue.$refs.taixiu.xi_ngau_3 = `url(${url}/caytien.net/tx/xn2.png) ` + generateXiNgauStyle(gameObj.xuc_xac_3) + '% 0% / cover no-repeat';
}
}));
channelTaiXiuDatKeo.bind('my-event', function(data) {
var gameObj = data.message;
vue.$refs.taixiu.amountUser.tag.tai = generateAmountUserTag(gameObj.amountUserTai);
vue.$refs.taixiu.amountUser.tag.xiu = generateAmountUserTag(gameObj.amountUserXiu);
vue.$refs.taixiu.amount.tag.tai = generateAmountTag(gameObj.amountTai);
vue.$refs.taixiu.amount.tag.xiu = generateAmountTag(gameObj.amountXiu);
});
//chat
var channelChat = pusher.subscribe('chat');
$.get(url + '/chat').done(function (res) {
res = JSON.parse(res);
let list = [];
res.forEach((item, index) => {
list.push(JSON.parse(item));
});
vue.$refs.chatbox.msg = list.reverse();
vue.$refs.chatbox._url = url;
vue.$refs.chatbox.chatColor = chatColor;
});
channelChat.bind('my-event', function (data) {
$.get(url + '/chat').done(function (res) {
res = JSON.parse(res);
let list = [];
res.forEach((item, index) => {
list.push(JSON.parse(item));
});
vue.$refs.chatbox.msg = list.reverse();
vue.$refs.chatbox._url = url;
vue.$refs.chatbox.chatColor = chatColor;
});
});
//ably
//WZ2P7w.DtxTxA:k7eJNFZz1doR6E7Q
//qZmPwg.FxxTHQ:xblCfQ8qrEyDHCaw
//qZQrkA.rM3QFw:Ngfkz9KNN0S9olnG
//6stlRA.dDLpYg:oMCnJCOpdfT506NI
AblyKeys = [
'WZ2P7w.DtxTxA:k7eJNFZz1doR6E7Q',
'qZmPwg.FxxTHQ:xblCfQ8qrEyDHCaw',
'qZQrkA.rM3QFw:Ngfkz9KNN0S9olnG',
'6stlRA.dDLpYg:oMCnJCOpdfT506NI',
'6stlRA.JBr1Kg:ARNy4nlyH1u49tpN'
];
AblyKeys.map( key => {
console.log(key)
let client = new Ably.Realtime(key);
var channelTaiXiu = client.channels.get('taixiu');
var channelTaiXiuMd5 = client.channels.get('taixiu_' + channelMd5);
var channelTaiXiuDatKeo = client.channels.get('taixiu.datkeo');
var channelChat = client.channels.get('chat');
[channelTaiXiu, channelTaiXiuMd5].map( x => x.subscribe('myEvent', function(message) {
var gameObj = message.data.message;
vue.$refs.taixiu.id = gameObj.id;
vue.$refs.taixiu.amountUser.tag.tai = generateAmountUserTag(gameObj.amountUserTai);
vue.$refs.taixiu.amountUser.tag.xiu = generateAmountUserTag(gameObj.amountUserXiu);
vue.$refs.taixiu.amount.tag.tai = generateAmountTag(gameObj.amountTai);
vue.$refs.taixiu.amount.tag.xiu = generateAmountTag(gameObj.amountXiu);
//console.log(gameObj);
//console.log(gameObj.status);
let refreshIntervalId;
//nếu game ở trạng thĂ¡i Ä‘ang chạy
if (gameObj.status === 'running'){
//console.log('tai xiu running');
vue.$refs.taixiu.status.downTimeDisplay = 'block';
vue.$refs.taixiu.status.opacityDangCanCua = 0;
vue.$refs.taixiu.status.opacityXiNgau = 0;
vue.$refs.updia = false;
showNotify = 0;
showNotifyProfit = 0;
//thá»i gian kết thĂºc
//let finishedAt = gameObj.finishedAtUnixTimestamp;
//đếm ngược
refreshIntervalId = setInterval( () => {
var now = new Date();
var t = new Date( gameObj.finishedAtUnixTimestamp * 1000);
let difference = (t - now) / 1000;
difference = Math.round(difference);
//console.log(difference);
if( difference >= 0 ){
//console.log("You waited: " + difference + " seconds");
let left = difference.toString().charAt(0)
let right = difference.toString().charAt(1)
for (let i=0; i< percentArray.length; i++){
if(left == i.toString()){
left = percentArray;
}
if(right == i.toString()){
right = percentArray;
}
if ( difference.toString().length == 1 ){
left = 0;
right = percentArray[difference]
}
}
vue.$refs.taixiu.downTime.left = left;
vue.$refs.taixiu.downTime.right = right;
}else {
clearInterval(refreshIntervalId);
vue.$refs.taixiu.status.downTimeDisplay = 'none';
vue.$refs.taixiu.status.opacityDangCanCua = 1;
vue.$refs.taixiu.status.opacityXiNgau = 0;
}
}, 1000);
}
//nếu game ở trạng thĂ¡i Ä‘ang tĂnh toĂ¡n
if (gameObj.status === 'calculating'){
vue.$refs.taixiu.status.downTimeDisplay = 'none';
vue.$refs.taixiu.status.opacityDangCanCua = 1;
vue.$refs.taixiu.status.opacityXiNgau = 0;
}
//nếu game ở trạng thĂ¡i trả kết quả
if (gameObj.status === 'resulting'){
vue.$refs.taixiu.status.downTimeDisplay = 'none';
vue.$refs.taixiu.status.opacityDangCanCua = 0;
vue.$refs.taixiu.status.opacityXiNgau = 1;
vue.$refs.taixiu.xi_ngau_1 = `url(${url}/caytien.net/tx/xn2.png) ` + generateXiNgauStyle(gameObj.xuc_xac_1) + '% 0% / cover no-repeat';
vue.$refs.taixiu.xi_ngau_2 = `url(${url}/caytien.net/tx/xn2.png) ` + generateXiNgauStyle(gameObj.xuc_xac_2) + '% 0% / cover no-repeat';
vue.$refs.taixiu.xi_ngau_3 = `url(${url}/caytien.net/tx/xn2.png) ` + generateXiNgauStyle(gameObj.xuc_xac_3) + '% 0% / cover no-repeat';
updateBalance();
showNotify++;
if (!vue.$refs.taixiu.nan){
if (showNotify === 1) {
generateBangKetQuaTaiXiu();
$.notify("Kết quả tĂ i xỉu : " + gameObj.xuc_xac_1 + " " + gameObj.xuc_xac_2 + " " + gameObj.xuc_xac_3, "info");
showNotify ++;
}
}
//notify
if (typeof (userId) != 'undefined'){
//hiển thị số tiá»n thắng
$.post(url + '/api/game/taixiu/tienthang', {
'game_id' : gameObj.id,
'user_id' : userId
}).done(function (res) {
console.log(res);
let thang = res.repay_value - res.value;
if (thang > 0){
//$.notify("Bạn thắng kèo tĂ i xỉu #" + data.id + " : " + thang, "info")
if (showNotifyProfit === 0)
$.notify( "+" + thang, "info")
}else if (thang < 0) {
if (showNotifyProfit === 0)
$.notify( thang, "info")
}
showNotifyProfit++;
});
}
}
//nếu game ở trạng thĂ¡i hoĂ n thĂ nh
if (gameObj.status === 'finished'){
vue.$refs.taixiu.status.downTimeDisplay = 'none';
vue.$refs.taixiu.status.opacityDangCanCua = 0;
vue.$refs.taixiu.status.opacityXiNgau = 1;
vue.$refs.taixiu.xi_ngau_1 = `url(${url}/caytien.net/tx/xn2.png) ` + generateXiNgauStyle(gameObj.xuc_xac_1) + '% 0% / cover no-repeat';
vue.$refs.taixiu.xi_ngau_2 = `url(${url}/caytien.net/tx/xn2.png) ` + generateXiNgauStyle(gameObj.xuc_xac_2) + '% 0% / cover no-repeat';
vue.$refs.taixiu.xi_ngau_3 = `url(${url}/caytien.net/tx/xn2.png) ` + generateXiNgauStyle(gameObj.xuc_xac_3) + '% 0% / cover no-repeat';
}
}));
channelTaiXiuDatKeo.subscribe('myEvent', function(message) {
var gameObj = message.data.message;
vue.$refs.taixiu.amountUser.tag.tai = generateAmountUserTag(gameObj.amountUserTai);
vue.$refs.taixiu.amountUser.tag.xiu = generateAmountUserTag(gameObj.amountUserXiu);
vue.$refs.taixiu.amount.tag.tai = generateAmountTag(gameObj.amountTai);
vue.$refs.taixiu.amount.tag.xiu = generateAmountTag(gameObj.amountXiu);
});
$.get(url + '/chat').done(function (res) {
res = JSON.parse(res);
let list = [];
res.forEach((item, index) => {
list.push(JSON.parse(item));
});
vue.$refs.chatbox.msg = list.reverse();
vue.$refs.chatbox._url = url;
vue.$refs.chatbox.chatColor = chatColor;
});
channelChat.subscribe('myEvent', function(message) {
$.get(url + '/chat').done(function (res) {
res = JSON.parse(res);
let list = [];
res.forEach((item, index) => {
list.push(JSON.parse(item));
});
vue.$refs.chatbox.msg = list.reverse();
vue.$refs.chatbox._url = url;
vue.$refs.chatbox.chatColor = chatColor;
});
});
});
var socket = io('http://localhost:80');
channels = [ 'taixiu_' + channelMd5, 'taixiu' ];
channels.map( (x) => {
socket.on(x, function(data){
var gameObj = data;
console.log(gameObj);
vue.$refs.taixiu.id = gameObj.id;
vue.$refs.taixiu.amountUser.tag.tai = generateAmountUserTag(gameObj.amountUserTai);
vue.$refs.taixiu.amountUser.tag.xiu = generateAmountUserTag(gameObj.amountUserXiu);
vue.$refs.taixiu.amount.tag.tai = generateAmountTag(gameObj.amountTai);
vue.$refs.taixiu.amount.tag.xiu = generateAmountTag(gameObj.amountXiu);
//console.log(gameObj);
//console.log(gameObj.status);
let refreshIntervalId;
//nếu game ở trạng thĂ¡i Ä‘ang chạy
if (gameObj.status === 'running'){
//console.log('tai xiu running');
vue.$refs.taixiu.status.downTimeDisplay = 'block';
vue.$refs.taixiu.status.opacityDangCanCua = 0;
vue.$refs.taixiu.status.opacityXiNgau = 0;
vue.$refs.updia = false;
showNotify = 0;
showNotifyProfit = 0;
//thá»i gian kết thĂºc
//let finishedAt = gameObj.finishedAtUnixTimestamp;
//đếm ngược
refreshIntervalId = setInterval( () => {
var now = new Date();
var t = new Date( gameObj.finishedAtUnixTimestamp * 1000);
let difference = (t - now) / 1000;
difference = Math.round(difference);
//console.log(difference);
if( difference >= 0 ){
//console.log("You waited: " + difference + " seconds");
let left = difference.toString().charAt(0)
let right = difference.toString().charAt(1)
for (let i=0; i< percentArray.length; i++){
if(left == i.toString()){
left = percentArray;
}
if(right == i.toString()){
right = percentArray;
}
if ( difference.toString().length == 1 ){
left = 0;
right = percentArray[difference]
}
}
vue.$refs.taixiu.downTime.left = left;
vue.$refs.taixiu.downTime.right = right;
}else {
clearInterval(refreshIntervalId);
vue.$refs.taixiu.status.downTimeDisplay = 'none';
vue.$refs.taixiu.status.opacityDangCanCua = 1;
vue.$refs.taixiu.status.opacityXiNgau = 0;
}
}, 1000);
}
//nếu game ở trạng thĂ¡i Ä‘ang tĂnh toĂ¡n
if (gameObj.status === 'calculating'){
vue.$refs.taixiu.status.downTimeDisplay = 'none';
vue.$refs.taixiu.status.opacityDangCanCua = 1;
vue.$refs.taixiu.status.opacityXiNgau = 0;
}
//nếu game ở trạng thĂ¡i trả kết quả
if (gameObj.status === 'resulting'){
vue.$refs.taixiu.status.downTimeDisplay = 'none';
vue.$refs.taixiu.status.opacityDangCanCua = 0;
vue.$refs.taixiu.status.opacityXiNgau = 1;
vue.$refs.taixiu.xi_ngau_1 = `url(${url}/caytien.net/tx/xn2.png) ` + generateXiNgauStyle(gameObj.xuc_xac_1) + '% 0% / cover no-repeat';
vue.$refs.taixiu.xi_ngau_2 = `url(${url}/caytien.net/tx/xn2.png) ` + generateXiNgauStyle(gameObj.xuc_xac_2) + '% 0% / cover no-repeat';
vue.$refs.taixiu.xi_ngau_3 = `url(${url}/caytien.net/tx/xn2.png) ` + generateXiNgauStyle(gameObj.xuc_xac_3) + '% 0% / cover no-repeat';
updateBalance();
showNotify++;
if (!vue.$refs.taixiu.nan){
if (showNotify === 1) {
generateBangKetQuaTaiXiu();
$.notify("Kết quả tĂ i xỉu : " + gameObj.xuc_xac_1 + " " + gameObj.xuc_xac_2 + " " + gameObj.xuc_xac_3, "info");
showNotify ++;
}
}
//notify
if (typeof (userId) != 'undefined'){
//hiển thị số tiá»n thắng
$.post(url + '/api/game/taixiu/tienthang', {
'game_id' : gameObj.id,
'user_id' : userId
}).done(function (res) {
console.log(res);
let thang = res.repay_value - res.value;
if (thang > 0){
//$.notify("Bạn thắng kèo tĂ i xỉu #" + data.id + " : " + thang, "info")
if (showNotifyProfit === 0)
$.notify( "+" + res.repay_value, "info")
}else if (thang < 0) {
if (showNotifyProfit === 0)
$.notify( thang, "info")
}
showNotifyProfit++;
});
}
}
//nếu game ở trạng thĂ¡i hoĂ n thĂ nh
if (gameObj.status === 'finished'){
vue.$refs.taixiu.status.downTimeDisplay = 'none';
vue.$refs.taixiu.status.opacityDangCanCua = 0;
vue.$refs.taixiu.status.opacityXiNgau = 1;
vue.$refs.taixiu.xi_ngau_1 = `url(${url}/caytien.net/tx/xn2.png) ` + generateXiNgauStyle(gameObj.xuc_xac_1) + '% 0% / cover no-repeat';
vue.$refs.taixiu.xi_ngau_2 = `url(${url}/caytien.net/tx/xn2.png) ` + generateXiNgauStyle(gameObj.xuc_xac_2) + '% 0% / cover no-repeat';
vue.$refs.taixiu.xi_ngau_3 = `url(${url}/caytien.net/tx/xn2.png) ` + generateXiNgauStyle(gameObj.xuc_xac_3) + '% 0% / cover no-repeat';
}
});
});
$.get(url + '/chat').done(function (res) {
res = JSON.parse(res);
let list = [];
res.forEach((item, index) => {
list.push(JSON.parse(item));
});
vue.$refs.chatbox.msg = list.reverse();
vue.$refs.chatbox._url = url;
vue.$refs.chatbox.chatColor = chatColor;
});
socket.on('chat', function(data){
$.get(url + '/chat').done(function (res) {
res = JSON.parse(res);
let list = [];
res.forEach((item, index) => {
list.push(JSON.parse(item));
});
vue.$refs.chatbox.msg = list.reverse();
vue.$refs.chatbox._url = url;
vue.$refs.chatbox.chatColor = chatColor;
});
});
socket.on('taixiu.datkeo', function(data){
var gameObj = data;
vue.$refs.taixiu.amountUser.tag.tai = generateAmountUserTag(gameObj.amountUserTai);
vue.$refs.taixiu.amountUser.tag.xiu = generateAmountUserTag(gameObj.amountUserXiu);
vue.$refs.taixiu.amount.tag.tai = generateAmountTag(gameObj.amountTai);
vue.$refs.taixiu.amount.tag.xiu = generateAmountTag(gameObj.amountXiu);
});