const express = require('express'); const router = express.Router(); const { interfaceGenStep1InitParams, interfaceGenStep2GetInterfaceData, interfaceGenStep3CreateConfigDir, interfaceGenStep4GenerateIDL, interfaceGenStep5GenerateFastDDS, interfaceGenStep6GenerateDDSInterface, interfaceGenStep7GenerateCMakeLists, interfaceGenStep8BuildAndInstall, interfaceGenStep9SudoLdconfig } = require('../utils/xnCoreService'); // Step1: 初始化接口生成参数 router.post('/step1', (req, res) => { const { configID } = req.body; if (!configID) { return res.status(400).json({ success: false, message: '缺少configID参数' }); } const result = interfaceGenStep1InitParams(configID); res.json({ success: result.includes('成功'), message: result }); }); // Step2: 获取接口数据 router.post('/step2', (req, res) => { const result = interfaceGenStep2GetInterfaceData(); res.json({ success: result.includes('成功'), message: result }); }); // Step3: 创建构型接口目录 router.post('/step3', (req, res) => { const result = interfaceGenStep3CreateConfigDir(); res.json({ success: result.includes('成功'), message: result }); }); // Step4: 生成IDL文件 router.post('/step4', (req, res) => { const result = interfaceGenStep4GenerateIDL(); res.json({ success: result.includes('成功'), message: result }); }); // Step5: 生成FastDDS接口代码 router.post('/step5', (req, res) => { const result = interfaceGenStep5GenerateFastDDS(); res.json({ success: result.includes('成功'), message: result }); }); // Step6: 生成DDS接口代码 router.post('/step6', (req, res) => { const result = interfaceGenStep6GenerateDDSInterface(); res.json({ success: result.includes('成功'), message: result }); }); // Step7: 生成CMakeLists文件 router.post('/step7', (req, res) => { const result = interfaceGenStep7GenerateCMakeLists(); res.json({ success: result.includes('成功'), message: result }); }); // Step8: CMake构建并安装 router.post('/step8', (req, res) => { const result = interfaceGenStep8BuildAndInstall(); res.json({ success: result.includes('成功'), message: result }); }); // Step9: 执行sudo ldconfig router.post('/step9', (req, res) => { const result = interfaceGenStep9SudoLdconfig(); res.json({ success: result.includes('成功'), message: result }); }); module.exports = router;