{ "swagger": "2.0", "info": { "title": "", "version": "" }, "schemes": [ "http", "https" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "paths": { "/gapi/task/v1/community": { "get": { "summary": "获取社区列表", "operationId": "GetCommunityList", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/GetCommunityListResp" } } }, "tags": [ "task" ] } }, "/gapi/task/v1/nft/stake": { "post": { "summary": "质押NFT", "operationId": "StakeNft", "responses": { "200": { "description": "A successful response.", "schema": {} } }, "parameters": [ { "name": "body", "description": " StakeNftList 质押请求参数NFT列表", "in": "body", "required": true, "schema": { "$ref": "#/definitions/StakeNftList" } } ], "tags": [ "task" ], "security": [ { "apiKey": [] } ] } }, "/gapi/task/v1/nft/unstake": { "post": { "summary": "取消质押NFT", "operationId": "UnStakeNft", "responses": { "200": { "description": "A successful response.", "schema": {} } }, "parameters": [ { "name": "body", "description": " UnStakeNftReq 取消质押请求参数", "in": "body", "required": true, "schema": { "$ref": "#/definitions/UnStakeNftReq" } } ], "tags": [ "task" ], "security": [ { "apiKey": [] } ] } }, "/gapi/task/v1/nfts": { "get": { "summary": "拉取玩家持有的nft列表", "operationId": "GetNftList", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/UserNftList" } } }, "tags": [ "task" ], "security": [ { "apiKey": [] } ] } }, "/gapi/task/v1/reward/{id}": { "get": { "summary": "领取任务奖励", "operationId": "GetTaskReward", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/GetTaskRewardResp" } } }, "parameters": [ { "name": "id", "in": "path", "required": true, "type": "string" } ], "tags": [ "task" ], "security": [ { "apiKey": [] } ] } }, "/gapi/task/v1/task": { "get": { "summary": "校验任务结果", "operationId": "VerifyTaskResult", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/VerifyTaskResultResp" } } }, "parameters": [ { "name": "id", "description": " 任务ID", "in": "query", "required": true, "type": "integer", "format": "uint32" }, { "name": "params", "description": " 额外的参数", "in": "query", "required": false, "type": "string" } ], "tags": [ "task" ], "consumes": [ "multipart/form-data" ], "security": [ { "apiKey": [] } ] } }, "/gapi/task/v1/task/stake": { "get": { "summary": "质押任务详情", "operationId": "GetStakeTaskDetail", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/StakeTaskDetail" } } }, "tags": [ "task" ], "security": [ { "apiKey": [] } ] } }, "/gapi/task/v1/tasks": { "get": { "summary": "获取任务列表", "operationId": "GetTaskList", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/GetTaskListResp" } } }, "parameters": [ { "name": "community_id", "description": " 所属社区ID", "in": "query", "required": false, "type": "integer", "format": "uint32" } ], "tags": [ "task" ], "consumes": [ "multipart/form-data" ] } } }, "definitions": { "Community": { "type": "object", "properties": { "id": { "type": "integer", "format": "uint32", "description": " 社区ID" }, "title": { "type": "string", "description": " 社区标题" }, "logo": { "type": "string", "description": " 社区图标" }, "description": { "type": "string", "description": " 社区描述" }, "start_at": { "type": "integer", "format": "int64", "description": " 开始时间" }, "end_at": { "type": "integer", "format": "int64", "description": " 结束时间" } }, "title": "Community", "required": [ "id", "title", "logo", "description", "start_at", "end_at" ] }, "GetCommunityListResp": { "type": "object", "properties": { "community_list": { "type": "array", "items": { "$ref": "#/definitions/Community" }, "description": " 社区列表" } }, "title": "GetCommunityListResp", "required": [ "community_list" ] }, "GetTaskListReq": { "type": "object", "properties": { "community_id": { "type": "integer", "format": "uint32", "description": " 所属社区ID" } }, "title": "GetTaskListReq" }, "GetTaskListResp": { "type": "object", "properties": { "tasks": { "type": "array", "items": { "$ref": "#/definitions/Task" } } }, "title": "GetTaskListResp", "required": [ "tasks" ] }, "GetTaskRewardResp": { "type": "object", "properties": { "points": { "type": "integer", "format": "int32", "description": " 积分" } }, "title": "GetTaskRewardResp", "required": [ "points" ] }, "StakeNftList": { "type": "object", "properties": { "token_ids": { "type": "array", "items": { "type": "string" }, "description": " nft列表" } }, "title": "StakeNftList", "required": [ "token_ids" ] }, "StakeTaskDetail": { "type": "object", "properties": { "start_date": { "type": "string", "description": " 开始日期" }, "end_date": { "type": "string", "description": " 结束日期" }, "count_down": { "type": "integer", "format": "int32", "description": " 剩余结算时间" }, "produce_token_today": { "type": "number", "format": "double", "description": " 今日产出代币" }, "game_bonus": { "type": "integer", "format": "int32", "description": " 游戏加成比率" }, "can_receive_tokens": { "type": "number", "format": "double", "description": " 可领取代币数量" } }, "title": "StakeTaskDetail", "required": [ "start_date", "end_date", "count_down", "produce_token_today", "game_bonus", "can_receive_tokens" ] }, "Task": { "type": "object", "properties": { "id": { "type": "integer", "format": "uint32", "description": " 任务ID" }, "community_id": { "type": "integer", "format": "uint32", "description": " 所属社区ID" }, "title": { "type": "string", "description": " 任务标题" }, "sub_title": { "type": "string", "description": " 副标题" }, "description": { "type": "string", "description": " 任务描述" }, "points": { "type": "integer", "format": "int32", "description": " 任务积分" }, "button_text": { "type": "string", "description": " 按钮文字" }, "params": { "type": "string", "description": " 参数" }, "type": { "type": "integer", "format": "int8", "description": " 任务类型: 0=follow_twitter,1=bind_twitter,2=cast_twitter,3=publish_twitter,4=repost_twitter,5=watch_youtube,6=follow_youtube,7=bind_discord,8=join_telegram,9=daily_pay,10=invite_user" }, "url": { "type": "string", "description": " 跳转链接" }, "sort": { "type": "integer", "format": "int32", "description": " 排序" }, "start_at": { "type": "string", "description": " 开始时间" }, "end_at": { "type": "string", "description": " 结束时间" }, "has_finish_count": { "type": "integer", "format": "int32", "description": " 当前完成进度" }, "total_count": { "type": "integer", "format": "int32", "description": " 总进度" }, "finish_state": { "type": "integer", "format": "int8", "description": " 0:未完成 1:待校验 2:已完成未领取 3:已领取" } }, "title": "Task", "required": [ "id", "community_id", "title", "sub_title", "description", "points", "button_text", "params", "type", "url", "sort", "start_at", "end_at", "has_finish_count", "total_count", "finish_state" ] }, "TaskIdPath": { "type": "object", "title": "TaskIdPath" }, "UnStakeNftReq": { "type": "object", "properties": { "token_id": { "type": "string", "description": " nftID" } }, "title": "UnStakeNftReq", "required": [ "token_id" ] }, "UserNft": { "type": "object", "properties": { "token_id": { "type": "string", "description": " nftID" }, "has_stake": { "type": "boolean", "format": "boolean", "description": " 是否已质押" }, "stake_at": { "type": "string", "description": " 质押时间" } }, "title": "UserNft", "required": [ "token_id", "has_stake", "stake_at" ] }, "UserNftList": { "type": "object", "properties": { "nft_list": { "type": "array", "items": { "$ref": "#/definitions/UserNft" } } }, "title": "UserNftList", "required": [ "nft_list" ] }, "VerifyTaskResultReq": { "type": "object", "properties": { "id": { "type": "integer", "format": "uint32", "description": " 任务ID" }, "params": { "type": "string", "description": " 额外的参数" } }, "title": "VerifyTaskResultReq", "required": [ "id" ] }, "VerifyTaskResultResp": { "type": "object", "properties": { "finish": { "type": "boolean", "format": "boolean", "description": " 是否完成" } }, "title": "VerifyTaskResultResp", "required": [ "finish" ] } }, "securityDefinitions": { "apiKey": { "type": "apiKey", "description": "Enter JWT Bearer token **_only_**", "name": "Authorization", "in": "header" } } }