45 lines
1.1 KiB
JavaScript
45 lines
1.1 KiB
JavaScript
const express = require('express');
|
|
const cors = require('cors');
|
|
const path = require('path');
|
|
const authRouter = require('./routes/auth');
|
|
|
|
const app = express();
|
|
const PORT = process.env.PORT || 3000;
|
|
|
|
// 中间件
|
|
app.use(cors());
|
|
app.use(express.json());
|
|
app.use(express.urlencoded({ extended: true }));
|
|
|
|
// 请求日志
|
|
app.use((req, res, next) => {
|
|
console.log(`[${new Date().toISOString()}] ${req.method} ${req.path}`);
|
|
next();
|
|
});
|
|
|
|
// 路由
|
|
app.use('/api/auth', authRouter);
|
|
|
|
// 健康检查
|
|
app.get('/health', (req, res) => {
|
|
res.json({ code: 0, message: 'ok', timestamp: new Date().toISOString() });
|
|
});
|
|
|
|
// 404
|
|
app.use((req, res) => {
|
|
res.status(404).json({ code: 404, message: '接口不存在' });
|
|
});
|
|
|
|
// 错误处理
|
|
app.use((err, req, res, next) => {
|
|
console.error('[Error]', err);
|
|
res.status(500).json({ code: 500, message: '服务器内部错误' });
|
|
});
|
|
|
|
app.listen(PORT, () => {
|
|
console.log(`[Server] 后端服务已启动,端口: ${PORT}`);
|
|
console.log(`[Server] 环境: ${process.env.NODE_ENV || 'development'}`);
|
|
});
|
|
|
|
module.exports = app;
|