代码拉取完成,页面将自动刷新
/*
* @Descripttion: 入口
* @Author: TaoWang
* @Date: 2022-07-09 13:48:04
*/
const Koa = require("koa")
const app = new Koa()
const views = require("koa-views")
// 把参数转成json
const json = require("koa-json")
// 错误提示
const onerror = require("koa-onerror")
// 用于请求数据的转换,无需序列化
const bodyparser = require("koa-bodyparser")
// 日志
// const logger = require("koa-logger")
const log4js = require("./utils/log4j")
// 登录
const users = require("./routes/users")
const menus = require("./routes/menus")
const roles = require("./routes/roles")
const depts = require("./routes/depts")
const leave = require("./routes/leave")
const router = require("koa-router")()
const jwt = require("jsonwebtoken")
const koajwt = require("koa-jwt")
const utils = require("./utils/utils")
// error handler
onerror(app)
require("./config/db")
// middlewares
app.use(
bodyparser({
enableTypes: ["json", "form", "text"],
})
)
app.use(json())
// app.use(logger())
app.use(require("koa-static")(__dirname + "/public"))
app.use(
views(__dirname + "/views", {
extension: "ejs",
})
)
// logger
app.use(async (ctx, next) => {
// const start = new Date()
await next().catch(err => {
if (err.status == "401") {
ctx.status == 200
ctx.body = utils.fail("TOKEN认证失败", utils.CODE.AUTH_ERROR)
} else {
throw err
}
})
log4js.info("log output")
// const ms = new Date() - start
// console.log(`${ctx.method} ${ctx.url} - ${ms}ms`)
})
// 挂载token
app.use(koajwt({ secret: "imooc" }).unless({ path: [/^\/api\/users\/login/] }))
router.prefix("/api")
router.get("/leave/count", ctx => {
// const token = ctx.request.headers.authorization.split(" ")[1]
// // 获取解析token字段
// const payLoad = jwt.verify(token, "imooc")
ctx.body = "body"
})
// 挂载user路由
router.use(users.routes(), users.allowedMethods())
// 挂载menu路由
// 加载routes
router.use(menus.routes(), menus.allowedMethods())
router.use(roles.routes(), roles.allowedMethods())
router.use(depts.routes(), depts.allowedMethods())
router.use(leave.routes(), leave.allowedMethods())
app.use(router.routes(), router.allowedMethods())
// error-handling
app.on("error", (err, ctx) => {
console.error("server error", err, ctx)
log4js.error(`${err.stack}`)
})
module.exports = app
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。