From cdddbae520380d23817a0519671c8249c43ef92d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=9B=AE=E6=A3=83?= Date: Tue, 25 Feb 2025 13:43:47 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=8C=B1=20=E8=8E=B7=E5=8F=96=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E5=AE=8C=E6=88=90=E6=83=85=E5=86=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/types/BBS/Mission.d.ts | 50 ++++++++++++++++++++++++++++++++++++ src/web/request/apiHubReq.ts | 19 +++++++++++++- 2 files changed, 68 insertions(+), 1 deletion(-) diff --git a/src/types/BBS/Mission.d.ts b/src/types/BBS/Mission.d.ts index 5a42572e..230f96c5 100644 --- a/src/types/BBS/Mission.d.ts +++ b/src/types/BBS/Mission.d.ts @@ -59,4 +59,54 @@ declare namespace TGApp.BBS.Mission { next_points: number; mission_key: string; }; + + /** + * @description 任务状态返回 + * @interface StateResp + * @extends TGApp.BBS.Response.BaseWithData + * @since Beta v0.6.10/v0.7.0 + * @property {TGApp.BBS.Mission.StateRes} data 任务状态 + * @return StateResp + */ + type StateResp = TGApp.BBS.Response.BaseWithData; + + /** + * @description 任务状态 + * @interface StateRes + * @since Beta v0.6.10/v0.7.0 + * @property {Array} states 任务状态列表 + * @property {number} already_received_points 已领取的米游币 + * @property {number} total_points 总米游币 + * @property {number} today_total_points 今日总米游币 + * @property {boolean} is_unclaimed 是否有未领取的奖励 + * @property {number} can_get_points 可领取的米游币 + * @return StateRes + */ + type StateRes = { + states: Array; + already_received_points: number; + total_points: number; + today_total_points: number; + is_unclaimed: boolean; + can_get_points: number; + }; + + /** + * @description 任务状态项 + * @interface StateItem + * @since Beta v0.6.10/v0.7.0 + * @property {number} mission_id 任务 ID + * @property {number} process 任务进度 0:未完成,1:已完成 + * @property {number} happened_times 发生次数 + * @property {boolean} is_get_award 是否领取奖励 + * @property {string} mission_key 任务 key + * @return StateItem + */ + type StateItem = { + mission_id: number; + process: number; + happened_times: number; + is_get_award: boolean; + mission_key: string; + }; } diff --git a/src/web/request/apiHubReq.ts b/src/web/request/apiHubReq.ts index 3b8efa9e..aecca6d1 100644 --- a/src/web/request/apiHubReq.ts +++ b/src/web/request/apiHubReq.ts @@ -77,6 +77,23 @@ async function getShareConf( }); } +/** + * @description 获取任务完成情况 + * @since Beta v0.6.10/v0.7.0 + * @description **需要验证码登录的 Cookie** + * @param {Record} cookie 用户 Cookie + * @return {Promise} + */ +async function getUserMissionsState( + cookie: Record, +): Promise { + const header = getRequestHeader(cookie, "GET", {}); + return await TGHttp(`${Mahbu}sapi/getUserMissionsState`, { + method: "GET", + headers: header, + }); +} + /** * @description 获取投票信息 * @since Beta v0.6.2 @@ -181,7 +198,7 @@ const apiHubReq = { home: homeNew, forum: getAllGamesForums, game: getGameList, - mission: getMissions, + mission: { list: getMissions, state: getUserMissionsState }, sign: signIn, post: { like: upVotePost, share: getShareConf }, };