@@ -10,44 +10,44 @@ type LoaderHasConfig = {
10
10
priority : number
11
11
}
12
12
13
- export type LoaderPageRequestConfig = PageRequestConfig & LoaderHasConfig
13
+ export type LoaderCrawlPageDetail = CrawlPageDetailConfig & LoaderHasConfig
14
14
15
- export type LoaderDataRequestConfig = DataRequestConfig & LoaderHasConfig
15
+ export type LoaderCrawlDataDetail = CrawlDataDetailConfig & LoaderHasConfig
16
16
17
- export type LoaderFileRequestConfig = FileRequestConfig & LoaderHasConfig
17
+ export type LoaderCrawlFileDetail = CrawlFileDetailConfig & LoaderHasConfig
18
18
19
19
export interface LoaderCrawlPageConfig
20
- extends MapTypeObject < CrawlPageConfigObject , 'requestConfigs ' > {
21
- requestConfigs : LoaderPageRequestConfig [ ]
20
+ extends MapTypeObject < CrawlPageEnhanceConfig , 'crawlPages ' > {
21
+ crawlPageDetails : LoaderCrawlPageDetail [ ]
22
22
}
23
23
24
24
export interface LoaderCrawlDataConfig
25
- extends MapTypeObject < CrawlDataConfigObject , 'requestConfigs ' > {
26
- requestConfigs : LoaderDataRequestConfig [ ]
25
+ extends MapTypeObject < CrawlDataEnhanceConfig , 'crawlDatas ' > {
26
+ crawlDataDetails : LoaderCrawlDataDetail [ ]
27
27
}
28
28
29
29
export interface LoaderCrawlFileConfig
30
- extends MapTypeObject < CrawlFileConfigObject , 'requestConfigs ' > {
31
- requestConfigs : LoaderFileRequestConfig [ ]
30
+ extends MapTypeObject < CrawlFileEnhanceConfig , 'crawlFiles ' > {
31
+ crawlFileDetails : LoaderCrawlFileDetail [ ]
32
32
}
33
33
34
- // Function overloading crawl config
35
- export type CrawlPageConfig =
34
+ /* Function overloading crawl config */
35
+ export type UniteCrawlPageConfig =
36
36
| string
37
- | PageRequestConfig
38
- | ( string | PageRequestConfig ) [ ]
39
- | CrawlPageConfigObject
37
+ | CrawlPageDetailConfig
38
+ | ( string | CrawlPageDetailConfig ) [ ]
39
+ | CrawlPageEnhanceConfig
40
40
41
- export type CrawlDataConfig =
41
+ export type UniteCrawlDataConfig =
42
42
| string
43
- | DataRequestConfig
44
- | ( string | DataRequestConfig ) [ ]
45
- | CrawlDataConfigObject
43
+ | CrawlDataDetailConfig
44
+ | ( string | CrawlDataDetailConfig ) [ ]
45
+ | CrawlDataEnhanceConfig
46
46
47
- export type CrawlFileConfig =
48
- | FileRequestConfig
49
- | FileRequestConfig [ ]
50
- | CrawlFileConfigObject
47
+ export type UniteCrawlFileConfig =
48
+ | CrawlFileDetailConfig
49
+ | CrawlFileDetailConfig [ ]
50
+ | CrawlFileEnhanceConfig
51
51
52
52
/* API Config */
53
53
// API Config Other
@@ -75,70 +75,64 @@ export type Method =
75
75
| 'unlink'
76
76
| 'UNLINK'
77
77
78
- export type PageRequestConfigCookies =
78
+ export type PageCookies =
79
79
| string
80
80
| Protocol . Network . CookieParam
81
81
| Protocol . Network . CookieParam [ ]
82
82
83
- // API Config Request
84
- export interface PageRequestConfig {
85
- url : string
86
- headers ?: AnyObject
83
+ // API crawl config
84
+ // Common
85
+ export interface CrawlCommonConfig {
87
86
timeout ?: number
88
87
proxy ?: string
89
- cookies ?: PageRequestConfigCookies
90
88
maxRetry ?: number
89
+ }
90
+
91
+ // 1.Crawl page config
92
+ export interface CrawlPageDetailConfig extends CrawlCommonConfig {
93
+ url : string
94
+ headers ?: AnyObject
95
+ cookies ?: PageCookies
91
96
priority ?: number
92
97
}
93
98
94
- export interface DataRequestConfig {
99
+ export interface CrawlPageEnhanceConfig extends CrawlCommonConfig {
100
+ crawlPages : ( string | CrawlPageDetailConfig ) [ ]
101
+ intervalTime ?: IntervalTime
102
+
103
+ // page common attribute
104
+ cookies ?: PageCookies
105
+ }
106
+
107
+ // 2.Crawl data config
108
+ export interface CrawlDataDetailConfig extends CrawlCommonConfig {
95
109
url : string
96
110
method ?: Method
97
111
headers ?: AnyObject
98
112
params ?: AnyObject
99
113
data ?: any
100
- timeout ?: number
101
- proxy ?: string
102
- maxRetry ?: number
103
114
priority ?: number
104
115
}
105
116
106
- export interface FileRequestConfig {
117
+ export interface CrawlDataEnhanceConfig extends CrawlCommonConfig {
118
+ crawlDatas : ( string | CrawlDataDetailConfig ) [ ]
119
+ intervalTime ?: IntervalTime
120
+ }
121
+
122
+ // 3.Crawl file config
123
+ export interface CrawlFileDetailConfig extends CrawlCommonConfig {
107
124
url : string
108
125
headers ?: AnyObject
109
- timeout ?: number
110
- proxy ?: string
111
- maxRetry ?: number
112
126
priority ?: number
113
127
storeDir ?: string
114
128
fileName ?: string
115
129
extension ?: string
116
130
}
117
131
118
- // API Config Crawl
119
- export interface CrawlPageConfigObject {
120
- requestConfigs : ( string | PageRequestConfig ) [ ]
121
- proxy ?: string
122
- timeout ?: number
123
- cookies ?: PageRequestConfigCookies
124
- intervalTime ?: IntervalTime
125
- maxRetry ?: number
126
- }
127
-
128
- export interface CrawlDataConfigObject {
129
- requestConfigs : ( string | DataRequestConfig ) [ ]
130
- proxy ?: string
131
- timeout ?: number
132
+ export interface CrawlFileEnhanceConfig extends CrawlCommonConfig {
133
+ crawlFiles : ( string | CrawlFileDetailConfig ) [ ]
132
134
intervalTime ?: IntervalTime
133
- maxRetry ?: number
134
- }
135
135
136
- export interface CrawlFileConfigObject {
137
- requestConfigs : ( string | FileRequestConfig ) [ ]
138
- proxy ?: string
139
- timeout ?: number
140
- intervalTime ?: IntervalTime
141
- maxRetry ?: number
142
136
fileConfig ?: {
143
137
storeDir ?: string
144
138
extension ?: string
@@ -151,6 +145,7 @@ export interface CrawlFileConfigObject {
151
145
}
152
146
}
153
147
148
+ // 4.Polling config
154
149
export interface StartPollingConfig {
155
150
d ?: number
156
151
h ?: number
0 commit comments