44 lines
1.2 KiB
JavaScript
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');
|
|
}) |