1 Star 3 Fork 0

余悸 / vue3-serve

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
app.js 2.35 KB
一键复制 编辑 原始数据 按行查看 历史
余悸 提交于 2022-03-25 15:16 . init
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
1
https://gitee.com/qi-jia/vue3-serve.git
git@gitee.com:qi-jia/vue3-serve.git
qi-jia
vue3-serve
vue3-serve
master

搜索帮助