UNPKG

@yeci226/hoyoapi

Version:

HoYoAPI is an unofficial API Wrapper library developed to facilitate communication with the official HoYoLab API.

292 lines (291 loc) 14.7 kB
"use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); var routes_exports = {}; __export(routes_exports, { ACCOUNT_API: () => ACCOUNT_API, APP_LOGIN_URL: () => APP_LOGIN_URL, APP_TOKEN_EXCHANGE_URL: () => APP_TOKEN_EXCHANGE_URL, BBS_API: () => BBS_API, DAILY_CLAIM_API: () => DAILY_CLAIM_API, DAILY_INFO_API: () => DAILY_INFO_API, DAILY_REWARD_API: () => DAILY_REWARD_API, DEFAULT_REFERER: () => DEFAULT_REFERER, GAME_RECORD_CARD_API: () => GAME_RECORD_CARD_API, GENSHIN_DIARY_DETAIL_API: () => GENSHIN_DIARY_DETAIL_API, GENSHIN_DIARY_LIST_API: () => GENSHIN_DIARY_LIST_API, GENSHIN_RECORD_AVATAR_BASIC_INFO_API: () => GENSHIN_RECORD_AVATAR_BASIC_INFO_API, GENSHIN_RECORD_CHARACTER_API: () => GENSHIN_RECORD_CHARACTER_API, GENSHIN_RECORD_DAILY_NOTE_API: () => GENSHIN_RECORD_DAILY_NOTE_API, GENSHIN_RECORD_INDEX_API: () => GENSHIN_RECORD_INDEX_API, GENSHIN_RECORD_SPIRAL_ABYSS_API: () => GENSHIN_RECORD_SPIRAL_ABYSS_API, GENSHIN_REDEEM_CLAIM_API: () => GENSHIN_REDEEM_CLAIM_API, GENSHIN_TCG_BASICINFO: () => GENSHIN_TCG_BASICINFO, GENSHIN_TCG_CARDLIST: () => GENSHIN_TCG_CARDLIST, GENSHIN_TCG_CHALLANGE_DECK: () => GENSHIN_TCG_CHALLANGE_DECK, GENSHIN_TCG_CHALLANGE_RECORD: () => GENSHIN_TCG_CHALLANGE_RECORD, GENSHIN_TCG_CHALLANGE_SCHEDULE: () => GENSHIN_TCG_CHALLANGE_SCHEDULE, GENSHIN_TCG_MATCHLIST: () => GENSHIN_TCG_MATCHLIST, HI_RECORD_ABYSS_API: () => HI_RECORD_ABYSS_API, HI_RECORD_ARENA_API: () => HI_RECORD_ARENA_API, HI_RECORD_CHARACTER_API: () => HI_RECORD_CHARACTER_API, HI_RECORD_ELYSIAN_API: () => HI_RECORD_ELYSIAN_API, HI_RECORD_INDEX_API: () => HI_RECORD_INDEX_API, HI_REDEEM_CLAIM_API: () => HI_REDEEM_CLAIM_API, HK4E_API: () => HK4E_API, HKRPG_API: () => HKRPG_API, HSR_DIARY_DETAIL_API: () => HSR_DIARY_DETAIL_API, HSR_DIARY_LIST_API: () => HSR_DIARY_LIST_API, HSR_RECORD_ANOMALY_ARBITRATION_API: () => HSR_RECORD_ANOMALY_ARBITRATION_API, HSR_RECORD_APOCALYPSE_PHANTOM_API: () => HSR_RECORD_APOCALYPSE_PHANTOM_API, HSR_RECORD_CHARACTER_API: () => HSR_RECORD_CHARACTER_API, HSR_RECORD_FORGOTTEN_HALL_API: () => HSR_RECORD_FORGOTTEN_HALL_API, HSR_RECORD_INDEX_API: () => HSR_RECORD_INDEX_API, HSR_RECORD_NOTE_API: () => HSR_RECORD_NOTE_API, HSR_RECORD_PURE_FICTION_API: () => HSR_RECORD_PURE_FICTION_API, HSR_RECORD_WIDGET_API: () => HSR_RECORD_WIDGET_API, HSR_REDEEM_CLAIM_API: () => HSR_REDEEM_CLAIM_API, HSR_WIKI_ENTRY_API: () => HSR_WIKI_ENTRY_API, HSR_WIKI_ENTRY_LIST_API: () => HSR_WIKI_ENTRY_LIST_API, HSR_WIKI_SEARCH_API: () => HSR_WIKI_SEARCH_API, MIMO_BASE_API: () => MIMO_BASE_API, MIMO_EXCHANGE_API: () => MIMO_EXCHANGE_API, MIMO_EXCHANGE_LIST_API: () => MIMO_EXCHANGE_LIST_API, MIMO_FINISH_TASK_API: () => MIMO_FINISH_TASK_API, MIMO_INDEX_API: () => MIMO_INDEX_API, MIMO_LOTTERY_API: () => MIMO_LOTTERY_API, MIMO_LOTTERY_INFO_API: () => MIMO_LOTTERY_INFO_API, MIMO_RECEIVE_POINT_API: () => MIMO_RECEIVE_POINT_API, MIMO_TASK_LIST_API: () => MIMO_TASK_LIST_API, NAP_API: () => NAP_API, PUBLIC_API: () => PUBLIC_API, SEND_VERIFICATION_CODE_URL: () => SEND_VERIFICATION_CODE_URL, TAKUMI_API: () => TAKUMI_API, USER_GAMES_LIST: () => USER_GAMES_LIST, VERIFY_ACTION_TICKET_URL: () => VERIFY_ACTION_TICKET_URL, WIKI_BASE_API: () => WIKI_BASE_API, ZZZ_BANBOO_API: () => ZZZ_BANBOO_API, ZZZ_RECORD_CHARACTER_API: () => ZZZ_RECORD_CHARACTER_API, ZZZ_RECORD_CHARACTER_LIST_API: () => ZZZ_RECORD_CHARACTER_LIST_API, ZZZ_RECORD_DEADLY_ASSAULT_API: () => ZZZ_RECORD_DEADLY_ASSAULT_API, ZZZ_RECORD_HADAL_API: () => ZZZ_RECORD_HADAL_API, ZZZ_RECORD_INDEX_API: () => ZZZ_RECORD_INDEX_API, ZZZ_RECORD_NOTE_API: () => ZZZ_RECORD_NOTE_API, ZZZ_RECORD_SHIYU_DEFENSE_API: () => ZZZ_RECORD_SHIYU_DEFENSE_API, ZZZ_REDEEM_CLAIM_API: () => ZZZ_REDEEM_CLAIM_API, ZZZ_WIKI_ENTRY_API: () => ZZZ_WIKI_ENTRY_API, ZZZ_WIKI_ENTRY_LIST_API: () => ZZZ_WIKI_ENTRY_LIST_API, ZZZ_WIKI_SEARCH_API: () => ZZZ_WIKI_SEARCH_API }); module.exports = __toCommonJS(routes_exports); var import_hoyolab = require("../client/hoyolab"); const BBS_API = "https://bbs-api-os.hoyolab.com"; const ACCOUNT_API = "https://api-account-os.hoyolab.com"; const HK4E_API = "https://sg-hk4e-api.hoyolab.com"; const HKRPG_API = "https://sg-hkrpg-api.hoyoverse.com"; const PUBLIC_API = "https://sg-public-api.hoyolab.com"; const DEFAULT_REFERER = "https://hoyolab.com"; const TAKUMI_API = "https://api-os-takumi.mihoyo.com"; const NAP_API = "https://sg-public-api.hoyolab.com"; const APP_LOGIN_URL = "https://sg-public-api.hoyoverse.com/account/ma-passport/api/appLoginByPassword"; const APP_TOKEN_EXCHANGE_URL = "https://sg-public-api.hoyoverse.com/account/ma-passport/token/getBySToken"; const SEND_VERIFICATION_CODE_URL = "https://sg-public-api.hoyoverse.com/account/ma-verifier/api/createEmailCaptchaByActionTicket"; const VERIFY_ACTION_TICKET_URL = "https://sg-public-api.hoyolab.com/account/ma-verifier/api/verifyActionTicketPartly"; const USER_GAMES_LIST = "".concat(ACCOUNT_API, "/account/binding/api/getUserGameRolesByCookieToken"); const GAME_RECORD_CARD_API = "".concat(PUBLIC_API, "/event/game_record/card/wapi/getGameRecordCard"); const getEventName = (game) => { if (game == import_hoyolab.GamesEnum.GENSHIN_IMPACT) { return "sol"; } else if (game === import_hoyolab.GamesEnum.HONKAI_IMPACT) { return "mani"; } else if (game === import_hoyolab.GamesEnum.HONKAI_STAR_RAIL) { return "luna/hkrpg/os"; } else if (game === import_hoyolab.GamesEnum.ZENLESS_ZONE_ZERO) { return "luna/zzz/os"; } return ""; }; const getEventBaseUrl = (game) => { if (game === import_hoyolab.GamesEnum.GENSHIN_IMPACT) { return HK4E_API; } else if (game === import_hoyolab.GamesEnum.HONKAI_IMPACT || game === import_hoyolab.GamesEnum.HONKAI_STAR_RAIL) { return PUBLIC_API; } else if (game === import_hoyolab.GamesEnum.ZENLESS_ZONE_ZERO) { return NAP_API; } return ""; }; const getActId = (game) => { if (game === import_hoyolab.GamesEnum.GENSHIN_IMPACT) { return "e202102251931481"; } else if (game === import_hoyolab.GamesEnum.HONKAI_IMPACT) { return "e202110291205111"; } else if (game === import_hoyolab.GamesEnum.HONKAI_STAR_RAIL) { return "e202303301540311"; } else if (game == import_hoyolab.GamesEnum.ZENLESS_ZONE_ZERO) { return "e202406031448091"; } return ""; }; const DAILY_INFO_API = (game) => { return "".concat(getEventBaseUrl(game), "/event/").concat(getEventName( game ), "/info?act_id=").concat(getActId(game)); }; const DAILY_REWARD_API = (game) => { return "".concat(getEventBaseUrl(game), "/event/").concat(getEventName( game ), "/home?act_id=").concat(getActId(game)); }; const DAILY_CLAIM_API = (game) => { return "".concat(getEventBaseUrl(game), "/event/").concat(getEventName( game ), "/sign?act_id=").concat(getActId(game)); }; const GENSHIN_REDEEM_CLAIM_API = "https://public-operation-hk4e.hoyoverse.com/common/apicdkey/api/webExchangeCdkey"; const HSR_REDEEM_CLAIM_API = "https://public-operation-hkrpg.hoyoverse.com/common/apicdkey/api/webExchangeCdkey"; const HI_REDEEM_CLAIM_API = "".concat(HKRPG_API, "/common/apicdkey/api/webExchangeCdkey"); const ZZZ_REDEEM_CLAIM_API = "https://public-operation-nap.hoyoverse.com/common/apicdkey/api/webExchangeCdkey"; const GENSHIN_RECORD_INDEX_API = "".concat(PUBLIC_API, "/event/game_record/genshin/api/index"); const GENSHIN_RECORD_CHARACTER_API = "".concat(PUBLIC_API, "/event/game_record/genshin/api/character"); const GENSHIN_RECORD_AVATAR_BASIC_INFO_API = "".concat(PUBLIC_API, "/event/game_record/genshin/api/avatarBasicInfo"); const GENSHIN_RECORD_SPIRAL_ABYSS_API = "".concat(PUBLIC_API, "/event/game_record/genshin/api/spiralAbyss"); const GENSHIN_RECORD_DAILY_NOTE_API = "".concat(PUBLIC_API, "/event/game_record/genshin/api/dailyNote"); const GENSHIN_DIARY_LIST_API = "".concat(HK4E_API, "/event/ysledgeros/month_info"); const GENSHIN_DIARY_DETAIL_API = "".concat(HK4E_API, "/event/ysledgeros/month_detail"); const GENSHIN_TCG_BASICINFO = "".concat(PUBLIC_API, "/event/game_record/genshin/api/gcg/basicInfo"); const GENSHIN_TCG_CARDLIST = "".concat(PUBLIC_API, "/event/game_record/genshin/api/gcg/cardList"); const GENSHIN_TCG_MATCHLIST = "".concat(PUBLIC_API, "/event/game_record/genshin/api/gcg/matchList"); const GENSHIN_TCG_CHALLANGE_SCHEDULE = "".concat(PUBLIC_API, "/event/game_record/genshin/api/gcg/challenge/schedule"); const GENSHIN_TCG_CHALLANGE_RECORD = "".concat(PUBLIC_API, "/event/game_record/genshin/api/gcg/challenge/record"); const GENSHIN_TCG_CHALLANGE_DECK = "".concat(PUBLIC_API, "/event/game_record/genshin/api/gcg/challenge/deck"); const HSR_RECORD_CHARACTER_API = "".concat(PUBLIC_API, "/event/game_record/hkrpg/api/avatar/info"); const HSR_RECORD_INDEX_API = "".concat(PUBLIC_API, "/event/game_record/hkrpg/api/index"); const HSR_RECORD_NOTE_API = "".concat(PUBLIC_API, "/event/game_record/hkrpg/api/note"); const HSR_RECORD_WIDGET_API = "".concat(PUBLIC_API, "/event/game_record/hkrpg/api/widget"); const HSR_RECORD_FORGOTTEN_HALL_API = "".concat(PUBLIC_API, "/event/game_record/hkrpg/api/challenge"); const HSR_RECORD_PURE_FICTION_API = "".concat(PUBLIC_API, "/event/game_record/hkrpg/api/challenge_story"); const HSR_RECORD_APOCALYPSE_PHANTOM_API = "".concat(PUBLIC_API, "/event/game_record/hkrpg/api/challenge_boss"); const HSR_RECORD_ANOMALY_ARBITRATION_API = "".concat(PUBLIC_API, "/event/game_record/hkrpg/api/challenge_peak"); const HSR_DIARY_LIST_API = "".concat(PUBLIC_API, "/event/srledger/month_info"); const HSR_DIARY_DETAIL_API = "".concat(PUBLIC_API, "/event/srledger/month_detail"); const ZZZ_RECORD_INDEX_API = "".concat(PUBLIC_API, "/event/game_record_zzz/api/zzz/index"); const ZZZ_BANBOO_API = "".concat(PUBLIC_API, "/event/game_record_zzz/api/zzz/buddy/info"); const ZZZ_RECORD_CHARACTER_LIST_API = "".concat(PUBLIC_API, "/event/game_record_zzz/api/zzz/avatar/basic"); const ZZZ_RECORD_CHARACTER_API = "".concat(PUBLIC_API, "/event/game_record_zzz/api/zzz/avatar/info"); const ZZZ_RECORD_NOTE_API = "".concat(PUBLIC_API, "/event/game_record_zzz/api/zzz/note"); const ZZZ_RECORD_SHIYU_DEFENSE_API = "".concat(PUBLIC_API, "/event/game_record_zzz/api/zzz/challenge"); const ZZZ_RECORD_DEADLY_ASSAULT_API = "".concat(PUBLIC_API, "/event/game_record_zzz/api/zzz/mem_detail"); const ZZZ_RECORD_HADAL_API = "".concat(PUBLIC_API, "/event/game_record_zzz/api/zzz/hadal_info_v2"); const HI_RECORD_INDEX_API = "".concat(BBS_API, "/game_record/honkai3rd/api/index"); const HI_RECORD_CHARACTER_API = "".concat(BBS_API, "/game_record/honkai3rd/api/characters"); const HI_RECORD_ABYSS_API = "".concat(BBS_API, "/game_record/honkai3rd/api/latestOldAbyssReport"); const HI_RECORD_ELYSIAN_API = "".concat(BBS_API, "/game_record/honkai3rd/api/godWar"); const HI_RECORD_ARENA_API = "".concat(BBS_API, "/game_record/honkai3rd/api/battleFieldReport"); const MIMO_BASE_API = "".concat(PUBLIC_API, "/event/e2023mimotravel"); const MIMO_INDEX_API = "".concat(MIMO_BASE_API, "/index"); const MIMO_TASK_LIST_API = "".concat(MIMO_BASE_API, "/task-list"); const MIMO_FINISH_TASK_API = "".concat(MIMO_BASE_API, "/finish-task"); const MIMO_RECEIVE_POINT_API = "".concat(MIMO_BASE_API, "/receive-point"); const MIMO_EXCHANGE_LIST_API = "".concat(MIMO_BASE_API, "/exchange-list"); const MIMO_EXCHANGE_API = "".concat(MIMO_BASE_API, "/exchange"); const MIMO_LOTTERY_INFO_API = "".concat(MIMO_BASE_API, "/lottery-info"); const MIMO_LOTTERY_API = "".concat(MIMO_BASE_API, "/lottery"); const WIKI_BASE_API = "https://sg-wiki-api-static.hoyolab.com/hoyowiki"; const HSR_WIKI_SEARCH_API = "".concat(WIKI_BASE_API, "/hsr/wapi/search"); const HSR_WIKI_ENTRY_API = "".concat(WIKI_BASE_API, "/hsr/wapi/entry_page"); const HSR_WIKI_ENTRY_LIST_API = "".concat(WIKI_BASE_API, "/hsr/wapi/get_entry_page_list"); const ZZZ_WIKI_SEARCH_API = "".concat(WIKI_BASE_API, "/zzz/wapi/search"); const ZZZ_WIKI_ENTRY_API = "".concat(WIKI_BASE_API, "/zzz/wapi/entry_page"); const ZZZ_WIKI_ENTRY_LIST_API = "".concat(WIKI_BASE_API, "/zzz/wapi/get_entry_page_list"); // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { ACCOUNT_API, APP_LOGIN_URL, APP_TOKEN_EXCHANGE_URL, BBS_API, DAILY_CLAIM_API, DAILY_INFO_API, DAILY_REWARD_API, DEFAULT_REFERER, GAME_RECORD_CARD_API, GENSHIN_DIARY_DETAIL_API, GENSHIN_DIARY_LIST_API, GENSHIN_RECORD_AVATAR_BASIC_INFO_API, GENSHIN_RECORD_CHARACTER_API, GENSHIN_RECORD_DAILY_NOTE_API, GENSHIN_RECORD_INDEX_API, GENSHIN_RECORD_SPIRAL_ABYSS_API, GENSHIN_REDEEM_CLAIM_API, GENSHIN_TCG_BASICINFO, GENSHIN_TCG_CARDLIST, GENSHIN_TCG_CHALLANGE_DECK, GENSHIN_TCG_CHALLANGE_RECORD, GENSHIN_TCG_CHALLANGE_SCHEDULE, GENSHIN_TCG_MATCHLIST, HI_RECORD_ABYSS_API, HI_RECORD_ARENA_API, HI_RECORD_CHARACTER_API, HI_RECORD_ELYSIAN_API, HI_RECORD_INDEX_API, HI_REDEEM_CLAIM_API, HK4E_API, HKRPG_API, HSR_DIARY_DETAIL_API, HSR_DIARY_LIST_API, HSR_RECORD_ANOMALY_ARBITRATION_API, HSR_RECORD_APOCALYPSE_PHANTOM_API, HSR_RECORD_CHARACTER_API, HSR_RECORD_FORGOTTEN_HALL_API, HSR_RECORD_INDEX_API, HSR_RECORD_NOTE_API, HSR_RECORD_PURE_FICTION_API, HSR_RECORD_WIDGET_API, HSR_REDEEM_CLAIM_API, HSR_WIKI_ENTRY_API, HSR_WIKI_ENTRY_LIST_API, HSR_WIKI_SEARCH_API, MIMO_BASE_API, MIMO_EXCHANGE_API, MIMO_EXCHANGE_LIST_API, MIMO_FINISH_TASK_API, MIMO_INDEX_API, MIMO_LOTTERY_API, MIMO_LOTTERY_INFO_API, MIMO_RECEIVE_POINT_API, MIMO_TASK_LIST_API, NAP_API, PUBLIC_API, SEND_VERIFICATION_CODE_URL, TAKUMI_API, USER_GAMES_LIST, VERIFY_ACTION_TICKET_URL, WIKI_BASE_API, ZZZ_BANBOO_API, ZZZ_RECORD_CHARACTER_API, ZZZ_RECORD_CHARACTER_LIST_API, ZZZ_RECORD_DEADLY_ASSAULT_API, ZZZ_RECORD_HADAL_API, ZZZ_RECORD_INDEX_API, ZZZ_RECORD_NOTE_API, ZZZ_RECORD_SHIYU_DEFENSE_API, ZZZ_REDEEM_CLAIM_API, ZZZ_WIKI_ENTRY_API, ZZZ_WIKI_ENTRY_LIST_API, ZZZ_WIKI_SEARCH_API });