diff --git a/src/types/BBS/Account.d.ts b/src/types/BBS/Account.d.ts index 7b54887e..2f6642c2 100644 --- a/src/types/BBS/Account.d.ts +++ b/src/types/BBS/Account.d.ts @@ -1,10 +1,15 @@ /** - * @file types BBS Account.d.ts + * @file types/BBS/Account.d.ts * @description BBS 账户相关类型定义文件 - * @author BTMuli - * @since Beta v0.3.0 + * @since Beta v0.3.4 */ +/** + * @description 米游社账户信息 + * @since Beta v0.3.4 + * @namespace TGApp.BBS.Account + * @memberof TGApp.BBS + */ declare namespace TGApp.BBS.Account { /** * @description stoken 验证获取的用户信息 @@ -25,7 +30,7 @@ declare namespace TGApp.BBS.Account { * @property {unknown[]} links 账号绑定信息 * @return VerifySTokenInfo */ - export interface VerifySTokenInfo { + interface VerifySTokenInfo { aid: string; mid: string; account_name: string; @@ -63,7 +68,7 @@ declare namespace TGApp.BBS.Account { * @property {string} country 国家 * @return getStokenByGameTokenInfo */ - export interface getStokenByGameTokenInfo { + interface getStokenByGameTokenInfo { aid: string; mid: string; account_name: string; @@ -81,4 +86,63 @@ declare namespace TGApp.BBS.Account { links: unknown[]; country: string; } + + /** + * @description 通过 sToken 获取 actionTicket 返回数据里的用户信息 + * @interface getActionTicketBySTokenInfo + * @since Beta v0.3.4 + * @property {boolean} is_realname 是否实名认证 + * @property {string} mobile 手机号 + * @property {string} safe_mobile 安全手机号 + * @property {string} account_id 账号 id + * @property {string} account_name 账号名称 + * @property {string} email 邮箱 + * @property {boolean} is_email_verify 是否验证邮箱 + * @property {string} area_code 手机区号 + * @property {string} safe_area_code 安全手机区号 + * @property {string} real_name 真实姓名 + * @property {string} identity_code 身份证号 + * @property {string} create_time 创建时间 + * @property {string} create_ip 创建 ip + * @property {string} change_pwd_time 修改密码时间 + * @property {string} nickname 昵称 + * @property {number} user_icon_id 用户头像 id + * @property {number} safe_level 安全等级 + * @property {string} black_endtime 黑名单结束时间 + * @property {string} black_note 黑名单备注 + * @property {number} gender 性别 + * @property {number} real_stat 实名状态 + * @property {string} apple_name 苹果账号名称 + * @property {string} sony_name 索尼账号名称 + * @property {string} tap_name tap 账号名称 + * @property {string} reactivate_ticket 重新激活 ticket + * @return getActionTicketBySTokenInfo + */ + interface getActionTicketBySTokenInfo { + is_realname: boolean; + mobile: string; + safe_mobile: string; + account_id: string; + account_name: string; + email: string; + is_email_verify: boolean; + area_code: string; + safe_area_code: string; + real_name: string; + identity_code: string; + create_time: string; + create_ip: string; + change_pwd_time: string; + nickname: string; + user_icon_id: number; + safe_level: number; + black_endtime: string; + black_note: string; + gender: number; + real_stat: number; + apple_name: string; + sony_name: string; + tap_name: string; + reactivate_ticket: string; + } } diff --git a/src/types/BBS/Response.d.ts b/src/types/BBS/Response.d.ts index 337914e7..1bdd56a7 100644 --- a/src/types/BBS/Response.d.ts +++ b/src/types/BBS/Response.d.ts @@ -1,10 +1,15 @@ /** - * @file types BBS Tokens.d.ts + * @file types/BBS/Response.d.ts * @description BBS 返回数据类型定义文件 - * @author BTMuli< bt-muli@outlook.com> - * @since Beta v0.3.0 + * @since Beta v0.3.4 */ +/** + * @description BBS 返回数据类型定义 + * @since Beta v0.3.4 + * @namespace TGApp.BBS.Response + * @memberof TGApp.BBS + */ declare namespace TGApp.BBS.Response { /** * @description 基础返回类型,设计米游社接口请求都是这个类型 @@ -15,7 +20,7 @@ declare namespace TGApp.BBS.Response { * @property {any} data - 响应数据 * @return Base */ - export interface Base { + interface Base { retcode: number; message: string; data: any; @@ -29,7 +34,7 @@ declare namespace TGApp.BBS.Response { * @property {string} token - token 值 * @return getTokensRes */ - export interface getTokensRes { + interface getTokensRes { name: string; token: string; } @@ -42,7 +47,7 @@ declare namespace TGApp.BBS.Response { * @property {getTokensRes[]} data.list - token 列表 * @return getTokens */ - export interface getTokens extends Base { + interface getTokens extends Base { data: { list: getTokensRes[]; }; @@ -56,7 +61,7 @@ declare namespace TGApp.BBS.Response { * @property {string} data.ltoken - ltoken 值 * @return getLTokenBySToken */ - export interface getLTokenBySToken extends Base { + interface getLTokenBySToken extends Base { data: { ltoken: string; }; @@ -71,7 +76,7 @@ declare namespace TGApp.BBS.Response { * @property {string} data.cookie_token - cookie_token 值 * @return getCookieTokenBySToken */ - export interface getCookieTokenBySToken extends Base { + interface getCookieTokenBySToken extends Base { data: { uid: string; cookie_token: string; @@ -88,7 +93,7 @@ declare namespace TGApp.BBS.Response { * @property {boolean} data.need_realperson - 是否需要实名认证 * @return verifyUserInfoBySToken */ - export interface verifyUserInfoBySToken extends Base { + interface verifyUserInfoBySToken extends Base { data: { user_info: TGApp.BBS.Account.VerifySTokenInfo; realname_info: unknown; @@ -104,7 +109,7 @@ declare namespace TGApp.BBS.Response { * @property {getStokenByGameTokenData} data - 返回数据 * @return getStokenByGameToken */ - export interface getStokenByGameToken extends Base { + interface getStokenByGameToken extends Base { data: getStokenByGameTokenData; } @@ -119,7 +124,7 @@ declare namespace TGApp.BBS.Response { * @property {boolean} need_realperson - 是否需要实名认证 * @return getStokenByGameToken */ - export interface getStokenByGameTokenData { + interface getStokenByGameTokenData { token: { token_type: number; token: string; @@ -138,10 +143,28 @@ declare namespace TGApp.BBS.Response { * @property {string} data.cookie_token - cookie_token 值 * @return getCookieTokenByGameToken */ - export interface getCookieTokenByGameToken extends Base { + interface getCookieTokenByGameToken extends Base { data: { uid: string; cookie_token: string; }; } + + /** + * @description 通过 sToken 获取 actionTicket 的返回类型 + * @interface getActionTicketBySToken + * @since Beta v0.3.4 + * @extends Base + * @property {string} data.ticket - actionTicket 值 + * @property {boolean} data.is_verified - 是否验证 + * @property {TGApp.BBS.Account.getActionTicketBySTokenInfo} data.account_info - 用户信息 + * @return getActionTicketBySToken + */ + interface getActionTicketBySToken extends Base { + data: { + ticket: string; + is_verified: boolean; + account_info: TGApp.BBS.Account.getActionTicketBySTokenInfo; + }; + } } diff --git a/src/web/request/getActionTicket.ts b/src/web/request/getActionTicket.ts index 87a5d5e6..d541839d 100644 --- a/src/web/request/getActionTicket.ts +++ b/src/web/request/getActionTicket.ts @@ -11,19 +11,18 @@ import TGUtils from "../utils/TGUtils"; /** * @description 通过 stoken 获取 ActionTicket * @since Beta v0.3.4 - * @todo 类型完善 * @param {string} ActionType 动作类型 * @param {string} SToken stoken * @param {string} MID 用户 MID * @param {string} UID 用户 UID - * @returns {Promise} + * @returns {Promise} */ export async function getActionTicketBySToken( ActionType: string, SToken: string, MID: string, UID: string, -): Promise { +): Promise { const url = "https://api-takumi.mihoyo.com/auth/api/getActionTicketBySToken"; const params = { action_type: ActionType, @@ -36,7 +35,7 @@ export async function getActionTicketBySToken( }; const header = TGUtils.User.getHeader(cookie, "GET", params, "k2"); return await http - .fetch(url, { + .fetch(url, { method: "GET", headers: header, query: params,