XNSim/XNSimHtml/routes/SystemControl.js

99 lines
2.1 KiB
JavaScript

const express = require('express');
const router = express.Router();
const {
initializeEngineControl,
pauseEngine,
resumeEngine,
stopEngine
} = require('../utils/systemMonitor');
/**
* @brief 初始化引擎控制
* @route POST /api/system-control/initialize
* @returns {Object} 返回初始化结果
*/
router.post('/initialize', async (req, res) => {
try {
const result = initializeEngineControl();
if (result.includes('失败')) {
res.status(500).json({
success: false,
message: result
});
return;
}
res.json({
success: true,
message: result
});
} catch (error) {
res.status(500).json({
success: false,
message: `初始化引擎控制失败: ${error.message}`
});
}
});
/**
* @brief 暂停引擎
* @route POST /api/system-control/pause
* @returns {Object} 返回暂停操作结果
*/
router.post('/pause', async (req, res) => {
try {
const result = pauseEngine();
res.json({
success: !result.includes('失败'),
message: result
});
} catch (error) {
res.status(500).json({
success: false,
message: `暂停引擎失败: ${error.message}`
});
}
});
/**
* @brief 恢复引擎
* @route POST /api/system-control/resume
* @returns {Object} 返回恢复操作结果
*/
router.post('/resume', async (req, res) => {
try {
const result = resumeEngine();
res.json({
success: !result.includes('失败'),
message: result
});
} catch (error) {
res.status(500).json({
success: false,
message: `恢复引擎失败: ${error.message}`
});
}
});
/**
* @brief 停止引擎
* @route POST /api/system-control/stop
* @returns {Object} 返回停止操作结果
*/
router.post('/stop', async (req, res) => {
try {
const result = stopEngine();
res.json({
success: !result.includes('失败'),
message: result
});
} catch (error) {
res.status(500).json({
success: false,
message: `停止引擎失败: ${error.message}`
});
}
});
module.exports = router;