47 lines
1.3 KiB
JavaScript
47 lines
1.3 KiB
JavaScript
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'}`);
|
|
});
|