Files
department-api/routes/aircraft.js
huanglinhuan aaee847593 init commit
2025-12-03 22:20:43 +08:00

121 lines
3.2 KiB
JavaScript
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
const express = require('express');
const router = express.Router();
// 模拟机型数据库(实际项目中应使用真实数据库)
const aircrafts = [
{
id: 1,
name: '波音737',
code: 'B737',
manufacturer: '波音公司',
type: '窄体客机',
description: '波音737是波音公司生产的中短程双发窄体客机是全球最畅销的商用喷气式客机。',
specifications: {
maxPassengers: 215,
maxRange: '5700km',
cruiseSpeed: '840km/h',
length: '39.5m',
wingspan: '35.8m'
}
},
{
id: 2,
name: '空客A320',
code: 'A320',
manufacturer: '空中客车公司',
type: '窄体客机',
description: '空客A320是空中客车公司生产的单通道窄体客机是空客最成功的机型之一。',
specifications: {
maxPassengers: 180,
maxRange: '6150km',
cruiseSpeed: '840km/h',
length: '37.57m',
wingspan: '35.8m'
}
},
{
id: 3,
name: '波音787',
code: 'B787',
manufacturer: '波音公司',
type: '宽体客机',
description: '波音787梦想客机是波音公司生产的双发宽体中远程客机采用大量复合材料。',
specifications: {
maxPassengers: 330,
maxRange: '15700km',
cruiseSpeed: '913km/h',
length: '57m',
wingspan: '60m'
}
},
{
id: 4,
name: '空客A350',
code: 'A350',
manufacturer: '空中客车公司',
type: '宽体客机',
description: '空客A350是空中客车公司生产的双发宽体远程客机采用先进材料和设计。',
specifications: {
maxPassengers: 440,
maxRange: '15000km',
cruiseSpeed: '903km/h',
length: '66.8m',
wingspan: '64.75m'
}
}
];
// 获取所有机型列表
router.get('/list', (req, res) => {
try {
const { search } = req.query;
let filteredAircrafts = aircrafts;
if (search) {
const searchLower = search.toLowerCase();
filteredAircrafts = aircrafts.filter(aircraft =>
aircraft.name.toLowerCase().includes(searchLower) ||
aircraft.code.toLowerCase().includes(searchLower) ||
aircraft.manufacturer.toLowerCase().includes(searchLower)
);
}
res.json({
success: true,
data: filteredAircrafts.map(aircraft => ({
id: aircraft.id,
name: aircraft.name,
code: aircraft.code,
manufacturer: aircraft.manufacturer,
type: aircraft.type
}))
});
} catch (error) {
console.error('获取机型列表错误:', error);
res.status(500).json({ error: '服务器内部错误' });
}
});
// 获取单个机型详细信息
router.get('/:id', (req, res) => {
try {
const id = parseInt(req.params.id);
const aircraft = aircrafts.find(a => a.id === id);
if (!aircraft) {
return res.status(404).json({ error: '机型不存在' });
}
res.json({
success: true,
data: aircraft
});
} catch (error) {
console.error('获取机型详情错误:', error);
res.status(500).json({ error: '服务器内部错误' });
}
});
module.exports = router;