ic1101_cocos_API.md 34 KB

IC1101 Cocos API

一、通用说明

通用前缀: http://192.168.7.231:7379/new_battle

万能验证码 : 0123456789

请求方式: Get

测试客户端:

加密说明

测试秘钥(正式服记得替换): ad78144c4e331a3e6bb811286247c3ec

将加密参数已字母顺序排列 ,通过 | 拼接 ,做MD5加密

原始串

http://127.0.0.1:7379/new_battle/accountRegister?account=a1&pwd=12321323&email=guoliang@gliangliang.com&emailCode=0123456789&sign=0f6aa27a4e529987d808162e38e731ef&timestamp=1676373020000&loginType=1
account=a1|email=guoliang@gliangliang.com|emailcode=null|logintype=null|pwd=12321323|timestamp=1676373020000|
account=a1|email=guoliang@gliangliang.com|emailcode=null|logintype=null|pwd=12321323|timestamp=1676373020000|ad78144c4e331a3e6bb811286247c3ec
58002e207bd66b6390658574e8433fab

二、枚举定义

1.登录类型枚举 ChannelEnum
public enum ChannelEnum {
    WD(1, "wallect connect QR code"),
    MetaMask(2, "Metamask网页登录"),
    GameAccount(3, "游戏账号登录"),
    Guest(4, "游客登录"),
    UNKNOWN(1000, "未知");
}
2.钱包类型 WalletEnum
public enum WalletEnum {
    Game(1, "游戏小钱包"),
    Auth(2, "认证的WEB3钱包"),
    UNKNOWN(1000, "未知");
}
3.登录类型 LoginEnum
public enum LoginEnum {
    Cocos(1, "Cocos"),
    PcUe5(2, "PcUe5"),
    WebSite(3, "官网");
}
4.用户性别 CocosUserGenderEnum
public enum CocosUserGenderEnum {

    Male(1, "男"),
    Female(2, "女"),
    UNKNOWN(1000, "未知");
}
5.道具状态 CocosItemStatusEnum
public enum CocosItemStatusEnum {

    Idle(0, "空闲"),
    Equip(1, "装饰中"),

    UNKNOWN(1000, "未知");
}
5.slot type CocosItemTypeEnum
public enum CocosItemTypeEnum {
    Exhibition(1, "展厅"),
    Floor(2, "地面"),
    Lamp(3, "挂墙面"),
    Ceiling(4,"天花板"),
    Frame(5,"画框"),
    Ground(6,"地板"),
    Wall(7,"墙壁"),
    Photo(8, "相册"),
}

三、API列表

1.多渠道登录接口 /loginByChannel

image-20230215193208858

请求

参数名 类型 可否为空 是否参与加密 说明
channelId int 1.二维码walletconnect扫码登录 2.钱包登录metamask 3.传统账密登录 ,具体见ChannelEnum结构
account string 账号名
pwd string 密码
sign string md5加密值
timestamp string 时间戳 毫秒
loginType int 登录类型,具体见LoginEnum结构
http://192.168.7.221:7379/new_battle/loginByChannel?channelId=1&account=0xeccbc87e4b5ce2fe28308fd9f2a7baf3&sign=0f6aa27a4e529987d808162e38e731ef&timestamp=1676373020000&loginType=1

返回:

{
    "data": {
        "account": "",
        "authWallets": [
            {
                "address": "0xeccbc87e4b5ce2fe28308fd9f2a7baf3",
                "createAt": 1677058652012,
                "createTime": "2023-02-22 17:37:32",
                "id": 12
            }
        ],
        "bindAt": -1,
        "bindTime": "",
        "channelId": 1,
        "createAt": 1677058646727,
        "createTime": "2023-02-22 17:37:26",
        "edit": false,
        "email": "",
        "id": 13,
        "inviteCode": "6L79MG1TBP",
        "lastLoginAt": 1677058652048,
        "lastLoginIp": "192.168.7.231",
        "lastLoginTime": "2023-02-22 17:37:32",
        "loginType": 1,
        "nickName": "0xeccbc87e4b5ce2fe28308fd9f2a7baf3",
        "score": 100,
        "smallWallet": {
            "address": "0x00000000000000000000000000000000",
            "createAt": 1677058651989,
            "createTime": "2023-02-22 17:37:31",
            "hdIdx": 12,
            "id": 12
        },
        "status": 1,
        "token": "ZNVEtxogWA",
        "tokenExpireAt": 1677317852048,
        "tokenExpireTime": "2023-02-25 17:37:32",
        "user": {
            "accountId": 13,
            "createAt": 1677058651987,
            "createTime": "2023-02-22 17:37:31",
            "nickName": "0xeccbc87e4b5ce2fe28308fd9f2a7baf3"
        }
    },
    "errCode": 0,
    "errMsg": "Success",
    "totalSize": 0
}
2 .web端账号绑定接口 /bindAccountWithWallet

牵涉到的功能

  • 邮箱验证码认证

  • 上级用户邀请码溯源后的积分增加

请求

参数名 类型 可否为空 是否参与加密 说明
token string 登录成功后获取的令牌
account string 账号名
pwd string 密码
email string 邮箱
emailCode string 邮箱验证码
srcInviteCode string 我上级的邀请码
sign string md5加密值
timestamp string 时间戳 毫秒
http://127.0.0.1:7379/new_battle/bindAccountWithWallet?account=a1&pwd=123456&email=a1@qq.com&emailCode=xjhung&srcInviteCode=loqsx&sign=0f6aa27a4e529987d808162e38e731ef&timestamp=1676373020000&token=kjumh

返回:

{
    "data": {
        "account": "a1",
        "authWallets": [
            {
                "address": "0xeccbc87e4b5ce2fe28308fd9f2a7baf3",
                "createAt": 1676459788011,
                "createTime": "2023-02-15 19:16:28",
                "id": 7
            }
        ],
        "channelId": 1,
        "createAt": 1676459787846,
        "createTime": "2023-02-15 19:16:27",
        "edit": true,
        "email": "a1@qq.com",
        "id": 8,
        "inviteCode": "ADSFCSNPCU",
        "lastLoginIp": "",
        "nickName": "a1",
        "score": 0,
        "smallWallet": {
            "address": "0x00000000000000000000000000000000",
            "createAt": 1676459787993,
            "createTime": "2023-02-15 19:16:27",
            "hdIdx": 7,
            "id": 7
        }
    },
    "errCode": 0,
    "errMsg": "Success"
}
3 .账号信息接口 /accountInfo

请求

参数名 类型 可否为空 是否参与加密 说明
token string 登录成功后获取的令牌
loginType int 登录类型,具体见LoginEnum结构
sign string md5加密值
timestamp string 时间戳 毫秒

请求

http://127.0.0.1:7379/new_battle/accountInfo?token=oZtH7N6ovx&sign=0f6aa27a4e529987d808162e38e731ef&timestamp=1676373020000

返回

{
    "data": {
        "account": "test1111",
        "bindAt": -1,
        "bindTime": "",
        "channelId": 3,
        "createAt": 1677121736738,
        "createTime": "2023-02-23 11:08:56",
        "edit": true,
        "email": "guoliang@gliangliang.com",
        "id": 14,
        "inviteCode": "MHVXK00ZBK",
        "lastLoginAt": 0,
        "lastLoginIp": "127.0.0.1",
        "loginType": 0,
        "nickName": "test1111",
        "score": 100,
        "smallWallet": {
            "address": "0x00000000000000000000000000000000",
            "createAt": 1677121738056,
            "createTime": "2023-02-23 11:08:58",
            "hdIdx": 13,
            "id": 13
        },
        "status": 0,
        "token": "fFRHmZKSoh",
        "tokenExpireAt": 1677380938998,
        "tokenExpireTime": "2023-02-26 11:08:58",
        "user": {
            "accountId": 14,
            "createAt": 1677121742318,
            "createTime": "2023-02-23 11:09:02",
            "nickName": "test1111"
        }
    },
    "errCode": 0,
    "errMsg": "Success",
    "totalSize": 0
}
4 .账号拉新积分明细 /accountScoreDetails

请求

参数名 类型 是否必填 是否参与加密 说明
pageSize int 分页的单页最大记录数,-1代表不分页,获取所有数据,默认是10条
curIdx int 当前第几页,默认从0开始
token string 登录成功后获取的令牌
sign string md5加密值
timestamp string 时间戳 毫秒
http://127.0.0.1:7379/new_battle/accountScoreDetails?token=oc904uFv4f&sign=0f6aa27a4e529987d808162e38e731ef&timestamp=1676373020000

返回

{
    "data": [
        {
            "createAt": 1676623234384,
            "createTime": "2023-02-17 16:40:34",
            "dstAccountId": 10,
            "dstAccountName": "",
            "dstPoint": 100,
            "eventDesc": "成功注册增加100积分",
            "srcAccountId": 10,
            "srcPoint": 0
        }
    ],
    "errCode": 0,
    "errMsg": "Success",
    "totalSize": 1
}
5. 获取邮箱验证码 /mailCode

只有在AWS上的服务器才能有效发送验证码 ,本地服务器由于国内的墙的问题,无法发送邮件

请求

参数名 类型 是否必填 是否参与加密 说明
email string 邮箱地址
sign string md5加密值
timestamp string 时间戳 毫秒

请求

http://127.0.0.1:7379/new_battle/mailCode?email=guoliang@gliangliang.com
http://192.168.7.221:7379/new_battle/mailCode?email=guoliang@gliangliang.com

返回

{
    "errCode": 0,
    "errMsg": "Success",
    "totalSize": 0
}
6. 忘记密码 /passwordForget

请求

参数名 类型 是否必填 是否参与加密 说明
account string 账号名
newPwd string 新密码
email string 邮箱地址
emailCode string 验证码
sign string md5加密值
timestamp string 时间戳 毫秒

请求

http://127.0.0.1:7379/new_battle/passwordForget?account=test1111&newPwd=2&email=guoliang@gliangliang.com&emailCode=0123456789

返回

{
    "errCode": 0,
    "errMsg": "Success",
    "totalSize": 0
}
7. 新用户注册 /accountRegister

请求

参数名 类型 是否必填 是否参与加密 说明
account string 账号
pwd string 新密码
email string 邮箱地址
emailCode string 验证码,万能验证码见文档第一章
sign string md5加密值
timestamp string 时间戳 毫秒
loginType int 登录类型,具体见LoginEnum结构
inviteCode string 上级邀请码

请求

http://127.0.0.1:7379/new_battle/accountRegister?account=test1111&pwd=12321323&email=guoliang@gliangliang.com&emailCode=0123456789&sign=0f6aa27a4e529987d808162e38e731ef&timestamp=1676373020000&loginType=1
account=a1|email=guoliang@gliangliang.com|emailcode=null|logintype=null|pwd=12321323|timestamp=1676373020000|
account=a1|email=guoliang@gliangliang.com|emailcode=null|logintype=null|pwd=12321323|timestamp=1676373020000|ad78144c4e331a3e6bb811286247c3ec
58002e207bd66b6390658574e8433fab

返回

{
    "data": {
        "account": "test1111",
        "bindAt": -1,
        "bindTime": "",
        "channelId": 3,
        "createAt": 1677121736738,
        "createTime": "2023-02-23 11:08:56",
        "edit": true,
        "email": "guoliang@gliangliang.com",
        "id": 14,
        "inviteCode": "MHVXK00ZBK",
        "lastLoginAt": 1677121738998,
        "lastLoginIp": "127.0.0.1",
        "lastLoginTime": "2023-02-23 11:08:58",
        "loginType": 0,
        "nickName": "test1111",
        "score": 100,
        "smallWallet": {
            "address": "0x00000000000000000000000000000000",
            "createAt": 1677121738056,
            "createTime": "2023-02-23 11:08:58",
            "hdIdx": 13,
            "id": 13
        },
        "status": 1,
        "token": "fFRHmZKSoh",
        "tokenExpireAt": 1677380938998,
        "tokenExpireTime": "2023-02-26 11:08:58",
        "user": {
            "accountId": 14,
            "createAt": 1677121742318,
            "createTime": "2023-02-23 11:09:02",
            "nickName": "test1111"
        }
    },
    "errCode": 0,
    "errMsg": "Success",
    "totalSize": 0
}
8. 绑定邮箱 /bindEmail

请求

参数名 类型 是否必填 是否参与加密 说明
account string 账号
pwd string 新密码
email string 邮箱地址
emailCode string 验证码
sign string md5加密值
timestamp string 时间戳 毫秒
9.更新性别 /updateSex

请求

参数名 类型 可否为空 是否参与加密 说明
token string 登录成功后获取的令牌
gender int 性别,具体见CocosUserGenderEnum结构
sign string md5加密值
timestamp string 时间戳 毫秒

返回

{
    "errCode": 0,
    "errMsg": "Success",
    "totalSize": 0
}
10. 商城购买道具/itemBuy

请求

参数名 类型 是否必填 是否参与加密 说明
token string 登录成功后获取的令牌
itemDictIds string 道具字典表ID,多个道具用逗号拼接字符串
address string 钱包地址
sign string md5加密值
timestamp string 时间戳 毫秒

返回

{
    "errCode": 0,
    "errMsg": "Success",
    "totalSize": 0
}
11.背包数据请求 /bags

请求

参数名 类型 可否为空 是否参与加密 说明
token string 登录成功后获取的令牌
itemType int 道具字典表类型,如果-1代表所有类型道具
sign string md5加密值
timestamp string 时间戳 毫秒

返回

12.用户坑位数据请求 /slots

请求

参数名 类型 可否为空 是否参与加密 说明
token string 登录成功后获取的令牌
userId int 用户ID
itemType int 道具字典表类型,如果-1代表所有类型道具
sign string md5加密值
timestamp string 时间戳 毫秒

返回

13.坑位填装请求 /slotUpdate

请求

参数名 类型 可否为空 是否参与加密 说明
token string 登录成功后获取的令牌
slotObjId int 用户坑位ID
itemObjId int 道具实例ID,-1代表不填装任何东西
sign string md5加密值
timestamp string 时间戳 毫秒
  • ​ 如果是更新房间,所有的装饰物件状态会复原到初始状态
  • ​ 更新成功后,需要客户端自己重新请求下背包数据接口和SLOT列表
  • ​ 物件类型如果是相框,支持相框替换,相框内可以对图片进行自定义上传
  • ​ ojbId是-1,则为取消物件装配
  • ​ 如果坑位上已经装配了物件,服务器会自动卸载之前物件,替换最新物件装配

返回

14.给别人点赞请求 /thumbUp

请求

参数名 类型 可否为空 是否参与加密 说明
token string 登录成功后获取的令牌
dstUserId int 被点赞的 用户ID
sign string md5加密值
timestamp string 时间戳 毫秒
15.给别人取消点赞 /thumbUpCancel

请求

参数名 类型 可否为空 是否参与加密 说明
token string 登录成功后获取的令牌
dstUserId int 被点赞的 用户ID
sign string md5加密值
timestamp string
16.请求关注别人 /followOther

请求

参数名 类型 可否为空 是否参与加密 说明
token string 登录成功后获取的令牌
dstUserId int 被点赞的 用户ID
sign string md5加密值
timestamp string 时间戳 毫秒
17.取消关注别人 /followOtherCancel

请求

参数名 类型 可否为空 是否参与加密 说明
token string 登录成功后获取的令牌
dstUserId int 被点赞的 用户ID
sign string md5加密值
timestamp string 时间戳 毫秒
18.自己的关注列表 /followingList

请求

参数名 类型 可否为空 是否参与加密 说明
token string 登录成功后获取的令牌
userId int 实例ID
pageSize int 分页的单页最大记录数,-1代表不分页,获取所有数据
curIdx int 当前第几页,默认从0开始
sign string md5加密值
timestamp string 时间戳 毫秒
19. 自己的粉丝列表 /followersList

请求

参数名 类型 可否为空 是否参与加密 说明
token string 登录成功后获取的令牌
userId int 实例ID
pageSize int 分页的单页最大记录数,-1代表不分页,获取所有数据
curIdx int 当前第几页,默认从0开始
sign string md5加密值
timestamp string 时间戳 毫秒
20.热门用户推荐列表 /recommendList

请求

参数名 类型 可否为空 是否参与加密 说明
token string 登录成功后获取的令牌
pageSize int 分页的单页最大记录数,-1代表不分页,获取所有数据
curIdx int 当前第几页,默认从0开始
sign string md5加密值
timestamp string 时间戳 毫秒
21. 留言列表 /commentList

请求

参数名 类型 是否必填 是否参与加密 说明
token string 登录成功后获取的令牌
userId int 实例ID
slotDictId int 留言在特定坑位上
pageSize int 分页的单页最大记录数,-1代表不分页,获取所有数据
curIdx int 当前第几页,默认从0开始
sign string md5加密值
timestamp string 时间戳 毫秒
22.留言提交 /commentSubmit

请求

参数名 类型 是否必填 是否参与加密 说明
token string 登录成功后获取的令牌
dstUserId int 给这个人留言
slotDictId int 留言在特定坑位上
content string 留言内容
sign string md5加密值
timestamp string 时间戳 毫秒
23.留言回复 /commentAnswer

请求

参数名 类型 可否为空 是否参与加密 说明
token string 登录成功后获取的令牌
commentObjId int 留言实例ID,即针对这条留言的回复
dstUserId int 给这个人留言
content string 留言内容
sign string md5加密值
timestamp string 时间戳 毫秒
24. 修改密码 /passwordUpdate

请求

参数名 类型 是否必填 是否参与加密 说明
account string 账号名
oldPwd string 老密码
newPwd string 新密码
email string 邮箱地址
emailCode string 验证码
sign string md5加密值
timestamp string 时间戳 毫秒

请求

http://127.0.0.1:7379/new_battle/passwordUpdate?account=test1111&newPwd=2&oldPwd=1&email=guoliang@gliangliang.com&emailCode=0123456789

返回

{
    "errCode": 0,
    "errMsg": "Success",
    "totalSize": 0
}
25.用户信息 /cocosUserInfo

请求

参数名 类型 是否必填 是否参与加密 说明
token string 登录成功后获取的令牌
userId int 查看玩家信息的实例ID
sign string md5加密值
timestamp string 时间戳 毫秒
26.玩家房间信息 /cocosUserRoomInfo

请求

参数名 类型 是否必填 是否参与加密 说明
token string 登录成功后获取的令牌,不传TOKEN 就是游客模式
dstUserId int 目标玩家实例id,如果是自己,返回自己的房间信息,如果是别人,返回别人房间信息
sign string md5加密值
timestamp string 时间戳 毫秒
27.修改昵称 /cocosUserNickNameUpdate

请求

参数名 类型 是否必填 是否参与加密 说明
token string 登录成功后获取的令牌,不传TOKEN 就是游客模式
nickName string 新的昵称
sign string md5加密值
timestamp string 时间戳 毫秒
28.上传图片/uploadImg

请求

参数名 类型 是否必填 是否参与加密 说明
token string 登录成功后获取的令牌,不传TOKEN 就是游客模式
picName string 新的昵称
sign string md5加密值
timestamp string 时间戳 毫秒
29. slot修改名字 /cocosUserSlotNameUpdate

请求

参数名 类型 是否必填 是否参与加密 说明
token string 登录成功后获取的令牌,不传TOKEN 就是游客模式
slotObjId int slot实例ID
slotName string 新的昵称
sign string md5加密值
timestamp string 时间戳 毫秒
30. slot添加图片 /cocosUserSlotImgUpdate
  • 只针对相框类型的slot可以更改图片,type类型8
  • imgUrl从上传图片/uploadImg 接口返回

请求

参数名 类型 是否必填 是否参与加密 说明
token string 登录成功后获取的令牌,不传TOKEN 就是游客模式
slotObjId int slot实例ID
imgUrl string 新的昵称
sign string md5加密值
timestamp string 时间戳 毫秒
31.退出游戏 /cocosUserLogout

请求

参数名 类型 是否必填 是否参与加密 说明
token string 登录成功后获取的令牌,不传TOKEN 就是游客模式
sign string md5加密值
timestamp string 时间戳 毫秒
32.gpt聊天 /gptChat

请求

参数名 类型 是否必填 是否参与加密 说明
token string 登录成功后获取的令牌,不传TOKEN 就是游客模式
sign string md5加密值
timestamp string 时间戳 毫秒
content string 聊天内容
0309会议后服务器接口更新日志
  • 注册时候增加邀请码填写(非必填) /accountRegister

  • 增加修改昵称接口 /cocosUserNickNameUpdate

  • 上传图片接口 /uploadImg

  • 去掉留言回复接口 /commentAnswer

  • 新注册用户会自动创建10个相框,在slot列表里返回,slotType为8

  • 坑位填装请求 /slotUpdate

​ 1) 如果是更新房间,所有的装饰物件状态会复原到初始状态

​ 2) 更新成功后,需要客户端自己重新请求下背包数据接口和SLOT列表

​ 3) 物件类型如果是相框,支持相框替换,相框内可以对图片进行自定义上传

​ 4)ojbId是-1,则为取消物件装配

​ 5)如果坑位上已经装配了物件,服务器会自动卸载之前物件,替换最新物件装配

  • slot对象增加用户修改名字,只有用户自定义相片才可以修改SLOT名字 /cocosUserSlotNameUpdate

  • 新增加给相框里添加图片接口 /cocosUserSlotImgUpdate

  • 留言提交接口 留言提交 /commentSubmit 新增加slotDictId参数 支持对特定坑位上的物件留言

  • 留言列表 /commentList接口新增加slotDictId参数 查看指定物件的留言列表