代码拉取完成,页面将自动刷新
const Koa = require("koa")
const app = new Koa()
const views = require("koa-views")
const json = require("koa-json")
const onerror = require("koa-onerror")
const bodyparser = require("koa-bodyparser")
const log4js = require("./utils/log4j")
const router = require("koa-router")()
const jwt = require("jsonwebtoken")
const koajwt = require("koa-jwt")
const util = require("./utils/util")
const logger = require("koa-logger")
const users = require("./routes/users")
const menus = require("./routes/menus")
const roles = require("./routes/roles")
const depts = require("./routes/depts")
const leaves = require("./routes/leaves")
const cors = require("koa2-cors")
// error handler
onerror(app)
require("./config/db")
// middlewares
app.use(
bodyparser({
enableTypes: ["json", "form", "text"]
})
)
app.use(
cors({
origin: function (ctx) {
console.log(ctx.request.header.origin)
return ctx.request.header.origin
},
maxAge: 6, //指定本次预检请求的有效期,单位为秒。
credentials: true, //是否允许发送Cookie
allowMethods: ["GET", "POST", "PUT", "DELETE", "OPTIONS"], //设置所允许的HTTP请求方法'
allowHeaders: ["Content-Type", "Authorization", "Accept"] //设置服务器支持的所有头信息字段
})
)
app.use(json())
app.use(logger())
app.use(require("koa-static")(__dirname + "/public"))
app.use(
views(__dirname + "/views", {
extension: "pug"
})
)
// logger
app.use(async (ctx, next) => {
log4js.info(`get params:${JSON.stringify(ctx.request.query)}`)
log4js.info(`post params:${JSON.stringify(ctx.request.body)}`)
await next().catch((err) => {
console.log("err", err)
if (err.status == "401") {
ctx.status = 200
ctx.body = util.fail("Token认证失败", util.CODE.AUTH_ERROR)
} else {
throw err
}
})
})
app.use(
koajwt({ secret: "clot" }).unless({
path: [/^\/api\/users\/login/]
})
) //token预校验
router.prefix("/api")
// 各模块路由
router.use(users.routes(), users.allowedMethods())
router.use(menus.routes(), menus.allowedMethods())
router.use(roles.routes(), roles.allowedMethods())
router.use(depts.routes(), depts.allowedMethods())
router.use(leaves.routes(), leaves.allowedMethods())
app.use(router.routes(), router.allowedMethods())
// error-handling
app.on("error", (err, ctx) => {
log4js.error(`"=====>"${err.stack}`)
})
module.exports = app
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。