feat: 接口选择改为支持搜索的下拉组件,按模块分组显示
This commit is contained in:
77
server/import_templates.js
Normal file
77
server/import_templates.js
Normal file
@@ -0,0 +1,77 @@
|
||||
const XLSX = require('xlsx');
|
||||
const pool = require('./db');
|
||||
const path = require('path');
|
||||
|
||||
async function importTemplates() {
|
||||
try {
|
||||
const filePath = path.join(__dirname, '../Moka_全量API接口.xlsx');
|
||||
console.log('读取文件:', filePath);
|
||||
|
||||
const workbook = XLSX.readFile(filePath);
|
||||
console.log(`共 ${workbook.SheetNames.length} 个 Sheet\n`);
|
||||
|
||||
let totalSuccess = 0;
|
||||
let totalError = 0;
|
||||
|
||||
for (const sheetName of workbook.SheetNames) {
|
||||
console.log(`\n=== 处理 Sheet: ${sheetName} ===`);
|
||||
const sheet = workbook.Sheets[sheetName];
|
||||
const data = XLSX.utils.sheet_to_json(sheet);
|
||||
console.log(`共 ${data.length} 条记录`);
|
||||
|
||||
let successCount = 0;
|
||||
let errorCount = 0;
|
||||
|
||||
for (const row of data) {
|
||||
try {
|
||||
// Excel 列名映射
|
||||
const module = sheetName; // 使用 Sheet 名称作为业务模块
|
||||
const name = row['接口名称'] || '';
|
||||
const description = row['接口说明'] || null;
|
||||
const url = row['请求地址'] || '';
|
||||
const body = row['请求体 Request Body'] || null;
|
||||
|
||||
// 默认值
|
||||
const category = '旗舰版PP'; // 默认分类
|
||||
const method = 'POST'; // 默认 POST
|
||||
const apiCode = null;
|
||||
const userName = null;
|
||||
|
||||
if (!name || !url) {
|
||||
console.log(' 跳过无效记录 (缺少名称或URL):', name || '未命名');
|
||||
errorCount++;
|
||||
continue;
|
||||
}
|
||||
|
||||
await pool.query(
|
||||
`INSERT INTO endpoint_templates
|
||||
(name, category, module, api_code, user_name, url, method, body, description)
|
||||
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,
|
||||
[name, category, module, apiCode, userName, url, method, body, description]
|
||||
);
|
||||
|
||||
successCount++;
|
||||
console.log(` ✓ ${name}`);
|
||||
} catch (err) {
|
||||
errorCount++;
|
||||
console.error(` ✗ 导入失败:`, err.message);
|
||||
}
|
||||
}
|
||||
|
||||
console.log(`${sheetName}: 成功 ${successCount} 条, 失败 ${errorCount} 条`);
|
||||
totalSuccess += successCount;
|
||||
totalError += errorCount;
|
||||
}
|
||||
|
||||
console.log('\n========== 导入完成 ==========');
|
||||
console.log(`总成功: ${totalSuccess} 条`);
|
||||
console.log(`总失败: ${totalError} 条`);
|
||||
|
||||
process.exit(0);
|
||||
} catch (error) {
|
||||
console.error('导入失败:', error);
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
importTemplates();
|
||||
Reference in New Issue
Block a user