router.js 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. const { LISTEN_PORT, PATH_ROOT, DOMAIN } = 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(logger.loggerMiddleware())
  13. app.use(miSend())
  14. app.use(errorHandle())
  15. const router = new Router({
  16. prefix: '/api'
  17. })
  18. router.get('/to-html/:name', async ctx => {
  19. const { name } = ctx.params
  20. const query = ctx.query
  21. const url = ctx.originalUrl.match(/url=(.*?)$/)[1]
  22. // 获取对应PDF
  23. logger.log.debug(url)
  24. logger.log.debug(query)
  25. const result = await createHTMLOfURL(url, Object.assign({ filename : name }, query))
  26. // 成功通知
  27. ctx.send({
  28. status: true,
  29. data: {
  30. path: result.replace(PATH_ROOT, `${DOMAIN}`)
  31. }
  32. })
  33. })
  34. router.get('/to-pdf/:name', async ctx => {
  35. const { name } = ctx.params
  36. const query = ctx.query
  37. const url = ctx.originalUrl.match(/url=(.*?)$/)[1]
  38. // 获取对应PDF
  39. logger.log.debug(url)
  40. logger.log.debug(query)
  41. const result = await createPDFOfURL(url, Object.assign({ filename : name }, query))
  42. // 成功通知
  43. ctx.send({
  44. status: true,
  45. data: {
  46. path: result.replace(PATH_ROOT, `${DOMAIN}`)
  47. }
  48. })
  49. })
  50. app.use(router.routes())
  51. app.listen(LISTEN_PORT);
  52. logger.log.info('app start run port ' + LISTEN_PORT)