search.controller.js 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  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 search_service_1 = require("./search.service");
  8. const router = new router_1.default();
  9. /**
  10. * 搜索音频
  11. * GET /api/search?q=关键词
  12. */
  13. router.get('/', async (ctx) => {
  14. try {
  15. const { q, limit } = ctx.query;
  16. if (!q || q.trim() === '') {
  17. ctx.body = {
  18. code: 0,
  19. message: 'success',
  20. data: [],
  21. };
  22. return;
  23. }
  24. const results = await search_service_1.searchService.searchAudio(q, parseInt(limit || '20'));
  25. ctx.body = {
  26. code: 0,
  27. message: 'success',
  28. data: results,
  29. };
  30. }
  31. catch (error) {
  32. ctx.body = {
  33. code: 400,
  34. message: error.message || '搜索失败',
  35. };
  36. }
  37. });
  38. exports.default = router;