修改保险后端代码,政府前端代码
This commit is contained in:
129
bank-backend/test-api.js
Normal file
129
bank-backend/test-api.js
Normal file
@@ -0,0 +1,129 @@
|
||||
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`);
|
||||
});
|
||||
Reference in New Issue
Block a user