36 lines
858 B
JavaScript
36 lines
858 B
JavaScript
|
|
const express = require('express');
|
||
|
|
const cors = require('cors');
|
||
|
|
require('dotenv').config();
|
||
|
|
|
||
|
|
const storyRoutes = require('./routes/story');
|
||
|
|
const userRoutes = require('./routes/user');
|
||
|
|
|
||
|
|
const app = express();
|
||
|
|
const PORT = process.env.PORT || 3000;
|
||
|
|
|
||
|
|
// 中间件
|
||
|
|
app.use(cors());
|
||
|
|
app.use(express.json());
|
||
|
|
app.use(express.urlencoded({ extended: true }));
|
||
|
|
|
||
|
|
// 路由
|
||
|
|
app.use('/api/stories', storyRoutes);
|
||
|
|
app.use('/api/user', userRoutes);
|
||
|
|
|
||
|
|
// 健康检查
|
||
|
|
app.get('/api/health', (req, res) => {
|
||
|
|
res.json({ status: 'ok', message: '星域故事汇服务运行中' });
|
||
|
|
});
|
||
|
|
|
||
|
|
// 错误处理
|
||
|
|
app.use((err, req, res, next) => {
|
||
|
|
console.error(err.stack);
|
||
|
|
res.status(500).json({ code: 500, message: '服务器内部错误' });
|
||
|
|
});
|
||
|
|
|
||
|
|
app.listen(PORT, () => {
|
||
|
|
console.log(`星域故事汇服务器运行在 http://localhost:${PORT}`);
|
||
|
|
});
|
||
|
|
|
||
|
|
module.exports = app;
|