focus-product-extractor2
Version:
Extract product information from chat/order data
52 lines (46 loc) • 2.51 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.FocusProductExtractor = void 0;
var _inputAdapter = _interopRequireDefault(require("./core/inputAdapter.js"));
var _ruleEngine = _interopRequireDefault(require("./core/ruleEngine.js"));
var _coreExtractor = _interopRequireDefault(require("./core/coreExtractor.js"));
var _outputStandard = require("./core/outputStandard.js");
var _validators = require("./utils/validators.js");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
// 将所有require改为import
class FocusProductExtractor {
async process(input) {
var _input$authConfig, _input$authConfig2, _input$authConfig3;
// 输入验证
(0, _validators.validateInput)(input);
// console.log('\n --input--');
// console.log(JSON.stringify(input));
// 数据解析&按需提取
const parsedData = _inputAdapter.default.parse(input);
// console.log('\n --parsedData--');
// console.log(JSON.stringify(parsedData));
// 规则过滤指定发送者的消息
const filteredData = _ruleEngine.default.applyRules(parsedData, input.rules || {});
// console.log('\n --filteredData--');
// console.log(JSON.stringify(filteredData));
// 按指定规则提取
const extractedItems = _coreExtractor.default.extract(filteredData, input.rules || {});
// console.log('\n --extractedItems--');
// console.log(JSON.stringify(extractedItems));
// console.log(JSON.stringify(input.authConfig?.taobaoAuth));
// console.log(JSON.stringify(input.authConfig?.domesticAuth));
// 标准化输出并获取商品信息
const outputStandard = new _outputStandard.OutputStandard();
return await outputStandard.format(extractedItems, {
taobaoAuth: (_input$authConfig = input.authConfig) === null || _input$authConfig === void 0 ? void 0 : _input$authConfig.taobaoAuth,
domesticAuth: (_input$authConfig2 = input.authConfig) === null || _input$authConfig2 === void 0 ? void 0 : _input$authConfig2.domesticAuth,
overseasAuth: (_input$authConfig3 = input.authConfig) === null || _input$authConfig3 === void 0 ? void 0 : _input$authConfig3.overseasAuth // 海外平台认证
});
}
}
exports.FocusProductExtractor = FocusProductExtractor;
const extractor = new FocusProductExtractor();
var _default = exports.default = extractor; // 同时导出类本身,方便需要继承或自定义的场景
// export { FocusProductExtractor };