后端版本服务器部署成功
This commit is contained in:
@@ -12,13 +12,23 @@ console.log('🔧 初始化Express应用...');
|
||||
|
||||
const { globalErrorHandler, notFound } = require('./utils/errors');
|
||||
|
||||
// 路由导入
|
||||
const authRoutes = require('./routes/auth');
|
||||
const userRoutes = require('./routes/user');
|
||||
const travelRoutes = require('./routes/travel');
|
||||
const animalRoutes = require('./routes/animal');
|
||||
const orderRoutes = require('./routes/order');
|
||||
const adminRoutes = require('./routes/admin'); // 新增管理员路由
|
||||
// 检查是否为无数据库模式
|
||||
const NO_DB_MODE = process.env.NO_DB_MODE === 'true';
|
||||
|
||||
let authRoutes, userRoutes, travelRoutes, animalRoutes, orderRoutes, adminRoutes;
|
||||
|
||||
// 路由导入 - 根据是否为无数据库模式决定是否导入实际路由
|
||||
if (NO_DB_MODE) {
|
||||
console.log('⚠️ 无数据库模式:将使用模拟路由');
|
||||
} else {
|
||||
// 路由导入
|
||||
authRoutes = require('./routes/auth');
|
||||
userRoutes = require('./routes/user');
|
||||
travelRoutes = require('./routes/travel');
|
||||
animalRoutes = require('./routes/animal');
|
||||
orderRoutes = require('./routes/order');
|
||||
adminRoutes = require('./routes/admin'); // 新增管理员路由
|
||||
}
|
||||
|
||||
const app = express();
|
||||
|
||||
@@ -88,7 +98,8 @@ app.get('/health', (req, res) => {
|
||||
status: 'OK',
|
||||
timestamp: new Date().toISOString(),
|
||||
uptime: process.uptime(),
|
||||
environment: process.env.NODE_ENV || 'development'
|
||||
environment: process.env.NODE_ENV || 'development',
|
||||
noDbMode: NO_DB_MODE
|
||||
});
|
||||
});
|
||||
|
||||
@@ -103,20 +114,85 @@ app.get('/system-stats', (req, res) => {
|
||||
uptime: process.uptime(),
|
||||
cpuCount: require('os').cpus().length,
|
||||
platform: process.platform,
|
||||
architecture: process.arch
|
||||
architecture: process.arch,
|
||||
noDbMode: NO_DB_MODE
|
||||
};
|
||||
|
||||
res.status(200).json(stats);
|
||||
});
|
||||
|
||||
// API路由
|
||||
app.use('/api/v1/auth', authRoutes);
|
||||
app.use('/api/v1/users', userRoutes);
|
||||
app.use('/api/v1/travel', travelRoutes);
|
||||
app.use('/api/v1/animals', animalRoutes);
|
||||
app.use('/api/v1/orders', orderRoutes);
|
||||
// 管理员路由
|
||||
app.use('/api/v1/admin', adminRoutes);
|
||||
// 无数据库模式下的模拟路由
|
||||
if (NO_DB_MODE) {
|
||||
// 认证路由
|
||||
app.use('/api/v1/auth', (req, res) => {
|
||||
if (req.method === 'POST' && req.path === '/login') {
|
||||
// 模拟登录响应
|
||||
res.status(200).json({
|
||||
success: true,
|
||||
message: '模拟登录成功',
|
||||
data: {
|
||||
token: 'mock-jwt-token',
|
||||
user: {
|
||||
id: 1,
|
||||
username: 'mockuser',
|
||||
email: 'mock@example.com',
|
||||
role: 'user'
|
||||
}
|
||||
}
|
||||
});
|
||||
} else {
|
||||
res.status(503).json({
|
||||
success: false,
|
||||
message: '当前为无数据库模式,该功能不可用'
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
// 其他路由的通用响应
|
||||
app.use('/api/v1/users', (req, res) => {
|
||||
res.status(503).json({
|
||||
success: false,
|
||||
message: '当前为无数据库模式,用户管理功能不可用'
|
||||
});
|
||||
});
|
||||
|
||||
app.use('/api/v1/travel', (req, res) => {
|
||||
res.status(503).json({
|
||||
success: false,
|
||||
message: '当前为无数据库模式,旅行相关功能不可用'
|
||||
});
|
||||
});
|
||||
|
||||
app.use('/api/v1/animals', (req, res) => {
|
||||
res.status(503).json({
|
||||
success: false,
|
||||
message: '当前为无数据库模式,动物相关功能不可用'
|
||||
});
|
||||
});
|
||||
|
||||
app.use('/api/v1/orders', (req, res) => {
|
||||
res.status(503).json({
|
||||
success: false,
|
||||
message: '当前为无数据库模式,订单相关功能不可用'
|
||||
});
|
||||
});
|
||||
|
||||
app.use('/api/v1/admin', (req, res) => {
|
||||
res.status(503).json({
|
||||
success: false,
|
||||
message: '当前为无数据库模式,管理员功能不可用'
|
||||
});
|
||||
});
|
||||
} else {
|
||||
// API路由
|
||||
app.use('/api/v1/auth', authRoutes);
|
||||
app.use('/api/v1/users', userRoutes);
|
||||
app.use('/api/v1/travel', travelRoutes);
|
||||
app.use('/api/v1/animals', animalRoutes);
|
||||
app.use('/api/v1/orders', orderRoutes);
|
||||
// 管理员路由
|
||||
app.use('/api/v1/admin', adminRoutes);
|
||||
}
|
||||
|
||||
// 404处理
|
||||
app.use('*', notFound);
|
||||
|
||||
Reference in New Issue
Block a user