mcp-cnbs 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/License +201 -0
- package/README.md +226 -0
- package/README.zh-CN.md +225 -0
- package/dist/constants/index.d.ts +3 -0
- package/dist/constants/index.d.ts.map +1 -0
- package/dist/constants/index.js +3 -0
- package/dist/constants/index.js.map +1 -0
- package/dist/constants/regions.d.ts +16 -0
- package/dist/constants/regions.d.ts.map +1 -0
- package/dist/constants/regions.js +68 -0
- package/dist/constants/regions.js.map +1 -0
- package/dist/constants.d.ts +7 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +7 -0
- package/dist/constants.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +306 -0
- package/dist/index.js.map +1 -0
- package/dist/server.d.ts +3 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +44 -0
- package/dist/server.js.map +1 -0
- package/dist/services/api.d.ts +47 -0
- package/dist/services/api.d.ts.map +1 -0
- package/dist/services/api.js +434 -0
- package/dist/services/api.js.map +1 -0
- package/dist/services/cache.d.ts +48 -0
- package/dist/services/cache.d.ts.map +1 -0
- package/dist/services/cache.js +215 -0
- package/dist/services/cache.js.map +1 -0
- package/dist/services/data.d.ts +16 -0
- package/dist/services/data.d.ts.map +1 -0
- package/dist/services/data.js +90 -0
- package/dist/services/data.js.map +1 -0
- package/dist/services/error.d.ts +44 -0
- package/dist/services/error.d.ts.map +1 -0
- package/dist/services/error.js +171 -0
- package/dist/services/error.js.map +1 -0
- package/dist/services/search.d.ts +18 -0
- package/dist/services/search.d.ts.map +1 -0
- package/dist/services/search.js +39 -0
- package/dist/services/search.js.map +1 -0
- package/dist/tools/index.d.ts +3 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +686 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/types/index.d.ts +182 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +16 -0
- package/dist/types/index.js.map +1 -0
- package/dist/worker.d.ts +17 -0
- package/dist/worker.d.ts.map +1 -0
- package/dist/worker.js +262 -0
- package/dist/worker.js.map +1 -0
- package/llms.txt +603 -0
- package/package.json +63 -0
|
@@ -0,0 +1,434 @@
|
|
|
1
|
+
import axios from 'axios';
|
|
2
|
+
import https from 'https';
|
|
3
|
+
import { cnbsCacheHub } from './cache.js';
|
|
4
|
+
import { CnbsErrorHandler, cnbsRequestThrottler } from './error.js';
|
|
5
|
+
const httpsAgent = new https.Agent({
|
|
6
|
+
rejectUnauthorized: false,
|
|
7
|
+
keepAlive: true,
|
|
8
|
+
});
|
|
9
|
+
const axiosConfig = {
|
|
10
|
+
httpsAgent,
|
|
11
|
+
timeout: 30000,
|
|
12
|
+
maxRedirects: 5,
|
|
13
|
+
proxy: false,
|
|
14
|
+
};
|
|
15
|
+
import { CNBS_API_BASE, CNBS_NODE_CACHE_TTL, CNBS_METRIC_CACHE_TTL, CNBS_DATA_CACHE_TTL, CNBS_DEFAULT_ROOT } from '../constants.js';
|
|
16
|
+
export class CnbsLegacyClient {
|
|
17
|
+
baseUrl = 'https://data.stats.gov.cn';
|
|
18
|
+
codeMap = {
|
|
19
|
+
'B01': 'hgjd',
|
|
20
|
+
'C01': 'hgnd',
|
|
21
|
+
};
|
|
22
|
+
async find(keyword, db = '', page = 0) {
|
|
23
|
+
const params = {
|
|
24
|
+
s: keyword,
|
|
25
|
+
m: 'searchdata',
|
|
26
|
+
db,
|
|
27
|
+
p: page.toString(),
|
|
28
|
+
};
|
|
29
|
+
console.error(`GET Request URL (base): ${this.baseUrl}/search.htm with params:`, JSON.stringify(params));
|
|
30
|
+
try {
|
|
31
|
+
const response = await axios.get(`${this.baseUrl}/search.htm`, { params, ...axiosConfig });
|
|
32
|
+
return response.data;
|
|
33
|
+
}
|
|
34
|
+
catch (error) {
|
|
35
|
+
if (axios.isAxiosError(error)) {
|
|
36
|
+
throw new Error(`API search request failed: ${error.response?.data || error.message}`);
|
|
37
|
+
}
|
|
38
|
+
throw new Error(`Request failed: ${error}`);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
processFindResult(result) {
|
|
42
|
+
return result.results.map(item => {
|
|
43
|
+
const reportParams = Object.fromEntries(item.report.split('&').map(p => {
|
|
44
|
+
const [key, value] = p.split('=');
|
|
45
|
+
return [key, value];
|
|
46
|
+
}));
|
|
47
|
+
const cnCode = reportParams.cn || 'B01';
|
|
48
|
+
const dbCode = this.codeMap[cnCode] || 'hgjd';
|
|
49
|
+
return {
|
|
50
|
+
title: item.metric,
|
|
51
|
+
value: item.data,
|
|
52
|
+
period: item.period,
|
|
53
|
+
db: item.db,
|
|
54
|
+
metricCode: reportParams.zb || '',
|
|
55
|
+
cnCode,
|
|
56
|
+
dbCode,
|
|
57
|
+
periodCode: reportParams.sj || ''
|
|
58
|
+
};
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
async fetchCategories(dbCode, dimCode = 'zb') {
|
|
62
|
+
const params = {
|
|
63
|
+
m: 'getTree',
|
|
64
|
+
id: 'zb',
|
|
65
|
+
dbcode: dbCode,
|
|
66
|
+
wdcode: dimCode
|
|
67
|
+
};
|
|
68
|
+
console.error(`POST Request URL: ${this.baseUrl}/easyquery.htm`);
|
|
69
|
+
console.error(`POST Request Body:`, JSON.stringify(params));
|
|
70
|
+
try {
|
|
71
|
+
const response = await axios.post(`${this.baseUrl}/easyquery.htm`, new URLSearchParams(params), axiosConfig);
|
|
72
|
+
return response.data;
|
|
73
|
+
}
|
|
74
|
+
catch (error) {
|
|
75
|
+
if (axios.isAxiosError(error)) {
|
|
76
|
+
throw new Error(`API category request failed: ${error.response?.data || error.message}`);
|
|
77
|
+
}
|
|
78
|
+
throw new Error(`Request failed: ${error}`);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
async fetchEndNodes(dbCode) {
|
|
82
|
+
let allEnds = [];
|
|
83
|
+
const fetchRecursively = async (nodeId) => {
|
|
84
|
+
let attempts = 0;
|
|
85
|
+
const maxAttempts = 3;
|
|
86
|
+
while (attempts < maxAttempts) {
|
|
87
|
+
try {
|
|
88
|
+
await new Promise(resolve => setTimeout(resolve, 200));
|
|
89
|
+
const categoryResp = await this.fetchSpecificNode(nodeId, dbCode);
|
|
90
|
+
for (const node of categoryResp) {
|
|
91
|
+
if (!node.hasChildren) {
|
|
92
|
+
allEnds.push(node);
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
await fetchRecursively(node.id);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
catch (error) {
|
|
101
|
+
attempts++;
|
|
102
|
+
console.error(`Category request failed for node ${nodeId}, attempt ${attempts}/${maxAttempts}.`);
|
|
103
|
+
if (attempts >= maxAttempts) {
|
|
104
|
+
throw error;
|
|
105
|
+
}
|
|
106
|
+
await new Promise(resolve => setTimeout(resolve, 1000 * attempts));
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
await fetchRecursively('zb');
|
|
111
|
+
return allEnds;
|
|
112
|
+
}
|
|
113
|
+
async fetchSpecificNode(id, dbCode, dimCode = 'zb') {
|
|
114
|
+
const params = {
|
|
115
|
+
m: 'getTree',
|
|
116
|
+
id,
|
|
117
|
+
dbcode: dbCode,
|
|
118
|
+
wdcode: dimCode
|
|
119
|
+
};
|
|
120
|
+
console.error(`POST Request URL: ${this.baseUrl}/easyquery.htm`);
|
|
121
|
+
console.error(`POST Request Body:`, JSON.stringify(params));
|
|
122
|
+
try {
|
|
123
|
+
const response = await axios.post(`${this.baseUrl}/easyquery.htm`, new URLSearchParams(params), axiosConfig);
|
|
124
|
+
return response.data;
|
|
125
|
+
}
|
|
126
|
+
catch (error) {
|
|
127
|
+
if (axios.isAxiosError(error)) {
|
|
128
|
+
throw new Error(`API getTree request failed: ${error.response?.data || error.message}`);
|
|
129
|
+
}
|
|
130
|
+
throw new Error(`Request failed: ${error}`);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
async fetchPeriodOptions(dbCode) {
|
|
134
|
+
const dims = '[]';
|
|
135
|
+
const params = {
|
|
136
|
+
m: 'getOtherWds',
|
|
137
|
+
dbcode: dbCode,
|
|
138
|
+
rowcode: 'zb',
|
|
139
|
+
colcode: 'sj',
|
|
140
|
+
wds: dims,
|
|
141
|
+
k1: Date.now(),
|
|
142
|
+
h: 1
|
|
143
|
+
};
|
|
144
|
+
console.error(`GET Request URL: ${this.baseUrl}/easyquery.htm with params:`, JSON.stringify(params));
|
|
145
|
+
try {
|
|
146
|
+
const response = await axios.get(`${this.baseUrl}/easyquery.htm`, { params, ...axiosConfig });
|
|
147
|
+
return response.data;
|
|
148
|
+
}
|
|
149
|
+
catch (error) {
|
|
150
|
+
if (axios.isAxiosError(error)) {
|
|
151
|
+
throw new Error(`API time dimension request failed: ${error.response?.data || error.message}`);
|
|
152
|
+
}
|
|
153
|
+
throw new Error(`Request failed: ${error}`);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
async fetchData(metricCode, dbCode, period = 'LAST30') {
|
|
157
|
+
const dims = JSON.stringify([{ "wdcode": "zb", "valuecode": metricCode }]);
|
|
158
|
+
const filterDims = JSON.stringify([{ "wdcode": "sj", "valuecode": period }]);
|
|
159
|
+
const params = {
|
|
160
|
+
m: 'QueryData',
|
|
161
|
+
dbcode: dbCode,
|
|
162
|
+
rowcode: 'zb',
|
|
163
|
+
colcode: 'sj',
|
|
164
|
+
wds: dims,
|
|
165
|
+
dfwds: filterDims,
|
|
166
|
+
k1: Date.now(),
|
|
167
|
+
h: 1
|
|
168
|
+
};
|
|
169
|
+
console.error(`GET Request URL: ${this.baseUrl}/easyquery.htm with params:`, JSON.stringify(params));
|
|
170
|
+
try {
|
|
171
|
+
const response = await axios.get(`${this.baseUrl}/easyquery.htm`, { params, ...axiosConfig });
|
|
172
|
+
return response.data;
|
|
173
|
+
}
|
|
174
|
+
catch (error) {
|
|
175
|
+
if (axios.isAxiosError(error)) {
|
|
176
|
+
throw new Error(`API query data request failed: ${error.response?.data || error.message}`);
|
|
177
|
+
}
|
|
178
|
+
throw new Error(`Request failed: ${error}`);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
async batchFetch(queries) {
|
|
182
|
+
const results = [];
|
|
183
|
+
for (const query of queries) {
|
|
184
|
+
try {
|
|
185
|
+
const result = await this.fetchData(query.metricCode, query.dbCode, query.period);
|
|
186
|
+
results.push({
|
|
187
|
+
query,
|
|
188
|
+
result,
|
|
189
|
+
error: undefined
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
catch (error) {
|
|
193
|
+
results.push({
|
|
194
|
+
query,
|
|
195
|
+
result: null,
|
|
196
|
+
error: error.message
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
return results;
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
export class CnbsModernClient {
|
|
204
|
+
baseUrl;
|
|
205
|
+
timeout;
|
|
206
|
+
rootId;
|
|
207
|
+
nodeCache;
|
|
208
|
+
metricCache;
|
|
209
|
+
seriesCache;
|
|
210
|
+
constructor(config) {
|
|
211
|
+
this.baseUrl = config?.baseUrl || CNBS_API_BASE;
|
|
212
|
+
this.timeout = config?.timeout || 30000;
|
|
213
|
+
this.rootId = config?.rootId || CNBS_DEFAULT_ROOT;
|
|
214
|
+
this.nodeCache = cnbsCacheHub.getCache('node', {
|
|
215
|
+
persistPath: './cache/node.json',
|
|
216
|
+
capacity: 500,
|
|
217
|
+
defaultExpire: CNBS_NODE_CACHE_TTL
|
|
218
|
+
});
|
|
219
|
+
this.metricCache = cnbsCacheHub.getCache('metric', {
|
|
220
|
+
persistPath: './cache/metric.json',
|
|
221
|
+
capacity: 1000,
|
|
222
|
+
defaultExpire: CNBS_METRIC_CACHE_TTL
|
|
223
|
+
});
|
|
224
|
+
this.seriesCache = cnbsCacheHub.getCache('series', {
|
|
225
|
+
persistPath: './cache/series.json',
|
|
226
|
+
capacity: 2000,
|
|
227
|
+
defaultExpire: CNBS_DATA_CACHE_TTL
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
async findItems(params) {
|
|
231
|
+
return cnbsRequestThrottler.execute(async () => {
|
|
232
|
+
return CnbsErrorHandler.retryWithBackoff(async () => {
|
|
233
|
+
const url = new URL(`${this.baseUrl}/query`);
|
|
234
|
+
url.searchParams.set('search', params.keyword);
|
|
235
|
+
url.searchParams.set('pagenum', (params.pageNum || 1).toString());
|
|
236
|
+
url.searchParams.set('pageSize', (params.pageSize || 10).toString());
|
|
237
|
+
console.error(`Search Request: ${url.toString()}`);
|
|
238
|
+
const response = await axios.get(url.toString(), {
|
|
239
|
+
...axiosConfig,
|
|
240
|
+
timeout: this.timeout,
|
|
241
|
+
});
|
|
242
|
+
console.error(`Response status:`, response.status);
|
|
243
|
+
return response.data;
|
|
244
|
+
});
|
|
245
|
+
});
|
|
246
|
+
}
|
|
247
|
+
async batchFindItems(keywords, pageSize = 5) {
|
|
248
|
+
const results = {};
|
|
249
|
+
for (const keyword of keywords) {
|
|
250
|
+
try {
|
|
251
|
+
const result = await this.findItems({ keyword, pageSize });
|
|
252
|
+
results[keyword] = result;
|
|
253
|
+
}
|
|
254
|
+
catch (error) {
|
|
255
|
+
results[keyword] = { error: error.message };
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
return results;
|
|
259
|
+
}
|
|
260
|
+
async fetchNodes(params) {
|
|
261
|
+
const cacheKey = `node_${params.category}_${params.parentId || 'root'}`;
|
|
262
|
+
const cached = this.nodeCache.fetch(cacheKey);
|
|
263
|
+
if (cached) {
|
|
264
|
+
console.error(`Node cache hit for ${cacheKey}`);
|
|
265
|
+
return cached;
|
|
266
|
+
}
|
|
267
|
+
return cnbsRequestThrottler.execute(async () => {
|
|
268
|
+
return CnbsErrorHandler.retryWithBackoff(async () => {
|
|
269
|
+
const url = new URL(`${this.baseUrl}/new/queryIndexTreeAsync`);
|
|
270
|
+
if (params.parentId) {
|
|
271
|
+
url.searchParams.set('pid', params.parentId);
|
|
272
|
+
}
|
|
273
|
+
url.searchParams.set('code', params.category);
|
|
274
|
+
console.error(`Node Request: ${url.toString()}`);
|
|
275
|
+
const response = await axios.get(url.toString(), {
|
|
276
|
+
...axiosConfig,
|
|
277
|
+
timeout: this.timeout,
|
|
278
|
+
});
|
|
279
|
+
this.nodeCache.store(cacheKey, response.data, CNBS_NODE_CACHE_TTL);
|
|
280
|
+
return response.data;
|
|
281
|
+
});
|
|
282
|
+
});
|
|
283
|
+
}
|
|
284
|
+
async fetchAllEndNodes(category) {
|
|
285
|
+
const allEnds = [];
|
|
286
|
+
const fetchRecursively = async (parentId) => {
|
|
287
|
+
try {
|
|
288
|
+
await new Promise(resolve => setTimeout(resolve, 300));
|
|
289
|
+
const response = await this.fetchNodes({ parentId, category });
|
|
290
|
+
const nodes = response.data || [];
|
|
291
|
+
for (const node of nodes) {
|
|
292
|
+
if (node.isLeaf) {
|
|
293
|
+
allEnds.push(node);
|
|
294
|
+
}
|
|
295
|
+
else {
|
|
296
|
+
await fetchRecursively(node._id);
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
catch (error) {
|
|
301
|
+
console.error(`Error in recursive node traversal for parentId=${parentId}:`, error);
|
|
302
|
+
throw error;
|
|
303
|
+
}
|
|
304
|
+
};
|
|
305
|
+
await fetchRecursively();
|
|
306
|
+
return allEnds;
|
|
307
|
+
}
|
|
308
|
+
async fetchMetrics(params) {
|
|
309
|
+
const cacheKey = `metric_${params.setId}`;
|
|
310
|
+
const cached = this.metricCache.fetch(cacheKey);
|
|
311
|
+
if (cached) {
|
|
312
|
+
console.error(`Metric cache hit for ${cacheKey}`);
|
|
313
|
+
return cached;
|
|
314
|
+
}
|
|
315
|
+
return cnbsRequestThrottler.execute(async () => {
|
|
316
|
+
return CnbsErrorHandler.retryWithBackoff(async () => {
|
|
317
|
+
const url = new URL(`${this.baseUrl}/new/queryIndicatorsByCid`);
|
|
318
|
+
url.searchParams.set('cid', params.setId);
|
|
319
|
+
if (params.dataType) {
|
|
320
|
+
url.searchParams.set('dt', params.dataType);
|
|
321
|
+
}
|
|
322
|
+
if (params.name) {
|
|
323
|
+
url.searchParams.set('name', params.name);
|
|
324
|
+
}
|
|
325
|
+
console.error(`Metric Request: ${url.toString()}`);
|
|
326
|
+
const response = await axios.get(url.toString(), {
|
|
327
|
+
...axiosConfig,
|
|
328
|
+
timeout: this.timeout,
|
|
329
|
+
});
|
|
330
|
+
this.metricCache.store(cacheKey, response.data, CNBS_METRIC_CACHE_TTL);
|
|
331
|
+
return response.data;
|
|
332
|
+
});
|
|
333
|
+
});
|
|
334
|
+
}
|
|
335
|
+
async fetchSeries(params) {
|
|
336
|
+
const cacheKey = `series_${params.setId}_${params.metricIds.join('_')}_${params.periods.join('_')}_${params.areas?.map(a => a.code).join('_') || '000000000000'}`;
|
|
337
|
+
const cachedData = this.seriesCache.fetch(cacheKey);
|
|
338
|
+
if (cachedData) {
|
|
339
|
+
console.error(`Series cache hit for ${cacheKey}`);
|
|
340
|
+
return cachedData;
|
|
341
|
+
}
|
|
342
|
+
return cnbsRequestThrottler.execute(async () => {
|
|
343
|
+
return CnbsErrorHandler.retryWithBackoff(async () => {
|
|
344
|
+
const payload = {
|
|
345
|
+
cid: params.setId,
|
|
346
|
+
indicatorIds: params.metricIds,
|
|
347
|
+
das: params.areas,
|
|
348
|
+
dts: params.periods,
|
|
349
|
+
showType: params.displayMode || '1',
|
|
350
|
+
rootId: params.rootId || this.rootId,
|
|
351
|
+
};
|
|
352
|
+
console.error(`Series Request: ${this.baseUrl}/getEsDataByCidAndDt`);
|
|
353
|
+
console.error(`Payload:`, JSON.stringify(payload, null, 2));
|
|
354
|
+
const response = await axios.post(`${this.baseUrl}/getEsDataByCidAndDt`, payload, {
|
|
355
|
+
...axiosConfig,
|
|
356
|
+
timeout: this.timeout,
|
|
357
|
+
headers: {
|
|
358
|
+
'Content-Type': 'application/json',
|
|
359
|
+
},
|
|
360
|
+
});
|
|
361
|
+
this.seriesCache.store(cacheKey, response.data, CNBS_DATA_CACHE_TTL);
|
|
362
|
+
return response.data;
|
|
363
|
+
});
|
|
364
|
+
});
|
|
365
|
+
}
|
|
366
|
+
async findAndFetch(keyword, metricName, startPeriod, endPeriod) {
|
|
367
|
+
const searchResponse = await this.findItems({ keyword, pageSize: 10 });
|
|
368
|
+
const searchResults = searchResponse?.data || [];
|
|
369
|
+
if (!searchResults || searchResults.length === 0) {
|
|
370
|
+
throw new Error(`No results found for keyword: ${keyword}`);
|
|
371
|
+
}
|
|
372
|
+
const target = searchResults.reduce((latest, current) => {
|
|
373
|
+
if (!latest.dt)
|
|
374
|
+
return current;
|
|
375
|
+
if (!current.dt)
|
|
376
|
+
return latest;
|
|
377
|
+
return current.dt > latest.dt ? current : latest;
|
|
378
|
+
});
|
|
379
|
+
const setId = target.cid || this.extractSetIdFromGlobalRef(target.treeinfo_globalid);
|
|
380
|
+
if (!setId) {
|
|
381
|
+
throw new Error('Failed to extract setId from search result');
|
|
382
|
+
}
|
|
383
|
+
const metricsResponse = await this.fetchMetrics({ setId });
|
|
384
|
+
const metrics = metricsResponse?.data?.list || [];
|
|
385
|
+
if (!metrics || metrics.length === 0) {
|
|
386
|
+
throw new Error(`No metrics found for setId: ${setId}`);
|
|
387
|
+
}
|
|
388
|
+
let targetMetric;
|
|
389
|
+
if (metricName) {
|
|
390
|
+
targetMetric = metrics.find((m) => m.i_showname?.includes(metricName));
|
|
391
|
+
}
|
|
392
|
+
else {
|
|
393
|
+
targetMetric = metrics[0];
|
|
394
|
+
}
|
|
395
|
+
if (!targetMetric) {
|
|
396
|
+
throw new Error(`Metric not found: ${metricName}`);
|
|
397
|
+
}
|
|
398
|
+
const periodRange = startPeriod && endPeriod
|
|
399
|
+
? `${startPeriod}-${endPeriod}`
|
|
400
|
+
: `${target.dt || '202001'}MM-${target.dt || '202612'}MM`;
|
|
401
|
+
const series = await this.fetchSeries({
|
|
402
|
+
setId,
|
|
403
|
+
metricIds: [targetMetric._id],
|
|
404
|
+
areas: [{ text: '全国', code: '000000000000' }],
|
|
405
|
+
periods: [periodRange],
|
|
406
|
+
});
|
|
407
|
+
return {
|
|
408
|
+
setId,
|
|
409
|
+
metric: targetMetric,
|
|
410
|
+
series,
|
|
411
|
+
};
|
|
412
|
+
}
|
|
413
|
+
extractSetIdFromGlobalRef(globalRef) {
|
|
414
|
+
if (!globalRef)
|
|
415
|
+
return null;
|
|
416
|
+
const parts = globalRef.split('.');
|
|
417
|
+
return parts[parts.length - 1] || null;
|
|
418
|
+
}
|
|
419
|
+
flushAllCaches() {
|
|
420
|
+
this.nodeCache.flush();
|
|
421
|
+
this.metricCache.flush();
|
|
422
|
+
this.seriesCache.flush();
|
|
423
|
+
}
|
|
424
|
+
getCacheStats() {
|
|
425
|
+
return cnbsCacheHub.getAllStats();
|
|
426
|
+
}
|
|
427
|
+
updateRootId(rootId) {
|
|
428
|
+
this.rootId = rootId;
|
|
429
|
+
}
|
|
430
|
+
fetchRootId() {
|
|
431
|
+
return this.rootId;
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
//# sourceMappingURL=api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/services/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
export declare class CnbsLruCache<T> {
|
|
2
|
+
private entryMap;
|
|
3
|
+
private head;
|
|
4
|
+
private tail;
|
|
5
|
+
private persistPath;
|
|
6
|
+
private capacity;
|
|
7
|
+
private defaultExpire;
|
|
8
|
+
constructor(options?: {
|
|
9
|
+
persistPath?: string;
|
|
10
|
+
capacity?: number;
|
|
11
|
+
defaultExpire?: number;
|
|
12
|
+
});
|
|
13
|
+
private prependEntry;
|
|
14
|
+
private deleteEntry;
|
|
15
|
+
private promoteEntry;
|
|
16
|
+
private dropTail;
|
|
17
|
+
fetch(key: string): T | null;
|
|
18
|
+
store(key: string, value: T, ttl?: number): void;
|
|
19
|
+
remove(key: string): void;
|
|
20
|
+
flush(): void;
|
|
21
|
+
count(): number;
|
|
22
|
+
getStats(): {
|
|
23
|
+
size: number;
|
|
24
|
+
capacity: number;
|
|
25
|
+
oldestEntry: {
|
|
26
|
+
key: string;
|
|
27
|
+
age: number;
|
|
28
|
+
} | null;
|
|
29
|
+
topHit: {
|
|
30
|
+
key: string;
|
|
31
|
+
count: number;
|
|
32
|
+
} | null;
|
|
33
|
+
};
|
|
34
|
+
private saveToDisk;
|
|
35
|
+
private loadFromDisk;
|
|
36
|
+
}
|
|
37
|
+
export declare class CnbsCacheHub {
|
|
38
|
+
private caches;
|
|
39
|
+
getCache<T>(name: string, options?: {
|
|
40
|
+
persistPath?: string;
|
|
41
|
+
capacity?: number;
|
|
42
|
+
defaultExpire?: number;
|
|
43
|
+
}): CnbsLruCache<T>;
|
|
44
|
+
flushAll(): void;
|
|
45
|
+
getAllStats(): Record<string, ReturnType<CnbsLruCache<any>['getStats']>>;
|
|
46
|
+
}
|
|
47
|
+
export declare const cnbsCacheHub: CnbsCacheHub;
|
|
48
|
+
//# sourceMappingURL=cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/services/cache.ts"],"names":[],"mappings":"AAaA,qBAAa,YAAY,CAAC,CAAC;IACzB,OAAO,CAAC,QAAQ,CAAwC;IACxD,OAAO,CAAC,IAAI,CAAkC;IAC9C,OAAO,CAAC,IAAI,CAAkC;IAE9C,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,aAAa,CAAS;gBAElB,OAAO,CAAC,EAAE;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB;IAOD,OAAO,CAAC,YAAY;IAcpB,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,QAAQ;IAQhB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI;IAkB5B,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,GAAE,MAA2B,GAAG,IAAI;IAmCpE,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IASzB,KAAK,IAAI,IAAI;IAOb,KAAK,IAAI,MAAM;IAIf,QAAQ,IAAI;QACV,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAA;SAAE,GAAG,IAAI,CAAC;QACjD,MAAM,EAAE;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,GAAG,IAAI,CAAC;KAC/C;IAgCD,OAAO,CAAC,UAAU;IAmClB,OAAO,CAAC,YAAY;CAkCrB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAA6C;IAE3D,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAClC,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,GAAG,YAAY,CAAC,CAAC,CAAC;IAOnB,QAAQ,IAAI,IAAI;IAIhB,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;CAOzE;AAED,eAAO,MAAM,YAAY,cAAqB,CAAC"}
|