@@ -47,7 +47,11 @@ export default {
4747 if ( event . data ?. type === commId ) {
4848 const dir = await UfsGlobal . Utils . chooseFolderToDownload ( "tiktok" ) ;
4949 for ( const { url, name } of event . data . data ) {
50- await UfsGlobal . Utils . downloadToFolder ( url , name , dir ) ;
50+ await UfsGlobal . Utils . downloadToFolder ( {
51+ url,
52+ fileName : name ,
53+ dirHandler : dir ,
54+ } ) ;
5155 }
5256 }
5357 } ) ;
@@ -218,10 +222,12 @@ export default {
218222 const downVideoBtn = container . querySelector ( "button#video" ) ;
219223 downVideoBtn . addEventListener ( "click" , ( ) => {
220224 download (
225+ "video/mp4" ,
221226 data . map ( ( _ , i ) => {
222227 const urlList =
223- _ . video . bitrateInfo . find ( ( b ) => b . Bitrate === _ . video . bitrate )
224- ?. PlayAddr ?. UrlList || [ ] ;
228+ _ . video ?. bitrateInfo ?. find ?. (
229+ ( b ) => b . Bitrate === _ . video . bitrate
230+ ) ?. PlayAddr ?. UrlList || [ ] ;
225231
226232 const bestUrl = urlList [ urlList . length - 1 ] ;
227233
@@ -378,14 +384,19 @@ export default {
378384 . join ( "" ) ;
379385 }
380386
381- async function download ( data , onProgress ) {
387+ async function download ( expectBlobType , data , onProgress ) {
382388 const dir = await UfsGlobal . Utils . chooseFolderToDownload ( "tiktok" ) ;
383389
384390 for ( let i = 0 ; i < data . length ; ++ i ) {
385391 try {
386392 const { url, filename } = data [ i ] ;
387393 const realUrl = await UfsGlobal . Utils . getRedirectedUrl ( url ) ;
388- await UfsGlobal . Utils . downloadToFolder ( realUrl , filename , dir ) ;
394+ await UfsGlobal . Utils . downloadToFolder ( {
395+ url : realUrl ,
396+ fileName : filename ,
397+ dirHandler : dir ,
398+ expectBlobType,
399+ } ) ;
389400 onProgress ?. ( i + 1 , data . length ) ;
390401 } catch ( e ) {
391402 console . error ( e ) ;
@@ -396,19 +407,33 @@ export default {
396407 hookFetch ( {
397408 onAfter : async ( url , options , response ) => {
398409 if ( url . includes ( "item_list/" ) ) {
399- // clone to new response
400410 const res = response . clone ( ) ;
401411 const json = await res . json ( ) ;
402412 console . log ( json ) ;
403413
404414 if ( json ?. itemList ) {
405- CACHED . list . push ( ...json . itemList ) ;
406415 json . itemList . forEach ( ( _ ) => {
407416 if ( _ . video . playAddr ) CACHED . videoById . set ( _ . video . id , _ ) ;
408417 } ) ;
409- floatingBtn . innerHTML = `📥 (${ CACHED . videoById . size } )` ;
410418 }
411419 }
420+
421+ if ( url . includes ( "api/search" ) ) {
422+ const res = response . clone ( ) ;
423+ const json = await res . json ( ) ;
424+ console . log ( json ) ;
425+
426+ if ( json . data ?. length ) {
427+ json . data . forEach ( ( _ ) => {
428+ if ( _ . type === 1 ) {
429+ CACHED . videoById . set ( _ . item . video . id , _ . item ) ;
430+ }
431+ } ) ;
432+ }
433+ }
434+
435+ if ( CACHED . videoById . size )
436+ floatingBtn . innerHTML = `📥 (${ CACHED . videoById . size } )` ;
412437 } ,
413438 } ) ;
414439 } ,
0 commit comments