| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- var express = require('express');
- var path = require('path');
- var cookieParser = require('cookie-parser');
- var logger = require('morgan');
- const cors = require("cors");
- const Joic = require("joi");
- // const bodyParser = require('body-parser');
- var app = express();
- //解决跨域问题
- app.use(cors());
- app.use(logger('dev'));
- app.use(express.json());
- // app.use(bodyParser.json());// 用于解析 application/json 类型的请求体÷
- //配置解析表单数据的中间件,只能解析application/x-www-form-urlencoded格式的表单数据
- app.use(express.urlencoded({ extended: true }));
- app.use(cookieParser());
- app.use(express.static(path.join(__dirname, 'public')));
- //在路由之前封装返回报错函数
- app.use((req, res, next) => {
- res.rescc = function (message, status = 500, data) {
- res.send({
- status,
- message: message instanceof Error ? message.message : message,
- data
- })
- }
- next();
- })
- //在路由之前解析token中间件
- // const expressJWT = require("express-jwt");
- // const config = require('./config.js');
- // app.use(expressJWT({
- // secret: config.jwtSecretKey
- // }).unless({
- // path: [/^\/api/]
- // }))
- //导入使用router模块
- //用户注册登录
- // const userRounter = require('./routes/user/user.js');
- // app.use('/api/user', userRounter);
- //用户信息
- // const userinfoRounter = require('./routes/user/userInfo.js');
- // app.use('/my', userinfoRounter);
- //天气
- const weatherInchinaRounter = require('./routes/weather/inchina.js');
- app.use('/weather/inchina', weatherInchinaRounter);
- const tempapiRounter = require('./routes/weather/temperature.js');
- app.use('/weather/tempapi', tempapiRounter);
- //疫苗接种
- // const vaccinesRounter = require('./routes/vaccines/vaccine.js');
- // app.use('/my/vaccines', vaccinesRounter);
- //接入deepseek
- // const openaiRounter = require('./routes/openai/openai.js');
- // app.use('/api/deepseek', openaiRounter);
- // const openaiListRounter = require('./routes/openai/openaiList.js');
- // app.use('/my/aitalk', openaiListRounter);
- //定义错误级别的中间件
- app.use((err, req, res, next) => {
- //验证失败导致的错误
- if (err instanceof Joic.ValidationError) return res.rescc(err);
- //token验证失败的错误
- if (err.name === 'UnauthorizedError') return res.rescc("身份验证失败!");
- res.rescc(err);
- })
- module.exports = app;
|