1 Star 0 Fork 3

taoran / 网蛙云打印

forked from 卧龙之家 / 网蛙云打印 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
app.js 3.42 KB
一键复制 编辑 原始数据 按行查看 历史
cailiquan 提交于 2021-03-19 12:33 . 提交最新版本
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)
})
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/taomail/cloud_print.git
git@gitee.com:taomail/cloud_print.git
taomail
cloud_print
网蛙云打印
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891