const express = require('express'); const mongoose = require('mongoose'); const cors = require('cors'); require('dotenv').config(); const app = express(); const PORT = process.env.PORT || 3000; // 中间件 app.use(cors()); app.use(express.json()); // 连接 MongoDB mongoose.connect(process.env.MONGODB_URI || 'mongodb://localhost:27017/e-scooter-rental') .then(() => console.log('✅ MongoDB 连接成功')) .catch(err => console.error('❌ MongoDB 连接失败:', err.message)); // 路由 app.use('/api/vehicles', require('./routes/vehicles')); app.use('/api/orders', require('./routes/orders')); app.use('/api/customers', require('./routes/customers')); app.use('/api/finance', require('./routes/finance')); app.use('/api/stores', require('./routes/stores')); app.use('/api/complaints', require('./routes/complaints')); app.use('/api/approvals', require('./routes/approvals')); app.use('/api/payments', require('./routes/payments')); app.use('/api/conflicts', require('./routes/conflicts')); app.use('/api/applications', require('./routes/applications')); app.use('/api/disputes', require('./routes/disputes')); app.use('/api/riders', require('./routes/riders')); app.use('/api/vehicle-types', require('./routes/vehicleTypes')); // 健康检查 app.get('/health', (req, res) => { res.json({ status: 'ok', timestamp: new Date().toISOString() }); }); // 404 处理 app.use((req, res) => { res.status(404).json({ success: false, message: '接口不存在', path: req.path }); }); // 错误处理中间件 const errorHandler = require('./middleware/errorHandler'); app.use(errorHandler); // 启动服务器 app.listen(PORT, () => { console.log(`🚀 服务器运行在 http://localhost:${PORT}`); });