const { LISTEN_PORT, PATH_ROOT, DOMAIN } = require('../config') const Koa = require('koa') const StaticServer = require('koa-static') const Router = require('koa-router') const createPDFOfURL = require('../create-pdf/pdf') const createHTMLOfURL = require('../create-pdf/generateHTML') const logger = require('../log/index') const miSend = require('./middleware') const errorHandle = require('./errorHandle') const app = new Koa() app.use(StaticServer(PATH_ROOT)) app.use(logger.loggerMiddleware()) app.use(miSend()) app.use(errorHandle()) const router = new Router({ prefix: '/api' }) router.get('/to-html/:name', async ctx => { const { name } = ctx.params const query = ctx.query const url = ctx.originalUrl.match(/url=(.*?)$/)[1] // 获取对应PDF logger.log.debug(url) logger.log.debug(query) const result = await createHTMLOfURL(url, Object.assign({ filename : name }, query)) // 成功通知 ctx.send({ status: true, data: { path: result.replace(PATH_ROOT, `${DOMAIN}`) } }) }) router.get('/to-pdf/:name', async ctx => { const { name } = ctx.params const query = ctx.query const url = ctx.originalUrl.match(/url=(.*?)$/)[1] // 获取对应PDF logger.log.debug(url) logger.log.debug(query) const result = await createPDFOfURL(url, Object.assign({ filename : name }, query)) // 成功通知 ctx.send({ status: true, data: { path: result.replace(PATH_ROOT, `${DOMAIN}`) } }) }) app.use(router.routes()) app.listen(LISTEN_PORT); logger.log.info('app start run port ' + LISTEN_PORT)