const express = require('express'); const cors = require('cors'); const dotenv = require('dotenv'); const swaggerUi = require('swagger-ui-express'); const swaggerSpec = require('./config/swagger'); const { sequelize } = require('./config/database-simple'); // 加载环境变量 dotenv.config(); // 创建Express应用 const app = express(); const PORT = process.env.PORT || 5350; // 中间件 app.use(cors()); app.use(express.json()); app.use(express.urlencoded({ extended: true })); // Swagger 文档路由 app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerSpec)); // 基础路由 app.get('/', (req, res) => { res.json({ message: '宁夏智慧养殖监管平台API服务', version: '1.0.0', docs: '/api-docs' }); }); // 数据库同步 sequelize.sync() .then(() => { console.log('数据库同步成功'); }) .catch(err => { console.error('数据库同步失败:', err); }); // 认证相关路由 app.use('/api/auth', require('./routes/auth')); // 用户相关路由 app.use('/api/users', require('./routes/users')); // 产品相关路由 app.use('/api/products', require('./routes/products')); // 订单相关路由 app.use('/api/orders', require('./routes/orders')); // 农场相关路由 app.use('/api/farms', require('./routes/farms')); // 养殖场相关路由 app.use('/api/farms', require('./routes/farms')); // 动物相关路由 app.use('/api/animals', require('./routes/animals')); // 设备相关路由 app.use('/api/devices', require('./routes/devices')); // 预警相关路由 app.use('/api/alerts', require('./routes/alerts')); // 统计数据相关路由 app.use('/api/stats', require('./routes/stats')); // 百度地图API相关路由 app.use('/api/map', require('./routes/map')); // 处理404错误 app.use((req, res) => { res.status(404).json({ success: false, message: '请求的资源不存在' }); }); // 错误处理中间件 app.use((err, req, res, next) => { console.error('服务器错误:', err); res.status(500).json({ success: false, message: '服务器错误' }); }); // 启动服务器 app.listen(PORT, () => { console.log(`服务器运行在端口 ${PORT}`); console.log(`API 文档地址: http://localhost:${PORT}/api-docs`); }); module.exports = app;