1-routes文件下的index文件
const express = require('express');
const userRouter = require('./users');
const taskRouter = require('./tasks');
const { jwtAuth, decode } = require('../utils/user-jwt');
const router = express.Router();
router.use(jwtAuth);
router.use('/api', userRouter);
router.use('/api', taskRouter);
router.use('/api', manageRouter);
router.use((err, req, res, next) => {
console.log('err===', err);
const { output } = err || {};
const errCode = (output && output.statusCode) || 500;
const errMsg = (output && output.payload && output.payload.error) || err.message;
res.status(errCode).json({
code: errCode,
msg: errMsg
})
})
module.exports = router;
其中包含jwt认证模块,异常处理,注册路由
2-user.js用户登录模块
/**
* 描述: 用户路由模块
*/
const express = require('express')
const router = express.Router()
const { body } = require('express-validator')
const service = require('../services/userService')
// 登录/注册校验
const vaildator = [
body('username').isString().withMessage('用户名类型错误'),
body('password').isString().withMessage('密码类型错误')
]
// 用户登录路由
router.post('/login', vaildator, service.login)
module.exports = router
3-任务处理模块
/**
* 描述: 任务路由模块
*/
const express = require('express');
const router = express.Router();
const service = require('../services/taskService');
/**,
* @swagger
* /api/queryTaskList:
* get:
* tags:
* - 查询填报统计
* summary: 查询填报统计列表接口
* produces:
* - application/json
* parameters:
* - name: department
* in: query
* description: 部门
* required: false
* type: string
* maximum:
* minimum: 1
* format:
* - name: year
* in: query
* description: 填报年份
* required: false
* type: integer
* maximum:
* minimum: 1
* format:
* - name: month
* in: query
* description: 填报月份
* required: false
* type: integer
* maximum:
* minimum: 1
* format:
* - name: status
* in: query
* description: 填报状态
* required: false
* type: integer
* maximum:
* minimum: 1
* format:
* responses:
* 200:
* description: successful operation
* schema:
* ref:
* 400:
* description: Invalid ID supplied
* 404:
* description: Order not found
* */
/**,
* @swagger
* /api/queryHistoryList:
* get:
* tags:
* - 查询历史填报列表
* summary: 查询历史填报列表
* produces:
* - application/json
* parameters:
* - name: username
* in: query
* description: 姓名
* required: false
* type: string
* maximum:
* minimum: 1
* format:
* responses:
* 200:
* description: successful operation
* schema:
* ref:
* 400:
* description: Invalid ID supplied
* 404:
* description: Order not found
* */
/**,
* @swagger
* /api/queryTaskProject:
* get:
* tags:
* - 查询个人填报
* summary: 查询某人某月份所填报项目列表
* produces:
* - application/json
* parameters:
* - name: username
* in: query
* description: 姓名
* required: false
* type: string
* maximum:
* minimum: 1
* format:
* - name: year
* in: query
* description: 填报年份
* required: false
* type: integer
* maximum:
* minimum: 1
* format:
* - name: month
* in: query
* description: 填报月份
* required: false
* type: integer
* maximum:
* minimum: 1
* format:
* responses:
* 200:
* description: successful operation
* schema:
* ref:
* 400:
* description: Invalid ID supplied
* 404:
* description: Order not found
* */
/**,
* @swagger
* /api/addTaskProject:
* post:
* tags:
* - 添加某月项目列表
* summary: 添加某月项目列表
* produces:
* - application/json
* parameters:
* - name: username
* in: query
* description: 姓名
* required: false
* type: string
* maximum:
* minimum: 1
* format:
* - name: year
* in: query
* description: 填报年份
* required: false
* type: integer
* maximum:
* minimum: 1
* format:
* - name: month
* in: query
* description: 填报月份
* required: false
* type: integer
* maximum:
* minimum: 1
* format:
* - name: data
* in: query
* description: 填报项目列表
* required: false
* type: list
* maximum:
* minimum: 1
* format:
* responses:
* 200:
* description: successful operation
* schema:
* ref:
* 400:
* description: Invalid ID supplied
* 404:
* description: Order not found
* */
/**,
* @swagger
* /api/editTaskProject:
* post:
* tags:
* - 编辑某月项目列表
* summary: 编辑某月项目列表
* produces:
* - application/json
* parameters:
* - name: username
* in: query
* description: 姓名
* required: false
* type: string
* maximum:
* minimum: 1
* format:
* - name: year
* in: query
* description: 填报年份
* required: false
* type: integer
* maximum:
* minimum: 1
* format:
* - name: month
* in: query
* description: 填报月份
* required: false
* type: integer
* maximum:
* minimum: 1
* format:
* - name: data
* in: query
* description: 填报项目列表
* required: false
* type: list
* maximum:
* minimum: 1
* format:
* responses:
* 200:
* description: successful operation
* schema:
* ref:
* 400:
* description: Invalid ID supplied
* 404:
* description: Order not found
* */
/**,
* @swagger
* /api/exportTotalExcel:
* get:
* tags:
* - 导出填报统计接口
* summary: 导出填报统计接口
* produces:
* - application/json
* parameters:
* - name: department
* in: query
* description: 部门
* required: false
* type: string
* maximum:
* minimum: 1
* format:
* - name: year
* in: query
* description: 填报年份
* required: false
* type: integer
* maximum:
* minimum: 1
* format:
* - name: month
* in: query
* description: 填报月份
* required: false
* type: integer
* maximum:
* minimum: 1
* format:
* responses:
* 200:
* description: successful operation
* schema:
* ref:
* 400:
* description: Invalid ID supplied
* 404:
* description: Order not found
* */
// 查询填报统计列表接口
router.get('/queryTaskList', service.queryTaskList);
// 查询历史填报列表接口
router.get('/queryHistoryList', service.queryHistoryList);
//查询某人某月份所填报项目列表接口
router.get('/queryTaskProject', service.queryTaskProject);
//添加某月项目列表
router.post('/addTaskProject', service.addTaskProject);
//编辑某月项目列表
router.post('/editTaskProject', service.editTaskProject);
// 导出填报统计接口
router.get('/exportTotalExcel', service.exportTotalExcel);
module.exports = router;
这里包含了大量的swagger标识,在公共函数中配置了routes文件夹下,会自动识别渲染到页面。注意格式不能乱,主要修改访问方式,访问路径,访问需要携带的参数。