1
1
import { UfsGlobal } from "./content-scripts/ufs_global.js" ;
2
+ import { BADGES } from "./helpers/badge.js" ;
2
3
import { hookFetch } from "./libs/ajax-hook/index.js" ;
3
4
import { scrollToVeryEnd } from "./scrollToVeryEnd.js" ;
4
5
@@ -11,19 +12,21 @@ export default {
11
12
description : {
12
13
en : "Select and download all tiktok video (user profile, tiktok explore)." ,
13
14
vi : "Tải hàng loạt video tiktok (trang người dùng, trang tìm kiếm), có giao diện chọn video muốn tải." ,
14
- img : "/scripts/tiktok_batchDownload.jpg " ,
15
+ img : "/scripts/tiktok_batchDownload.png " ,
15
16
} ,
16
-
17
+ badges : [ BADGES . new , BADGES . hot ] ,
17
18
changeLogs : {
18
19
"2024-04-27" : "fix bug - use snaptik" ,
19
20
"2024-05-16" : "fix style" ,
21
+ "2024-07-28" : "re-build hook fetch" ,
20
22
} ,
21
23
22
24
whiteList : [ "https://www.tiktok.com/*" ] ,
23
25
24
26
pageScript : {
25
27
onDocumentStart : async ( ) => {
26
28
const CACHED = {
29
+ hasNew : true ,
27
30
videoById : new Map ( ) ,
28
31
} ;
29
32
@@ -39,8 +42,10 @@ export default {
39
42
40
43
if ( json ?. itemList ) {
41
44
json . itemList . forEach ( ( _ ) => {
42
- if ( _ . video . playAddr || _ . imagePost ?. images ?. length )
45
+ if ( _ . video . playAddr || _ . imagePost ?. images ?. length ) {
43
46
CACHED . videoById . set ( _ . video . id , _ ) ;
47
+ CACHED . hasNew = true ;
48
+ }
44
49
45
50
if ( _ . imagePost ?. images ?. length ) console . log ( _ ) ;
46
51
} ) ;
@@ -56,6 +61,7 @@ export default {
56
61
json . data . forEach ( ( _ ) => {
57
62
if ( _ . type === 1 ) {
58
63
CACHED . videoById . set ( _ . item . video . id , _ . item ) ;
64
+ CACHED . hasNew = true ;
59
65
}
60
66
} ) ;
61
67
}
@@ -169,9 +175,13 @@ export default {
169
175
</div>` ,
170
176
created ( ) {
171
177
setInterval ( ( ) => {
172
- this . videos = Array . from ( CACHED . videoById . values ( ) )
173
- // inject index
174
- . map ( ( v , i ) => ( { ...v , index : i + 1 } ) ) ;
178
+ if ( CACHED . hasNew ) {
179
+ this . videos = Array . from ( CACHED . videoById . values ( ) )
180
+ // inject index
181
+ . map ( ( v , i ) => ( { ...v , index : i + 1 } ) ) ;
182
+
183
+ CACHED . hasNew = false ;
184
+ }
175
185
} , 1000 ) ;
176
186
} ,
177
187
data ( ) {
@@ -384,7 +394,7 @@ export default {
384
394
) ;
385
395
} ,
386
396
scrollToVeryEnd ( ) {
387
- setTimeout ( ( ) => scrollToVeryEnd ( ) , 100 ) ;
397
+ setTimeout ( ( ) => scrollToVeryEnd ( false ) , 100 ) ;
388
398
} ,
389
399
scrollToTop ( e ) {
390
400
e . target . parentElement . scrollTo ( { top : 0 , behavior : "smooth" } ) ;
0 commit comments