>[danger]当有玩家加入游戏时,服务器推送给客户端数据,数据会推送到亲友圈和游戏房间
```
$return['type']="addUser";
$return['users']=$users;//在房间中,游戏玩家列表
$return['uid']=$uid;//当前加入玩家的用户id
$return['p']=0;//当前玩家在桌子上的位置
$return['config']=array(
'roomId'=>$roomid,//房间id
"groupId"=>$room['room']['groupId'],//亲友圈id
'roomGroup'=>$room['room']['roomGroup'],//亲友圈号
'players'=>$gamePlayers,//几个玩家开始游戏
'banker'=>$room['game']['banker'],//庄家
'gameNum'=>$room['room']['gameNum'],//房间游戏总共多少局
'currentNum'=>$room['room']['currentNum'])//游戏当前局数
'number'=>$room['room']['number']);//游戏桌号
```
>$users是一个json格式对象,格式为
```
{
p:{
userSign:1, //玩家id
nickName:'昵称',//玩家昵称
headImg:'img/headImg.jpg', //玩家头像
ready:'1', //玩家是否准备,1:准备,0:未准备
point:0', //玩家积分
p:1//玩家在桌上的位置
}
}
p:玩家在桌上的真实位置
```
>[danger]当有玩家重新连接到游戏中,服务器推送给客户端数据,数据会推送到亲友圈和游戏房间
```
$return['type']="reConnec";
$return['users']=$users;//在房间中,游戏玩家列表
$return['uid']=$uid;//当前玩家uid
$return['p']=0;//当前玩家在桌子上的位置
$return['isOpen']= $isopen ;//游戏是否开始
$return['drawing']=0//游戏是否听牌
$return['cardLength']= $isopen ? count($room['cards']) : 136;//麻将张数
$return['cardRecord']=0//麻将出牌记录
$return['config']=array(
'roomId'=>$roomid,//房间id
"groupId"=>$room['room']['groupId'],//亲友圈id
'roomGroup'=>$room['room']['roomGroup'],//亲友圈号
'players'=>$gamePlayers,//几个玩家开始游戏
'banker'=>$room['game']['banker'],//庄家
'gameNum'=>$room['room']['gameNum'],//房间游戏总共多少局
'currentNum'=>$room['room']['currentNum'])//游戏当前局数
'number'=>$room['room']['number']);//游戏桌号
```
>$users是一个json格式对象,格式为
```
{
p:{
userSign:1, //玩家id
nickName:'昵称',//玩家昵称
headImg:'img/headImg.jpg', //玩家头像
ready:'1', //玩家是否准备,1:准备,0:未准备
point:0', //玩家积分
p:1//玩家在桌上的位置
}
}
p:玩家在桌上的真实位置
```
>[danger]当有玩家离开游戏时,服务器推送给客户端数据,数据会推送到亲友圈和游戏房间
```
$return['type']="removeUser";
$return['roomid']=10;
//房间id
$return['users']=$users;//在房间中,游戏玩家列表
$return['uid']=$uid;//当前离开玩家的用户id
$return['p']=0;//当前离开玩家在桌子上的位置
$return['banker']=0;//当前游戏庄家的位置
```
>$users是一个json格式对象,格式为
```
{
p:{
userSign:1, //玩家id
nickName:'昵称',//玩家昵称
headImg:'img/headImg.jpg', //玩家头像
ready:'1', //玩家是否准备,1:准备,0:未准备
point:0', //玩家积分
p:1//玩家在桌上的位置
}
}
p:玩家在桌上的真实位置
```
>[danger]当游戏开始是,数据会推送到亲友圈
```
$returnGroup['type'] = "gameOpen";
$returnGroup['users'] = $users;
$returnGroup['gameNum'] = $room['room']['gameNum'];//游戏总局数
$returnGroup['currentNum'] = $room['room']['currentNum'];//当前游戏局数
$returnGroup['roomid'] = $roomid;
```
>$users是一个json格式对象,格式为
```
{
p:{
userSign:1, //玩家id
nickName:'昵称',//玩家昵称
headImg:'img/headImg.jpg', //玩家头像
p:1//玩家在桌上的位置
}
}
p:玩家在桌上的真实位置
```
>[danger]游戏当胡牌后返回前局数的战绩
```
$return['type'] = "gains";
$return['winType'] = $p;//胡牌类型,1为七大对,3一条龙,4清一色
$return['winP'] = $p;//-1为自摸,0为普通胡牌大于0为点炮玩家位置,-2和牌
$return['p'] = $p;//胡牌玩家位置
$return['uid'] = $uid;//胡牌玩家uid
$return['users'] = $users;//会员信息
$return['nextBanker'] = $p//下一个庄家位置
$return['banker'] = $room['game']['banker'];//当前庄家位置
$return['currentNum'] = 8;//当前游戏局数
$return['gameNum'] = 2;//游戏总局数
$return['cards'] = $userHandCards;//玩家手牌
$return['totalGainsId'] = $insertId//玩家查找总战绩标识id
$return['roomid'] = $roomid;
$return['gameType'] = "Points";
$return['card'] = 0;//所胡的牌
$return['sign'] = "Points";
```
>$users是一个json格式对象,格式为
```
{
p:{
userSign:1, //玩家id
nickName:'昵称',//玩家昵称
headImg:'img/headImg.jpg', //玩家头像
point:0', //玩家当前积分
winPoint:0', //玩家当前游戏所赢积分,整数为赢,负数为输
p:1//玩家在桌上的位置
}
}
p:玩家在桌上的真实位置
```
>$userHandCards是一个json格式对象,格式为
```
{
p:{
cards:{1,2,3},//当前玩家的手牌
M3:{12:3},//当前玩家碰牌,key为所碰的牌值,值为当前碰牌为那个位置的玩家所点出
M4:{12:3},//当前玩家明杠,key为所碰的牌值,值为当前碰牌为那个位置的玩家所点出
M5:{12:3},//当前玩家暗杠,key为所碰的牌值,值为当前碰牌为那个位置的玩家所点出
}
}
p:玩家在桌上的真实位置,M3,M4,M5有可能不存在
```
>[danger]玩家获取总战绩
>客户端发送
```
{
type:"totalGains",
totalGainsId:1, //战绩表示id,relatives_group_roomlog数据表中的id
}
```
>服务器返回数据格式
```
{
type:"totalGains",
time:2018-3-17 3:15:20, //游戏时间
users:$user, //用户数据
number:1, //房间序号
}
```
>$users是一个json格式对象,格式为
```
{
key:{
id:1, //玩家id
nickname:'昵称',//玩家昵称
headpath:'img/headImg.jpg', //玩家头像
point:0, //玩家所赢积分 整数赢 负数输
}
}
```
>[danger]下局游戏准备
>客户端发送
```
{
type:"ready",
roomid:10, //房间id
gameType:"Points", //游戏类型
sign:"Points" //标识文件
}
``