@yeci226/hoyoapi
Version:
HoYoAPI is an unofficial API Wrapper library developed to facilitate communication with the official HoYoLab API.
226 lines (225 loc) • 11.1 kB
JavaScript
;
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,
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_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,
NAP_API: () => NAP_API,
PUBLIC_API: () => PUBLIC_API,
TAKUMI_API: () => TAKUMI_API,
USER_GAMES_LIST: () => USER_GAMES_LIST,
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_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
});
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 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/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_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 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");
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
ACCOUNT_API,
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_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,
NAP_API,
PUBLIC_API,
TAKUMI_API,
USER_GAMES_LIST,
ZZZ_BANBOO_API,
ZZZ_RECORD_CHARACTER_API,
ZZZ_RECORD_CHARACTER_LIST_API,
ZZZ_RECORD_DEADLY_ASSAULT_API,
ZZZ_RECORD_INDEX_API,
ZZZ_RECORD_NOTE_API,
ZZZ_RECORD_SHIYU_DEFENSE_API,
ZZZ_REDEEM_CLAIM_API
});