修改保险后端代码,政府前端代码
This commit is contained in:
177
bank-backend/routes/dashboard.js
Normal file
177
bank-backend/routes/dashboard.js
Normal file
@@ -0,0 +1,177 @@
|
||||
/**
|
||||
* 仪表盘路由
|
||||
* @file dashboard.js
|
||||
* @description 仪表盘相关的路由定义
|
||||
*/
|
||||
const express = require('express');
|
||||
const dashboardController = require('../controllers/dashboardController');
|
||||
const { authMiddleware, tellerMiddleware } = require('../middleware/auth');
|
||||
|
||||
const router = express.Router();
|
||||
|
||||
// 所有路由都需要认证
|
||||
router.use(authMiddleware);
|
||||
|
||||
/**
|
||||
* @swagger
|
||||
* /api/dashboard:
|
||||
* get:
|
||||
* summary: 获取仪表盘统计数据
|
||||
* tags: [仪表盘]
|
||||
* security:
|
||||
* - bearerAuth: []
|
||||
* responses:
|
||||
* 200:
|
||||
* description: 获取成功
|
||||
* content:
|
||||
* application/json:
|
||||
* schema:
|
||||
* type: object
|
||||
* properties:
|
||||
* success:
|
||||
* type: boolean
|
||||
* message:
|
||||
* type: string
|
||||
* data:
|
||||
* type: object
|
||||
* properties:
|
||||
* overview:
|
||||
* type: object
|
||||
* properties:
|
||||
* totalUsers:
|
||||
* type: integer
|
||||
* totalAccounts:
|
||||
* type: integer
|
||||
* totalTransactions:
|
||||
* type: integer
|
||||
* totalBalance:
|
||||
* type: integer
|
||||
* activeUsers:
|
||||
* type: integer
|
||||
* activeAccounts:
|
||||
* type: integer
|
||||
* today:
|
||||
* type: object
|
||||
* properties:
|
||||
* transactionCount:
|
||||
* type: integer
|
||||
* transactionAmount:
|
||||
* type: integer
|
||||
* accountTypes:
|
||||
* type: array
|
||||
* items:
|
||||
* type: object
|
||||
* properties:
|
||||
* type:
|
||||
* type: string
|
||||
* count:
|
||||
* type: integer
|
||||
* totalBalance:
|
||||
* type: integer
|
||||
* trends:
|
||||
* type: array
|
||||
* items:
|
||||
* type: object
|
||||
* properties:
|
||||
* date:
|
||||
* type: string
|
||||
* count:
|
||||
* type: integer
|
||||
* totalAmount:
|
||||
* type: integer
|
||||
* 401:
|
||||
* description: 未授权
|
||||
* 500:
|
||||
* description: 服务器内部错误
|
||||
*/
|
||||
router.get('/', tellerMiddleware, dashboardController.getDashboardStats);
|
||||
|
||||
/**
|
||||
* @swagger
|
||||
* /api/dashboard/charts:
|
||||
* get:
|
||||
* summary: 获取图表数据
|
||||
* tags: [仪表盘]
|
||||
* security:
|
||||
* - bearerAuth: []
|
||||
* parameters:
|
||||
* - in: query
|
||||
* name: type
|
||||
* schema:
|
||||
* type: string
|
||||
* enum: [transaction_trend, account_distribution, user_growth, balance_trend]
|
||||
* description: 图表类型
|
||||
* - in: query
|
||||
* name: period
|
||||
* schema:
|
||||
* type: string
|
||||
* enum: [1d, 7d, 30d, 90d]
|
||||
* default: 7d
|
||||
* description: 时间周期
|
||||
* responses:
|
||||
* 200:
|
||||
* description: 获取成功
|
||||
* content:
|
||||
* application/json:
|
||||
* schema:
|
||||
* type: object
|
||||
* properties:
|
||||
* success:
|
||||
* type: boolean
|
||||
* message:
|
||||
* type: string
|
||||
* data:
|
||||
* type: object
|
||||
* properties:
|
||||
* type:
|
||||
* type: string
|
||||
* data:
|
||||
* type: array
|
||||
* 400:
|
||||
* description: 请求参数错误
|
||||
* 401:
|
||||
* description: 未授权
|
||||
* 500:
|
||||
* description: 服务器内部错误
|
||||
*/
|
||||
router.get('/charts', tellerMiddleware, dashboardController.getChartData);
|
||||
|
||||
/**
|
||||
* @swagger
|
||||
* /api/dashboard/recent-transactions:
|
||||
* get:
|
||||
* summary: 获取最近交易记录
|
||||
* tags: [仪表盘]
|
||||
* security:
|
||||
* - bearerAuth: []
|
||||
* parameters:
|
||||
* - in: query
|
||||
* name: limit
|
||||
* schema:
|
||||
* type: integer
|
||||
* default: 10
|
||||
* description: 返回记录数量
|
||||
* responses:
|
||||
* 200:
|
||||
* description: 获取成功
|
||||
* content:
|
||||
* application/json:
|
||||
* schema:
|
||||
* type: object
|
||||
* properties:
|
||||
* success:
|
||||
* type: boolean
|
||||
* message:
|
||||
* type: string
|
||||
* data:
|
||||
* type: array
|
||||
* items:
|
||||
* type: object
|
||||
* 401:
|
||||
* description: 未授权
|
||||
* 500:
|
||||
* description: 服务器内部错误
|
||||
*/
|
||||
router.get('/recent-transactions', tellerMiddleware, dashboardController.getRecentTransactions);
|
||||
|
||||
module.exports = router;
|
||||
Reference in New Issue
Block a user