All files / modules/categories categories.controller.ts

0% Statements 0/40
0% Branches 0/1
0% Functions 0/1
0% Lines 0/40

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55                                                                                                             
import Router from '@koa/router';
import { categoriesService } from './categories.service';
 
const router = new Router();
 
/**
 * 获取分类列表
 * GET /api/categories
 */
router.get('/', async (ctx) => {
  try {
    const categories = await categoriesService.getCategories();
    ctx.body = {
      code: 0,
      message: 'success',
      data: categories,
    };
  } catch (error: any) {
    ctx.body = {
      code: 400,
      message: error.message || '获取分类失败',
    };
  }
});
 
/**
 * 按分类获取音频
 * GET /api/categories/:id
 */
router.get('/:id', async (ctx) => {
  try {
    const { id } = ctx.params;
    const { page, pageSize } = ctx.query as { page?: string; pageSize?: string };
 
    const result = await categoriesService.getAudiosByCategory(
      parseInt(id),
      parseInt(page || '1'),
      parseInt(pageSize || '20')
    );
 
    ctx.body = {
      code: 0,
      message: 'success',
      data: result,
    };
  } catch (error: any) {
    ctx.body = {
      code: 400,
      message: error.message || '获取分类音频失败',
    };
  }
});
 
export default router;