Files
djby-crawler/src/services/storageService.js

33 lines
865 B
JavaScript
Raw Normal View History

2025-07-02 18:23:02 +08:00
const axios = require('axios');
const config = require('../config');
const { Logger } = require('../utils/logger');
class StorageService {
constructor() {
this.api = axios.create({
baseURL: config.api.baseUrl,
timeout: config.global.requestTimeout,
headers: {
'Content-Type': 'application/json'
}
});
this.logger = new Logger('Storage');
}
async batchSave(newsItems) {
try {
const response = await this.api.post(config.api.endpoints.batchSave, {
items: newsItems,
source: 'multi-site-crawler'
});
this.logger.info(`批量保存成功: ${newsItems.length}`);
return response.data;
} catch (error) {
this.logger.error('批量保存失败', error.response?.data || error.message);
throw error;
}
}
}
module.exports = new StorageService();