require('dotenv').config(); const express = require('express'); const cors = require('cors'); const authRoutes = require('./routes/authRoutes'); const aiProxyRoutes = require('./routes/aiProxyRoutes'); const conversationRoutes = require('./routes/conversationRoutes'); const app = express(); const PORT = process.env.PORT || 8080; app.use(cors()); app.use(express.json()); // 打印请求头 app.use((req, _res, next) => { console.log(`\n[${new Date().toISOString()}] ${req.method} ${req.path}`); console.log('[Headers]', JSON.stringify(req.headers, null, 2)); next(); }); // 健康检查 app.get('/health', (req, res) => { res.json({ status: 'ok', service: 'java-mock', timestamp: new Date().toISOString() }); }); // 路由 app.use('/api/auth', authRoutes); app.use('/api/ai', aiProxyRoutes); app.use('/api/ai/conversations', conversationRoutes); // 404 app.use((req, res) => { res.status(404).json({ code: 404, message: `Not Found: ${req.method} ${req.path}` }); }); // 全局错误处理 app.use((err, req, res, _next) => { console.error('[Error]', err); res.status(500).json({ code: 500, message: err.message || '服务器内部错误' }); }); app.listen(PORT, () => { console.log(`java-mock 启动成功 → http://localhost:${PORT}`); console.log(`Python 后端地址: ${process.env.PYTHON_BACKEND_URL || 'http://localhost:3001'}`); });