chatbot-js / data-loader.js
mr4's picture
Upload 26 files
91111e4 verified
// ============================================================
// data-loader.js — Load dữ liệu JSON cho trình duyệt
// ============================================================
var SPECIFIC_RESPONSES = {};
var QA_DATASET = {};
var ADAPTER_REGISTRY = {};
var HELP_CONTENT = {};
/**
* Load tất cả file JSON dữ liệu.
* Gọi hàm này trước khi khởi tạo app.
* @returns {Promise<void>}
*/
async function loadAllData() {
var files = [
{ path: 'data/specific-responses.json', target: 'SPECIFIC_RESPONSES' },
{ path: 'data/qa-dataset.json', target: 'QA_DATASET' },
{ path: 'data/adapter-registry.json', target: 'ADAPTER_REGISTRY' },
{ path: 'data/help-content.json', target: 'HELP_CONTENT' }
];
var promises = files.map(function (file) {
return fetch(file.path)
.then(function (res) {
if (!res.ok) throw new Error('HTTP ' + res.status + ' loading ' + file.path);
return res.json();
})
.then(function (data) {
if (file.target === 'SPECIFIC_RESPONSES') {
Object.assign(SPECIFIC_RESPONSES, data);
} else if (file.target === 'QA_DATASET') {
Object.assign(QA_DATASET, data);
} else if (file.target === 'ADAPTER_REGISTRY') {
Object.assign(ADAPTER_REGISTRY, data);
} else if (file.target === 'HELP_CONTENT') {
Object.assign(HELP_CONTENT, data);
}
})
.catch(function (err) {
console.error('Lỗi load data [' + file.path + ']:', err);
});
});
await Promise.all(promises);
}