[关闭]
@a5635268 2018-03-18T12:12:05.000000Z 字数 4268 阅读 1269

斗地主接口文档

接口文档


socket接口(用于游戏长链接)

说明

  1. 消息体说明
  1. # server
  2. {
  3. type: '业务类型(英文)',
  4. message: '消息内容(主要是提示说明)',
  5. code: '成功的code都为0,不成功状态为其它值(不成功状态包括数据验证不通过等)'
  6. data: '交互数据'
  7. }
  8. # client
  9. {
  10. "type": "业务类型",
  11. "data": [], // 业务数据
  12. "message": "消息体说明,方便后端日志阅读"
  13. }

2. websocket服务地址

Websocket://dev.landapi.chamshare.cn:8282

注意:要绑定本地hosts: 172.28.3.24

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

client

  1. {
  2. "type": "login",
  3. "data": {
  4. "user_key": "7f5931b4fd3621e3a1e29803df44ca69" # 用户key从GET获取,有效时间5分钟
  5. },
  6. "message": "登录"
  7. }

service

  1. {
  2. "type":"login",
  3. "code":0, // 非0代表有错误,比如用户被禁用,数据验证不通过,用户key过期
  4. "message":"调用成功",
  5. "data":{
  6. "nickname":"菜问",
  7. "avatar":"http://wx.qlogo.cn/mmopen/vi_32/Q0j4TwGTfTKcthg7CBtDdA9eL8dibXXhYQhbKKXbpAEhNQylJAvXMSzF5ud2txpHoAb4HsXOZoMJezqqDlOJXuA/0",
  8. "longbi":0, # 龙币
  9. "longjing":0, # 龙晶
  10. "signData":{
  11. "is_signed":0, # 今日是否已签到,如果为0就要弹出签到页面
  12. "continuous":0 # 签到了多少天
  13. }
  14. }
  15. }

签到

client

  1. {
  2. "type": "sign",
  3. "data": [],
  4. "message": "进行签到"
  5. }

service

  1. {
  2. "type":"sign",
  3. "code":0, // 非0代表有错误
  4. "message":"调用成功",
  5. "data":{
  6. # 返回签到后的龙币和龙晶,用于显示到页面上
  7. "longbi": 3000,
  8. "longjing":0
  9. }
  10. }

排行榜

client

  1. {
  2. "type": "top",
  3. "data": [],
  4. "message": "获取排行榜数据"
  5. }

service

  1. {
  2. "type":"sign",
  3. "code":0, // 非0代表有错误
  4. "message":"调用成功",
  5. "data":{
  6. // 前10名数据
  7. "topTen":{
  8. [
  9. "rank":1, # 当前的名次
  10. "nickname": '昵称',
  11. "avatar": "头像",
  12. "longbi""龙币"
  13. ],
  14. // 我的数据
  15. "myRank":{
  16. [
  17. "rank":1, # 当前的名次
  18. "nickname": '昵称',
  19. "avatar": "头像",
  20. "longbi""龙币"
  21. ]
  22. }
  23. }
  24. }

选择模式加入房间

client

  1. {
  2. "type": "choice_model",
  3. "data": [
  4. "model_id":"1", // 模式ID(1,经典模式)
  5. "greade_id":"1" // 等级id (1初级,2中级,3高级)
  6. ],
  7. "message": "选择模式加入房间"
  8. }

service

  1. {
  2. "type":"choice_model",
  3. "code":0, // 非0代表有错误,要弹出(比如)
  4. "message":"调用成功",
  5. "data": []
  6. }

匹配玩家进入牌桌

client

  1. {
  2. "type": "join_table",
  3. "data": [],
  4. "message": "匹配进入游戏"
  5. }

service

  1. {
  2. "type":"join_table",
  3. "code":0,
  4. "message":"调用成功",
  5. "data":{
  6. "members":[
  7. {
  8. "member_id":"14",
  9. "nickname":"Skins",
  10. "longbi":"60000",
  11. "is_ai":0 //是否ai,0是1否
  12. }
  13. ],
  14. "base_num":1 // 当前房间的基础倍数
  15. }
  16. }

洗牌发牌

client

  1. {
  2. "type": "shuffle",
  3. "data": [],
  4. "message": "洗牌发牌"
  5. }

service

  1. {
  2. "type":"shuffle",
  3. "code":0,
  4. "message":"调用成功",
  5. "data":[
  6. {
  7. // 扑克牌数组后缀:1代表黑桃 2代表红桃 3代表梅花 4代表方块
  8. // 99小王,100大王
  9. // member_id为0就代表底牌
  10. "member_id":15,
  11. "poker":[
  12. "8_1",
  13. "9_1",
  14. "9_2",
  15. "1_4",
  16. "11_3",
  17. "13_1",
  18. "2_2",
  19. 99,
  20. "3_4",
  21. "11_4",
  22. "6_4",
  23. "8_4",
  24. "12_2",
  25. "5_4",
  26. "13_3",
  27. "3_2",
  28. "9_4"
  29. ]
  30. },
  31. {
  32. "member_id":0,
  33. "poker":[
  34. "13_4",
  35. "11_2",
  36. "7_2"
  37. ]
  38. }
  39. ]
  40. }

游戏开始

client

  1. {
  2. "type":"game_start",
  3. "data":{
  4. "status":"1" // 0普通开始 1明牌开始 2进行中明牌开始 3结束后明牌开始
  5. },
  6. "message":"游戏开始"
  7. }

service

  1. {
  2. "type":"game_start",
  3. "code":0,
  4. "message":"调用成功",
  5. "data": []
  6. }

叫地主

client

  1. {
  2. "type":"call",
  3. "data": {'is_call':1}, // 1不叫2叫
  4. "message":"叫地主"
  5. }

service

  1. {
  2. "type":"call",
  3. "code":0,
  4. "message":"调用成功",
  5. "data": [
  6. 'member_id' : 1 // 广播出去的,谁叫的地主
  7. ]
  8. }

抢地主

client

  1. {
  2. "type":"rob",
  3. "data": [],
  4. "message":"叫地主"
  5. }

service

  1. {
  2. "type":"rob",
  3. "code":0,
  4. "message":"调用成功",
  5. "data": [
  6. 'member_id' : 1 // 广播出去的,谁叫的地主
  7. ]
  8. }

出牌

client

  1. {
  2. "type":"hand",
  3. "data": [
  4. '1-1','2-2','3-2'
  5. ],
  6. "message":"出牌"
  7. }

service

出牌就是个验证的过程:

  1. 验证出的牌是不是属于当前会话的;
  2. 如果有上家牌的话就验证是否能大过上家牌;
  3. 3.
  1. {
  2. "type":"hand",
  3. "code":0,
  4. "message":"调用成功",
  5. "data": []
  6. }

HTTP接口(ajax || vue)

说明

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

  • 都是通过POST方式请求

  • 成功的status状态都为0

微信授权

api

http://dev.landapi.chamshare.cn/member/Publics/authorization

params

  1. {
  2. "code": "asdf",
  3. }

response

  1. # success
  2. {
  3. "status": 0,
  4. "data": {
  5. 'url': '标识了用户信息的链接' // 注意该链接中的用户标识只有五分钟有效
  6. },
  7. "message": "调用成功"
  8. }
  9. # error // 1003跳转绑定手机号,其它错误弹框提示
  10. {
  11. "status": 1003,
  12. "data": {
  13. 'openid': '绑定手机号时用到'
  14. },
  15. "message": "调用成功"
  16. }

发送验证码

api

 http://dev.landapi.chamshare.cn/member/Publics/sendSms

params

{"phone" : "18221998888"}

response

  1. {
  2. "status": 3,
  3. "data": [],
  4. "message": "手机号码格式不正确"
  5. }

绑定手机号

api

 http://dev.landapi.chamshare.cn/member/Publics/binding

params

{
    "phone" : "18221998888",
    "code" : "验证码",
    "openid" : “”,
}

response

  1. {
  2. "status": 0,
  3. "data": {
  4. 'url': '标识了用户信息的链接' // 注意该链接中的用户标识只有五分钟有效
  5. },
  6. "message": "调用成功"
  7. }

获取APPID

api

 http://dev.landapi.chamshare.cn/member/Publics/getAppid

response

  1. {
  2. "status": 0,
  3. "data": {
  4. 'app_id': '用户端id'
  5. },
  6. "message": "调用成功"
  7. }

防沉迷(用户真实姓名和身份证绑定)

api

 http://landapi.chamshare.cn/member/Publics/setAnti

param

  1. {
  2. "card_id": '身份证号',
  3. "realname": "真实姓名",
  4. "openid"
  5. }

response

  1. {
  2. "status": 0,
  3. "data": {
  4. 'app_id': '用户端id'
  5. },
  6. "message": "调用成功"
  7. }

用户登录

api

 http://dev.landapi.chamshare.cn/member/Publics/login

跳转获得user_key的链接 http://landclient.chamshare.cn/ (注意:必须在微信客户端打开)

param

  1. {
  2. "user_key": '身份证号',
  3. }

response

  1. {
  2. "type":"login",
  3. "code":0, // 非0代表有错误,比如用户被禁用,数据验证不通过,用户key过期
  4. "message":"调用成功",
  5. "data":{
  6. "nickname":"菜问",
  7. "avatar":"http://wx.qlogo.cn/mmopen/vi_32/Q0j4TwGTfTKcthg7CBtDdA9eL8dibXXhYQhbKKXbpAEhNQylJAvXMSzF5ud2txpHoAb4HsXOZoMJezqqDlOJXuA/0",
  8. "longbi":0, # 龙币
  9. "longjing":0, # 龙晶
  10. "token" : 'uuuuuuu',
  11. "signData":{
  12. "is_signed":0, # 今日是否已签到,如果为0就要弹出签到页面
  13. "continuous":0 # 签到了多少天
  14. }
  15. }
  16. }

龙币增加扣减

api

 http://landapi.chamshare.cn/member/Member/longbiAdd
 http://landapi.chamshare.cn/member/Member/longbiSub

param

  1. {
  2. "value": '积分值',
  3. "source" 2
  4. "token" : '用户token'
  5. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注