From d92bb6942a230729a4a830eea302e9d8b84e8ad3 Mon Sep 17 00:00:00 2001 From: Tobi Saputra Date: Mon, 3 Mar 2025 20:59:38 +0700 Subject: [PATCH] fix: error when download images from musicaldown --- src/types/search/userSearch.ts | 17 ++++++++- src/utils/downloader/musicalDown.ts | 54 ++++++++++++++--------------- 2 files changed, 43 insertions(+), 28 deletions(-) diff --git a/src/types/search/userSearch.ts b/src/types/search/userSearch.ts index cbe98c5..224c05a 100644 --- a/src/types/search/userSearch.ts +++ b/src/types/search/userSearch.ts @@ -1,7 +1,17 @@ export type TiktokUserSearchResponse = { status: "success" | "error" message?: string - result?: Result[] + result?: Array<{ + uid: string + username: string + nickname: string + signature: string + followerCount: number + avatarThumb: string + isVerified: boolean + secUid: string + url: string + }> page?: number totalResults?: number } @@ -17,3 +27,8 @@ export type Result = { secUid: string url: string } + +export interface IUserSearch { + saveSearch(searchTerm: string): void + getLastSearch(): string | null +} diff --git a/src/utils/downloader/musicalDown.ts b/src/utils/downloader/musicalDown.ts index 34e9abf..37098ac 100644 --- a/src/utils/downloader/musicalDown.ts +++ b/src/utils/downloader/musicalDown.ts @@ -138,32 +138,6 @@ export const MusicalDown = ( images.push($(v).find("img").attr("src")) }) - // Get Result Video - let i = 1 - let videos = {} - $("div.row > div") - .map((_, el) => $(el)) - .get(1) - .find("a") - .get() - .map((v: any) => { - if ($(v).attr("href") !== "#modal2") { - if (!isURL($(v).attr("href"))) return - videos[ - $(v).attr("data-event").includes("hd") - ? "videoHD" - : $(v).attr("data-event").includes("mp4") - ? "videoSD" - : $(v).attr("data-event").includes("watermark") - ? "videoWatermark" - : $(v).attr("href").includes("type=mp3") && "music" - ] = - $(v).attr("href") != undefined - ? $(v).attr("href") - : /downloadX\('([^']+)'\)/.exec($(v).attr("onclick"))[1] - i++ - } - }) // Result if (images.length !== 0) { // Images or Slide Result @@ -176,7 +150,33 @@ export const MusicalDown = ( }) } else { // Video Result - // const music = await getMusic(request.cookie) + // Get Result Video + let i = 1 + let videos = {} + $("div.row > div") + .map((_, el) => $(el)) + .get(1) + .find("a") + .get() + .map((v: any) => { + if ($(v).attr("href") !== "#modal2") { + if (!isURL($(v).attr("href"))) return + videos[ + $(v).attr("data-event").includes("hd") + ? "videoHD" + : $(v).attr("data-event").includes("mp4") + ? "videoSD" + : $(v).attr("data-event").includes("watermark") + ? "videoWatermark" + : $(v).attr("href").includes("type=mp3") && "music" + ] = + $(v).attr("href") != undefined + ? $(v).attr("href") + : /downloadX\('([^']+)'\)/.exec($(v).attr("onclick"))[1] + i++ + } + }) + if (Object.keys(videos).length === 0) return resolve({ status: "success",