router.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. const { LISTEN_PORT, PATH_ROOT, DOMAIN, APP_ROOT } = require('../config')
  2. const Koa = require('koa')
  3. const StaticServer = require('koa-static')
  4. const Router = require('koa-router')
  5. const createPDFOfURL = require('../create-pdf/pdf')
  6. const createHTMLOfURL = require('../create-pdf/generateHTML')
  7. const logger = require('../log/index')
  8. const miSend = require('./middleware')
  9. const errorHandle = require('./errorHandle')
  10. const app = new Koa()
  11. app.use(StaticServer(PATH_ROOT))
  12. app.use(StaticServer(APP_ROOT))
  13. app.use(logger.loggerMiddleware())
  14. app.use(miSend())
  15. app.use(errorHandle())
  16. const router = new Router({
  17. prefix: '/api'
  18. })
  19. router.get('/to-html/:name', async ctx => {
  20. const { name } = ctx.params
  21. const query = ctx.query
  22. const url = ctx.query.url
  23. // 获取对应HTML
  24. logger.log.debug(url)
  25. logger.log.debug(query)
  26. const result = await createHTMLOfURL(url, Object.assign({ filename : name }, query))
  27. // 成功通知
  28. ctx.send({
  29. status: true,
  30. data: {
  31. path: result.replace(PATH_ROOT, `${DOMAIN}`)
  32. }
  33. })
  34. })
  35. router.get('/to-pdf/:name', async ctx => {
  36. const { name } = ctx.params
  37. const query = ctx.query
  38. const url = ctx.query.url
  39. // 获取对应PDF
  40. logger.log.debug(url)
  41. logger.log.debug(query)
  42. const result = await createPDFOfURL(url, Object.assign({ filename : name }, query))
  43. // 成功通知
  44. ctx.send({
  45. status: true,
  46. data: {
  47. path: result.replace(PATH_ROOT, `${DOMAIN}`)
  48. }
  49. })
  50. })
  51. app.use(router.routes())
  52. app.listen(LISTEN_PORT);
  53. logger.log.info('app start run port ' + LISTEN_PORT)