你画我猜后端对接文档

你画我猜

Posted by samll_ant on February 24, 2021

你画我猜后端内容

基本内容

  1. 端口:4321
  2. 后端开发语言: go 1.15.6
  3. 通信方式: websocket
  4. 数据库存储: sqlite
  5. 运行:
    源代码地址: code
    main.go 开启服务端
    writeDB.go 将Thesaurus.xlsx 文件中的题目和提示文件写入数据库,新增数据需要把文件清空
    LOG\error.log 输出log日志,便于查看排查问题

数据传输格式

  1. 后端接受消息格式: json 转 str
    example: {“name”:”login”,”values”:”{“nickName”:”smal”,”openID”:”12345”,”avatarUrl”:”https:”}”}
    desc: name 为请求地址实现的功能; vlaues 为此方法需要的数据
  2. 后端返回消息格式: str 可以转为json
    example: {“status”:”ok”,”mes”:” “,”data”:{“openID”:”12345”,”nickName”:”smal”,”avatarUrl”:”https:”,”level”:”1”,”money”:”300”,”orther”:””,”id”: “1”}}
    desc: status 请求状态 ok表示请求成功 error 表示请求失败 room 为房间内的数据传输; mes 为提示信息;data 为返回的数据

请求接口

  1. 登录功能
    name: login
    values: {nickname:用户昵称,openid:微信小程序时下发id其他情况可以随机生成,avatarUrl:用户头像地址’}
  2. 开房间功能
    name: room
    values: {Type: 是否为新建房间,如果为ture则是新建房间否则是匹配房间,返回房间号-房间成员信息,前端切换到房间场景,roomID:查找房间},进入房间自动准备
  3. 房间内消息发送
    name: gaming
    values: {RoomID:房间号,Message:send,User:当前用户OpenID,Data:需要转发的数据}
  4. 房间内准备
    name : gaming
    values: {RoomID:,Message:ready,user,Data:准备为字符串true取消准备为字符串false} 返回房间成员和准备情况,
  5. 退出房间
    name : gaming
    valuse: {RoomID,Message:leave,user:} 发送退出房间消息和房间成员准备情况
  6. 房主开始游戏
    name : gaming
    valuse: {RoomID,Message:start,user:} 房间公告信息,能不能开始游戏提示等
  7. 画家获取生成词语
    name : gaming
    valuse: {RoomID,Message:word,user:} 四个词语的示例
  8. 画家选取词语
    name : gaming
    valuse: {RoomID,Message:choose,user:,Data:选取的词语}画家选取词语,系统提示正常与否
  9. 玩家猜词语
    name : gaming
    valuse: {RoomID,Message:guess,user:,Data} 猜对与否
  10. 获取单个用户的头像等信息
    name : getUser
    values: {openid:微信小程序时下发id}
  11. 给用户点赞
    name : like
    values: {openid:微信小程序时下发id}
  12. 清空点赞,对局次数,得分状态
    name : clear
    values: {openid:微信小程序时下发id}

    状态获取

    GameSuccess 开始游戏成功
    GameError 开始游戏失败
    RoundOver 回合结束
    GameOver 游戏结束
    GameCountdown 开始游戏倒计时开始
    StartCountdownStop 开始游戏倒计时结束
    ChooseWordCountdown 选词倒计时开始
    ChooseCountdownStop 选词倒计时结束
    DrawCountdown 画画倒计时开始
    DrawCountdownStop 画画倒计时结束
    RoundCountdown 回合点赞倒计时开始
    RoundCountdownStop 回合点赞倒计时结束
    GameOverCountdown 游戏结算倒计时开始
    GameOverCountdownStop 游戏结算倒计时结束

房间内数据

status 为system 此时数据为房间内的聊天,替换OpenId 为nickname
status room 所发送的数据包括

  • 房间内成员和准备状态,房主为谁 用户准备,取消准备,退出,进入房间触发此返回信息
  • 房间状态 上述的游戏状态
  • status time 倒计时时间