代码拉取完成,页面将自动刷新
const express = require('express')
const path = require('path')
const cors = require('cors')
const cookieParase = require('cookie-parser')
const session = require('express-session')
// 引入路由
const authRouter = require('./routes/auth')
const userRouter = require('./routes/user')
const searchRouter = require('./routes/search')
const websiteRouter = require('./routes/website')
const musicRouter = require('./routes/music')
const taskRouter = require('./routes/task')
const dictRouter = require('./routes/dict')
const testRouter = require(path.join(__dirname, './routes/test'))
// 引入token验证中间件
const { token } = require(path.join(__dirname, '/model/token.js'))
const { NonExistent } = require(path.join(__dirname, '/model/resModel'))
// 创建服务端实例对象
const app = express()
// 开启静态资源服务(public目录中的所有资源都可以通过url访问)
app.use('/affectation-api/public', express.static(path.join(__dirname, 'public')))
// 使用cookie
app.use(cookieParase())
app.use(session({
// 用来对session数据进行加密的字符串,必填属性
secret: 'affection',
name: 'captcha',
// 设置返回到前端 key 的属性,maxAge 有效期
cookie: { maxAge: 30000 },
// 强制保存session,及时session没有变化
resave: false,
// 强制将未初始化的 session 存储。当新建了一个 session 且未设定属性或值时,它就处于未初始化状态。在设定一个 cookie 前,这对于登陆验证,减轻服务端存储压力,权限控制是有帮助的
saveUninitialized: true,
// 在每次请求时强行设置cookie,这将重置 cookie 过期时间
rolling: true
}))
// cors解决跨域问题
app.use(cors())
// app.all表示监听所有请求方式,*表示所有路径都匹配
app.all('*', function (req, res, next) {
// 设置响应头
// 设置运行访问的域名
res.header('Access-Control-Allow-Origin', 'http://192.31.112.3333')
// 设置运行访问的请求头
res.header('Access-Control-Allow-Headers', 'Content-Type')
// 设置运行的请求方式
res.header('Access-Control-Allow-Methods', '*')
res.header('Access-Control-Allow-Credentials', 'true')//允许携带cookie
next()
})
// 处理请求参数,json格式与www都需要单独处理,不然接收不到参数
app.use(express.urlencoded({ extended: true }))
app.use(express.json())
app.use('/affectation-api', authRouter)
app.use('/test', testRouter)
app.use(token)
app.use('/affectation-api/user', userRouter)
app.use('/affectation-api/search', searchRouter)
app.use('/affectation-api/website', websiteRouter)
app.use('/affectation-api/music', musicRouter)
app.use('/affectation-api/task', taskRouter)
app.use('/affectation-api/dict', dictRouter)
app.use(function (req, res, next) {
res.json(new NonExistent())
})
// 监听服务器端口
app.listen(3000, '0.0.0.0', () => {
console.log('running...')
})
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。