publish.controller.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. const pagesService = require('../service/pages.service');
  2. const publishService = require('../service/publish.service');
  3. const util = require('../utils/util');
  4. module.exports = {
  5. async list(ctx) {
  6. const { env, userName, start, end, pageNum, pageSize, pageId } = ctx.request.body;
  7. const list = await publishService.list(ctx.request.body);
  8. const total = await publishService.listCount(env, userName, start, end, pageId);
  9. util.success(ctx, {
  10. list,
  11. total,
  12. pageSize: +pageSize,
  13. pageNum: +pageNum,
  14. });
  15. },
  16. async create(ctx) {
  17. const { id, env, previewImg } = ctx.request.body;
  18. if (!util.isNotEmpty(id)) {
  19. return ctx.throw(400, '页面ID不能为空');
  20. }
  21. if (!util.isNumber(id)) {
  22. return ctx.throw(400, '页面ID参数错误');
  23. }
  24. if (!util.checkEnv(env)) {
  25. return ctx.throw(400, '发布环境参数错误');
  26. }
  27. const { userId, userName } = util.decodeToken(ctx);
  28. const [pageInfo] = await pagesService.getPageInfoById(+id);
  29. if (!pageInfo || !pageInfo.pageData) {
  30. return ctx.throw(400, '页面不存在或页面数据为空');
  31. }
  32. const result = await publishService.createPublish(id, pageInfo.name, pageInfo.pageData, userName, userId, env);
  33. await pagesService.updatePageState(result.insertId, id, env, previewImg);
  34. util.success(ctx);
  35. },
  36. async getDetail(ctx) {
  37. const { id } = ctx.request.params;
  38. const { userId } = util.decodeToken(ctx);
  39. const result = await publishService.getDetail(id, userId);
  40. util.success(ctx, result);
  41. },
  42. };