archieve-projects/后事管理系统/api/index.js

44 lines
1.2 KiB
JavaScript

const express = require('express');
const cors = require('cors');
const app = express();
var { expressjwt } = require("express-jwt");
//配置跨域
app.use(cors());
//配置解析token的中间件
app.use(expressjwt({ secret: 'moyc^_^', algorithms: ['HS256'] }).unless({ path: [/\/api\//, /\/public\//] }));
//挂载静态资源
app.use('/public', express.static('public'));
//解析请求体
app.use(express.json());
app.use(express.urlencoded({ extended: true }));
// 引入并且挂载路由
app.use(require('./router.js'))
//全局错误处理中间件
app.use((err, req, res, next) => {
//token验证为通过
if (err.name === 'UnauthorizedError') {
res.send({ code: 403, msg: '非法请求' })
//数据库错误
} else if (err.name == 'DatabaseError') {
res.send({ code: err.status, msg: err.message })
} else if (err.name == 'ECONNREFUSED') {
res.send({ code: 504, msg: '数据库链接失败' })
//其他错误
} else {
console.log('----ERROR: ' + err.message);
res.send({ code: 500, msg: '服务器错误' })
}
})
//启动服务器
app.listen(3000, () => {
console.log('Service started successfully, running on http://localhost:3000');
})