代码拉取完成,页面将自动刷新
同步操作将从 卧龙之家/网蛙云打印 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
const Koa = require('koa')
const Router = require('koa-router')
const mongoose = require('mongoose')
const passport = require('koa-passport')
const koaBody = require('koa-body')
const serve = require('koa-static')
const path = require('path')
const { accessLogger, logger } = require('./lib/logger')
const render = require('koa-art-template')
const session = require('koa-session')
const cors = require('koa2-cors')
// 实例化
const app = new Koa()
const router = new Router()
// 引入配置文件
const ConfigManager = require('./lib/config.js')
// 引入user.js
const user = require('./routes/api/user.js')
// 引入file.js
const file = require('./routes/api/file.js')
// 引入admin.js
const admins = require('./routes/admin.js')
// print.js
const print = require('./routes/api/print.js')
// // 连接数据库
// mongoose.connect(
// 'mongodb://cailiquan:cai5360523@cluster0-shard-00-00.xpfnv.mongodb.net:27017,cluster0-shard-00-01.xpfnv.mongodb.net:27017,cluster0-shard-00-02.xpfnv.mongodb.net:27017/test?ssl=true&replicaSet=atlas-rpfrnn-shard-0&authSource=admin&retryWrites=true&w=majority', {
// useUnifiedTopology: true,
// useNewUrlParser: true
// }
// )
// .then(() => {
// console.log('数据库连接')
// })
// .catch((err) => {
// console.log(err)
// })
// 访问级别日志
app.use(accessLogger())
// 应用级别系统日志--记录系统状态error
app.on('error', (err) => {
logger.error(err)
})
app.use(cors())
// 处理跨域
app.use(async (ctx, next) => {
ctx.set('Access-Control-Allow-Origin', '*')
ctx.set('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, DELETE')
ctx.set('Access-Control-Allow-Headers', 'Content-Type, Content-Length, Authorization, token')
await next()
})
// 引入passport验证token
app.use(passport.initialize())
app.use(passport.session())
// 回调到servse/passport
require('./servse/passport')(passport)
// 配置routers目录下的路由地址 localhost:3000/api/user/
router.use('/api/user', user)
// 配置routers目录下的路由地址 localhost:3000/api/fileuploads/
router.use('/api/file', file)
// 配置routers目录下的路由地址 localhost:3000/api/print/
router.use('/api/print', print)
// 配置routers目录下的路由地址 localhost:3000/admin/admin/
router.use('/admin', admins)
// 配置视图模板
render(app, {
root: path.join(__dirname, 'view'),
extname: '.html',
debug: process.env.NODE_ENV !== 'production'
})
// 配置后台管理系统的session
const CONFIG = {
key: 'koa.sess',
maxAge: 86400000,
autoCommit: true,
overwrite: true,
httpOnly: true,
signed: true,
rolling: true, // 每次访问都重新设置session有效时间
renew: false,
secure: false,
sameSite: null
}
// 使用session
app.keys = ['some secret hurr']
app.use(session(CONFIG, app))
// 挂载静态资源
app.use(serve('./static'))
app.use(koaBody({
multipart: true, // 是否支持 multipart-formdate 的表单
formidable: {
// uploadsDir: path.join(__dirname, 'public/uploads/'),
maxFileSize: 2000 * 1024 * 1024, // 设置上传文件大小最大限制,默认2M
keepExtensions: true // 保留文件拓展名
}
}))
// 生成静态服务,使得public下的文件都可用http访问
app.use(serve(path.join(__dirname, 'public')))
// 启动路由
app.use(router.routes()).use(router.allowedMethods())
// 配置端口号
const port = ConfigManager.getPort()
// 监听端口
app.listen(port, () => {
console.log('server start on ', port)
})
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。