squidGame/tgx-games-server/docs/apiPublic/tsapi.md

25 KiB
Raw Blame History

TSRPC API 接口文档

通用说明

  • 所有请求方法均为 POST
  • 所有请求均需加入以下 Header :
    • Content-Type: application/json

目录


chat

SendChat

路径

  • POST /chat/SendChat

请求

interface ReqSendChat {
    /**
    * @en whether to notify all users.
    * @zh 是否是全局聊天
    */
    channel?: string,
    content: string
}

响应

interface ResSendChat {

}

gomoku

PlacePiece

路径

  • POST /gomoku/PlacePiece

请求

interface ReqPlacePiece {
    gridX: number,
    gridY: number
}

响应

interface ResPlacePiece {

}

kingtd

KingTDAttack

路径

  • POST /kingtd/KingTDAttack

请求

interface ReqKingTDAttack {
    /** 攻击者 */
    attackerId: number,
    /** 被攻击列表 */
    targets: number[]
}

响应

interface ResKingTDAttack {
    /** 攻击者 */
    attackerId: number,
    /** 攻击者位置 */
    attackerPos?: number,
    /** 被攻击者位置 */
    targetPos?: number,
    /**
    * @en id of be attacked
    * @zh 被攻击者 id
    */
    targets: {
        /** @zh 被攻击方id */
        targetId: number,
        /**
        * @en damage value
        * @zh 伤害数值
        */
        damage: number
    }[],
    /** 攻击者子弹 */
    bullet?: number
}

KingTDAttackSkill

路径

  • POST /kingtd/KingTDAttackSkill

请求

interface ReqKingTDAttackSkill {

}

响应

interface ResKingTDAttackSkill {
    /**
    * @en attacker id
    * @zh 攻击者 id
    */
    attackerId?: number,
    /** @zh 技能 id */
    skillId: number
}

KingTDCardChanged

路径

  • POST /kingtd/KingTDCardChanged

请求

interface ReqKingTDCardChanged {
    /** 卡牌数据更新 */
    cardData: {
        /** @zh 卡片唯一id */
        id: number,
        /** @zh 卡片 */
        cardId: number,
        /** @zh 卡片属性 */
        cardData?: {
            /** ID */
            id: number,
            /** 名字 */
            name: string,
            /** 守方描述 */
            defendDesc: string,
            /** 星级 */
            starLevel: number,
            /** 攻方描述 */
            attackDesc: string,
            /** 品质 */
            rare: number,
            /** 阵营 */
            camp: number,
            /** 兵种 */
            type: number,
            /** 职业 */
            job: number,
            /** 基础血量 */
            hp: number,
            /** 基础攻击 */
            attack: number,
            /** 攻击速度 */
            attackSpeed: number,
            /** 移动速度 */
            moveSpeed: number,
            /** 魔法最大值 */
            manaMax: number,
            /** 体力最大值 */
            energyMax: number,
            /** 防守技能组 */
            defendSkills: number[],
            /** 进攻技能组 */
            attackSkills: number[],
            /** 标签 */
            tips: number[],
            /** 子弹 */
            bullet: number,
            /** 资源 */
            res: string,
            /** 头像 */
            headIcon: string
        },
        /** @zh x坐标 */
        x: number,
        /** @zh Y坐标 */
        y: number,
        /** @zh Z抽坐标 */
        z: number,
        /** @zh 朝向 */
        rotation: number,
        /** @zh 当前血量 */
        hp: number,
        /** @zh 最大血量 */
        maxHp: number,
        /** @zh 当前星级 */
        startLevel: number,
        /** @zh 当前技能列表 */
        skillList: {
            /** @zh 技能唯一id */
            id: number,
            /** 技能主人 */
            master: number,
            /** 技能触发事件 */
            triggerEvent: number,
            /** 技能触发值 */
            skillConditionValue: number
        }[],
        /** @zh 攻击力 */
        attack: number,
        /** @zh 攻击间隔 */
        attackInterval: number,
        /** @zh 当前BUFF列表 */
        buffList: {
            /** buff唯一id */
            id: number,
            /** buff主人 */
            master: number,
            /** buff类型 */
            buffType: number,
            /** buff值 */
            buffValue: number,
            /** buff持续计数器 */
            curDuration: number
        }[],
        /** @zh 射程 */
        shootingRadius: number[],
        /** @zh 子弹 */
        bullet: {
            /** @zh 子弹id */
            id: number,
            /** @zh 移动速度 */
            speed: number,
            /** @zh 方向 */
            direction: number,
            x: number,
            y: number,
            /** @zh 目标 */
            target: number,
            /** @zh 主人 */
            master: number,
            /** @zh 是否摧毁 */
            destroyed: boolean,
            /** @zh 弹射 */
            catapult: number,
            /** @zh 穿透 */
            penetrate: number,
            /** @zh 分裂 */
            fission: number,
            /** @zh 溅射 */
            spatter: number,
            /** @zh 爆炸 */
            explore: number,
            /** @zh 上个目标 */
            lastTarget: number,
            /** @zh 目标距离 */
            distance: number,
            /** @zh 范围 */
            range: number
        }[],
        /** @zh 攻击冷却计时器 */
        attackTimer: number,
        /** @zh 座位号 */
        seat: number,
        /** @zh 当前状态 */
        currentState: number,
        /** @zh 战斗状态 */
        battleState: number,
        /** @zh 出生路线 */
        rebornLineIndex: number
    },
    /** 卡片id 0表示新增 */
    cardId: number,
    /** 卡片类型 0 防御, 1 攻击 */
    cardType: number
}

响应

interface ResKingTDCardChanged {
    /** 卡牌数据更新 */
    cardData: {
        /** @zh 卡片唯一id */
        id: number,
        /** @zh 卡片 */
        cardId: number,
        /** @zh 卡片属性 */
        cardData?: {
            /** ID */
            id: number,
            /** 名字 */
            name: string,
            /** 守方描述 */
            defendDesc: string,
            /** 星级 */
            starLevel: number,
            /** 攻方描述 */
            attackDesc: string,
            /** 品质 */
            rare: number,
            /** 阵营 */
            camp: number,
            /** 兵种 */
            type: number,
            /** 职业 */
            job: number,
            /** 基础血量 */
            hp: number,
            /** 基础攻击 */
            attack: number,
            /** 攻击速度 */
            attackSpeed: number,
            /** 移动速度 */
            moveSpeed: number,
            /** 魔法最大值 */
            manaMax: number,
            /** 体力最大值 */
            energyMax: number,
            /** 防守技能组 */
            defendSkills: number[],
            /** 进攻技能组 */
            attackSkills: number[],
            /** 标签 */
            tips: number[],
            /** 子弹 */
            bullet: number,
            /** 资源 */
            res: string,
            /** 头像 */
            headIcon: string
        },
        /** @zh x坐标 */
        x: number,
        /** @zh Y坐标 */
        y: number,
        /** @zh Z抽坐标 */
        z: number,
        /** @zh 朝向 */
        rotation: number,
        /** @zh 当前血量 */
        hp: number,
        /** @zh 最大血量 */
        maxHp: number,
        /** @zh 当前星级 */
        startLevel: number,
        /** @zh 当前技能列表 */
        skillList: {
            /** @zh 技能唯一id */
            id: number,
            /** 技能主人 */
            master: number,
            /** 技能触发事件 */
            triggerEvent: number,
            /** 技能触发值 */
            skillConditionValue: number
        }[],
        /** @zh 攻击力 */
        attack: number,
        /** @zh 攻击间隔 */
        attackInterval: number,
        /** @zh 当前BUFF列表 */
        buffList: {
            /** buff唯一id */
            id: number,
            /** buff主人 */
            master: number,
            /** buff类型 */
            buffType: number,
            /** buff值 */
            buffValue: number,
            /** buff持续计数器 */
            curDuration: number
        }[],
        /** @zh 射程 */
        shootingRadius: number[],
        /** @zh 子弹 */
        bullet: {
            /** @zh 子弹id */
            id: number,
            /** @zh 移动速度 */
            speed: number,
            /** @zh 方向 */
            direction: number,
            x: number,
            y: number,
            /** @zh 目标 */
            target: number,
            /** @zh 主人 */
            master: number,
            /** @zh 是否摧毁 */
            destroyed: boolean,
            /** @zh 弹射 */
            catapult: number,
            /** @zh 穿透 */
            penetrate: number,
            /** @zh 分裂 */
            fission: number,
            /** @zh 溅射 */
            spatter: number,
            /** @zh 爆炸 */
            explore: number,
            /** @zh 上个目标 */
            lastTarget: number,
            /** @zh 目标距离 */
            distance: number,
            /** @zh 范围 */
            range: number
        }[],
        /** @zh 攻击冷却计时器 */
        attackTimer: number,
        /** @zh 座位号 */
        seat: number,
        /** @zh 当前状态 */
        currentState: number,
        /** @zh 战斗状态 */
        battleState: number,
        /** @zh 出生路线 */
        rebornLineIndex: number
    },
    /** 卡片类型 0 防御, 1 攻击 */
    cardType: number
}

KingTDCardMoving

路径

  • POST /kingtd/KingTDCardMoving

请求

interface ReqKingTDCardMoving {
    /** 卡片id */
    cardId: number,
    /** 卡片类型 0 防御, 1 攻击 */
    cardType: number,
    /** @zh x坐标 */
    x: number,
    /** @zh Y坐标 */
    y: number,
    /** @zh Z抽坐标 */
    z: number,
    /** @zh 朝向 */
    rotation: number
}

响应

interface ResKingTDCardMoving {
    /** 卡片id */
    cardId: number,
    /** 卡片类型 0 防御, 1 攻击 */
    cardType: number,
    /** @zh x坐标 */
    x: number,
    /** @zh Y坐标 */
    y: number,
    /** @zh Z抽坐标 */
    z: number,
    /** @zh 朝向 */
    rotation: number
}

KingTDChangeBuff

路径

  • POST /kingtd/KingTDChangeBuff

请求

interface ReqKingTDChangeBuff {
    /** 操作类型 1修改 2删除 */
    actionType: number,
    /** buff数据 */
    buffData: {
        /** buff唯一id */
        id: number,
        /** buff主人 */
        master: number,
        /** buff类型 */
        buffType: number,
        /** buff值 */
        buffValue: number,
        /** buff持续计数器 */
        curDuration: number
    },
    /** 卡片id */
    cardId: number,
    /** 卡片类型 0 防御, 1 攻击 */
    cardType: number
}

响应

interface ResKingTDChangeBuff {
    /** 卡片id */
    cardId: number,
    /** 操作类型 1修改 2删除 */
    actionType: number,
    /** buff数据 */
    buffData: {
        /** buff唯一id */
        id: number,
        /** buff主人 */
        master: number,
        /** buff类型 */
        buffType: number,
        /** buff值 */
        buffValue: number,
        /** buff持续计数器 */
        curDuration: number
    },
    /** 卡片类型 0 防御, 1 攻击 */
    cardType: number
}

KingTDChangeBullet

路径

  • POST /kingtd/KingTDChangeBullet

请求

interface ReqKingTDChangeBullet {
    /** 卡片id */
    cardId: number,
    /** 操作类型 1修改 2删除 */
    actionType: number,
    /** 子弹数据 */
    bulletData: {
        /** @zh 子弹id */
        id: number,
        /** @zh 移动速度 */
        speed: number,
        /** @zh 方向 */
        direction: number,
        x: number,
        y: number,
        /** @zh 目标 */
        target: number,
        /** @zh 主人 */
        master: number,
        /** @zh 是否摧毁 */
        destroyed: boolean,
        /** @zh 弹射 */
        catapult: number,
        /** @zh 穿透 */
        penetrate: number,
        /** @zh 分裂 */
        fission: number,
        /** @zh 溅射 */
        spatter: number,
        /** @zh 爆炸 */
        explore: number,
        /** @zh 上个目标 */
        lastTarget: number,
        /** @zh 目标距离 */
        distance: number,
        /** @zh 范围 */
        range: number
    },
    /** 卡片类型 0 防御, 1 攻击 */
    cardType: number
}

响应

interface ResKingTDChangeBullet {
    /** 卡片id */
    cardId: number,
    /** 操作类型 1修改 2删除 */
    actionType: number,
    /** 子弹数据 */
    bulletData: {
        /** @zh 子弹id */
        id: number,
        /** @zh 移动速度 */
        speed: number,
        /** @zh 方向 */
        direction: number,
        x: number,
        y: number,
        /** @zh 目标 */
        target: number,
        /** @zh 主人 */
        master: number,
        /** @zh 是否摧毁 */
        destroyed: boolean,
        /** @zh 弹射 */
        catapult: number,
        /** @zh 穿透 */
        penetrate: number,
        /** @zh 分裂 */
        fission: number,
        /** @zh 溅射 */
        spatter: number,
        /** @zh 爆炸 */
        explore: number,
        /** @zh 上个目标 */
        lastTarget: number,
        /** @zh 目标距离 */
        distance: number,
        /** @zh 范围 */
        range: number
    },
    /** 卡片类型 0 防御, 1 攻击 */
    cardType: number
}

KingTDChangeCoin

路径

  • POST /kingtd/KingTDChangeCoin

请求

interface ReqKingTDChangeCoin {
    changeCoin: number
}

响应

interface ResKingTDChangeCoin {
    coin: number
}

KingTDChangeHp

路径

  • POST /kingtd/KingTDChangeHp

请求

interface ReqKingTDChangeHp {
    changeHp: number
}

响应

interface ResKingTDChangeHp {
    hp: number
}

KingTDChangeSkill

路径

  • POST /kingtd/KingTDChangeSkill

请求

interface ReqKingTDChangeSkill {
    /** 操作类型 1修改 2删除 */
    actionType: number,
    /** 技能数据 */
    skillData: {
        /** @zh 技能唯一id */
        id: number,
        /** 技能主人 */
        master: number,
        /** 技能触发事件 */
        triggerEvent: number,
        /** 技能触发值 */
        skillConditionValue: number
    },
    /** 卡片id */
    cardId: number,
    /** 卡片类型 0 防御, 1 攻击 */
    cardType: number
}

响应

interface ResKingTDChangeSkill {
    /** 操作类型 1修改 2删除 */
    actionType: number,
    /** 技能数据 */
    skillData: {
        /** @zh 技能唯一id */
        id: number,
        /** 技能主人 */
        master: number,
        /** 技能触发事件 */
        triggerEvent: number,
        /** 技能触发值 */
        skillConditionValue: number
    },
    /** 卡片id */
    cardId: number,
    /** 卡片类型 0 防御, 1 攻击 */
    cardType: number
}

KingTDDeleteCard

路径

  • POST /kingtd/KingTDDeleteCard

请求

interface ReqKingTDDeleteCard {
    /** 卡片唯一Id */
    cardId: number,
    /** 卡片类型 */
    cardType: number
}

响应

interface ResKingTDDeleteCard {
    /** 卡片唯一Id */
    cardId: number,
    /** 卡片类型 */
    cardType: number
}

KingTDGetCards

路径

  • POST /kingtd/KingTDGetCards

请求

interface ReqKingTDGetCards {
    cardCount: number,
    tips: number[],
    poolId: number
}

响应

interface ResKingTDGetCards {
    /** 牌组 */
    cards: number[]
}

KingTDLevelUpMorale

路径

  • POST /kingtd/KingTDLevelUpMorale

请求

interface ReqKingTDLevelUpMorale {

}

响应

interface ResKingTDLevelUpMorale {
    moraleLevel: number
}

KingTDStartGame

路径

  • POST /kingtd/KingTDStartGame

请求

interface ReqKingTDStartGame {
    isReady: boolean
}

响应

interface ResKingTDStartGame {
    isReady: boolean
}

lobby

mail

ClearAllMails

路径

  • POST /lobby/mail/ClearAllMails

请求

interface ReqClearAllMails {

}

响应

interface ResClearAllMails {

}

DeleteMail

路径

  • POST /lobby/mail/DeleteMail

请求

interface ReqDeleteMail {
    mailId: string
}

响应

interface ResDeleteMail {

}

GetMails

路径

  • POST /lobby/mail/GetMails

请求

interface ReqGetMails {

}

响应

interface ResGetMails {
    mails: {
        mailId: string,
        uid: string,
        from: string,
        time: number,
        title: string,
        content: string,
        state: string
    }[]
}

MarkAllAsRead

路径

  • POST /lobby/mail/MarkAllAsRead

请求

interface ReqMarkAllAsRead {

}

响应

interface ResMarkAllAsRead {

}

MarkAsRead

路径

  • POST /lobby/mail/MarkAsRead

请求

interface ReqMarkAsRead {
    mailId: string
}

响应

interface ResMarkAsRead {

}

CancelMatch

路径

  • POST /lobby/CancelMatch

请求

interface ReqCancelMatch {

}

响应

interface ResCancelMatch {

}

CreateRoom

路径

  • POST /lobby/CreateRoom

请求

interface ReqCreateRoom {
    roomName: string,
    gameType: string,
    password: string
}

响应

interface ResCreateRoom {
    enterRoomParams: {
        roomId: string,
        gameType: string,
        token: string,
        time: number,
        serverUrl: string
    }
}

GetAnnouncement

路径

  • POST /lobby/GetAnnouncement

请求

interface ReqGetAnnouncement {
    type: string
}

响应

interface ResGetAnnouncement {
    content: string
}

GetNotice

路径

  • POST /lobby/GetNotice

请求

interface ReqGetNotice {

}

响应

interface ResGetNotice {
    noticeList: {
        title: string,
        content: string,
        contentType: string
    }[]
}

GetRoomList

路径

  • POST /lobby/GetRoomList

请求

interface ReqGetRoomList {
    type: string,
    curPage: number,
    pageItemNum: number
}

响应

interface ResGetRoomList {
    curPage: number,
    pageNum: number,
    rooms: {
        roomId: string,
        displayId: string,
        gameType: string,
        name: string,
        userNum: /*uint*/ number,
        maxUserNum: /*uint*/ number,
        playerNum: /*uint*/ number,
        maxPlayerNum: /*uint*/ number,
        needPassword: boolean
    }[]
}

GetUserInfo

路径

  • POST /lobby/GetUserInfo

请求

interface ReqGetUserInfo {
    uid?: string,
    uids?: string[]
}

响应

interface ResGetUserInfo {
    infos: {
        uid: string,
        name?: string,
        visualId?: number,
        gender?: number,
        introduction?: string,
        coin?: number
    }[]
}

ModifyUserInfo

路径

  • POST /lobby/ModifyUserInfo

请求

interface ReqModifyUserInfo {
    gender?: number,
    introduction?: string
}

响应

interface ResModifyUserInfo {
    gender?: number,
    introduction?: string
}

StartMatch

路径

  • POST /lobby/StartMatch

请求

interface ReqStartMatch {
    type: string,
    immediate?: boolean
}

响应

interface ResStartMatch {
    roomId: string,
    gameType: string,
    token: string,
    time: number,
    serverUrl: string
}

TryEnterRoom

路径

  • POST /lobby/TryEnterRoom

请求

interface ReqTryEnterRoom {
    /**
    * @en id and displayId both can be used
    * @zh 可以使用 id 和 displayId
    */
    id: string,
    password?: string
}

响应

interface ResTryEnterRoom {
    roomId: string,
    gameType: string,
    token: string,
    time: number,
    serverUrl: string
}

login

AuthClient

路径

  • POST /login/AuthClient

请求

interface ReqAuthClient {
    token: string,
    uid: string,
    time: number
}

响应

interface ResAuthClient {

}

CreateRole

路径

  • POST /login/CreateRole

请求

interface ReqCreateRole {
    name: string,
    visualId: number
}

响应

interface ResCreateRole {
    name: string,
    visualId: number
}

Login

路径

  • POST /login/Login

请求

interface ReqLogin {
    account: string,
    password: string
}

响应

interface ResLogin {
    userInfo: {
        uid: string,
        name?: string,
        visualId?: number,
        gender?: number,
        introduction?: string,
        coin?: number
    },
    gameServerInfo?: {
        roomId: string,
        gameType: string,
        token: string,
        time: number,
        serverUrl: string
    }
}

Register

路径

  • POST /login/Register

请求

interface ReqRegister {
    account: string,
    password: string
}

响应

interface ResRegister {

}

EnterRoom

路径

  • POST /EnterRoom

请求

interface ReqEnterRoom {
    token: string,
    uid: string,
    time: number,
    roomId: string
}

响应

interface ResEnterRoom {
    currentUser: {
        uid: string,
        name?: string,
        visualId?: number,
        gender?: number,
        introduction?: string,
        coin?: number
    }
}

ExitRoom

路径

  • POST /ExitRoom

请求

interface ReqExitRoom {
    roomId?: string,
    gameType?: string
}

响应

interface ResExitRoom {

}

GetBasicConfig

路径

  • POST /GetBasicConfig

请求

interface ReqGetBasicConfig {

}

响应

interface ResGetBasicConfig {
    /**
    * @en user infomation modify cost
    * @zh 用户修改信息消耗
    */
    userInfoModifyCost: number
}

JoinGame

路径

  • POST /JoinGame

请求

interface ReqJoinGame {

}

响应

interface ResJoinGame {

}

Ready

路径

  • POST /Ready

请求

interface ReqReady {

}

响应

interface ResReady {

}