[关闭]
@a5635268 2018-03-09T13:17:57.000000Z 字数 1128 阅读 1909

斗地主接口分析文档

接口文档


socket接口 (用于游戏)

说明

消息体说明

  1. {
  2. type: '类型',
  3. message: '消息内容',
  4. status: '成功的status状态都为0,不成功状态为其它值(不成功状态包括数据验证不通过等)'
  5. data: '交互数据'
  6. }

socket链接

握手成功推送用户数据进入首页

要推送用户在线列表

client: token
server: 头像,昵称,龙币,龙晶,签到数据

财富榜

client:
server: [头像,昵称,龙币,排名]
question: 我的排名?

image_1c7t2sdlj8lr1vgn1lhh2o31v4a9.png-1392kB

签到

获取签到数据

client:
server: [龙刀,龙晶,天数]

进行签到

client: 当前的连续签到天数
server: 成功或失败(签到状态本地化)

image_1c7t2vbjf1dns1dse8ibd2qhohm.png-539.8kB

选择房间 class

获取房间基础数据

  1. 建议放在初始化的时候,client只请求一次即可
  2. 建议配置在server端,可以快速更改

client: token
server [基数,龙币,房型]

加入房间

client: token,房型
server: 加入成功或失败

进redis无序集合

image_1c7t4bf8b3r4190t1aco6d41q6p1g.png-776.7kB

匹配玩家(创建或加入牌局)

创建或加入牌局(实现逻辑待分析讨论),先优先加入已有牌局,已有牌局没有,就创建牌局

实现逻辑: 所有要匹配的玩家都进一个组,从那个组里面取出人

client: token,房型

加入牌局

循环所有的basic_room_group,看看有没有,有的话进入小数组room_id_group,广播给其它人

server:

创建牌局

room_id: 2,房间进一个basic_room_group,玩家进room_id_group,进入之后广播给其它人

image_1c7t7oubffllcptvpjiiko551t.png-898.4kB

洗牌

client: 牌局ID
server: 54张牌的数组

发牌

牌值随机后放在room_id_poker里面的一个无序集合里面,然后取出17张牌以后再广播给当前的用户

叫地主

client: 牌局ID,叫或不叫,第几次
server: ok

打牌

要设定时器

  1. 出牌+广播给其它两个人
  2. 要+再出牌
  3. 不要+广播出去
  4. 只要结束就推送胜利或失败消息

顺序由前端负责

image_1c7tb1kq0qsv1p2959jnq490b2a.png-1125.9kB

image_1c7tb2jqr1h1s1un5kgs17s81p6j2n.png-1256.4kB

image_1c7tb453b1tq6138d18v1130571u34.png-739.6kB

HTTP接口(ajax || vue)

说明

  • 参数默认都是必传的,非必传的会有说明

  • 都是通过POST方式请求

  • 成功的status状态都为0

返回消息体说明

  1. {
  2. type: '类型',
  3. message: '消息内容',
  4. status: '成功的status状态都为0,不成功状态为其它'
  5. data: '交互数据'
  6. }

微信授权

验证码发送

绑定手机号

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注