comments.controller.js 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. "use strict";
  2. var __importDefault = (this && this.__importDefault) || function (mod) {
  3. return (mod && mod.__esModule) ? mod : { "default": mod };
  4. };
  5. Object.defineProperty(exports, "__esModule", { value: true });
  6. const router_1 = __importDefault(require("@koa/router"));
  7. const comments_service_1 = require("./comments.service");
  8. const router = new router_1.default({ prefix: '/api/comments' });
  9. // 测试用户ID
  10. const TEST_USER_ID = 1;
  11. /**
  12. * 获取章节评论
  13. * GET /api/comments/:chapterId
  14. */
  15. router.get('/:chapterId', async (ctx) => {
  16. try {
  17. const chapterId = parseInt(ctx.params.chapterId);
  18. const comments = await comments_service_1.commentsService.getCommentsByChapterId(chapterId);
  19. ctx.body = {
  20. code: 0,
  21. message: 'success',
  22. data: comments,
  23. };
  24. }
  25. catch (error) {
  26. ctx.body = {
  27. code: 400,
  28. message: error.message || '获取评论失败',
  29. };
  30. }
  31. });
  32. /**
  33. * 添加评论
  34. * POST /api/comments
  35. */
  36. router.post('/', async (ctx) => {
  37. try {
  38. const { chapterId, content, rating } = ctx.request.body;
  39. const comment = await comments_service_1.commentsService.addComment(TEST_USER_ID, chapterId, content, rating);
  40. ctx.body = {
  41. code: 0,
  42. message: '评论成功',
  43. data: comment,
  44. };
  45. }
  46. catch (error) {
  47. ctx.body = {
  48. code: 400,
  49. message: error.message || '评论失败',
  50. };
  51. }
  52. });
  53. exports.default = router;