const express = require('express'); const cors = require('cors'); const app = express(); // 中间件 app.use(cors()); app.use(express.json()); // 模拟认证中间件 const mockAuthMiddleware = (req, res, next) => { req.user = { id: 1, username: 'test' }; next(); }; // 模拟仪表盘控制器 const mockDashboardController = { getStats: (req, res) => { res.json({ success: true, message: '获取统计数据成功(模拟数据)', data: { overview: { totalUsers: 1250, totalAccounts: 3420, totalTransactions: 15680, totalBalance: 12500000.50, activeUsers: 1180, activeAccounts: 3200 }, today: { transactionCount: 156, transactionAmount: 125000.00 }, accountTypes: [ { type: 'savings', count: 2100, totalBalance: 8500000.00 }, { type: 'checking', count: 800, totalBalance: 3200000.00 }, { type: 'credit', count: 400, totalBalance: 500000.00 }, { type: 'loan', count: 120, totalBalance: 300000.00 } ], trends: [ { date: '2024-01-15', count: 45, totalAmount: 12500.00 }, { date: '2024-01-16', count: 52, totalAmount: 15200.00 }, { date: '2024-01-17', count: 38, totalAmount: 9800.00 }, { date: '2024-01-18', count: 61, totalAmount: 18500.00 }, { date: '2024-01-19', count: 48, totalAmount: 13200.00 }, { date: '2024-01-20', count: 55, totalAmount: 16800.00 }, { date: '2024-01-21', count: 42, totalAmount: 11200.00 } ] } }); }, getRecentTransactions: (req, res) => { const { limit = 10 } = req.query; const mockTransactions = [ { id: 1, type: 'deposit', amount: 1000.00, description: '存款', status: 'completed', created_at: new Date(), account: { account_number: '1234567890', user: { username: 'user1', real_name: '张三' } } }, { id: 2, type: 'withdrawal', amount: 500.00, description: '取款', status: 'completed', created_at: new Date(Date.now() - 3600000), account: { account_number: '1234567891', user: { username: 'user2', real_name: '李四' } } }, { id: 3, type: 'transfer', amount: 200.00, description: '转账', status: 'completed', created_at: new Date(Date.now() - 7200000), account: { account_number: '1234567892', user: { username: 'user3', real_name: '王五' } } } ].slice(0, parseInt(limit)); res.json({ success: true, message: '获取最近交易记录成功(模拟数据)', data: mockTransactions }); } }; // 路由 app.get('/health', (req, res) => { res.json({ message: '银行后端服务运行正常', timestamp: new Date().toISOString() }); }); app.get('/api/dashboard', mockAuthMiddleware, mockDashboardController.getStats); app.get('/api/dashboard/recent-transactions', mockAuthMiddleware, mockDashboardController.getRecentTransactions); // 启动服务器 const PORT = 5351; app.listen(PORT, () => { console.log(`🚀 银行后端模拟服务已启动`); console.log(`📡 服务地址: http://localhost:${PORT}`); console.log(`🏥 健康检查: http://localhost:${PORT}/health`); console.log(`📊 仪表盘API: http://localhost:${PORT}/api/dashboard`); console.log(`💳 最近交易API: http://localhost:${PORT}/api/dashboard/recent-transactions`); });