All files / modules/categories categories.service.ts

0% Statements 0/41
100% Branches 1/1
100% Functions 1/1
0% Lines 0/41

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 56 57 58 59 60 61 62 63 64 65                                                                                                                                 
import { prisma } from '../../models';
 
/**
 * 分类服务(已简化,音频分类功能暂不可用)
 */
export class CategoriesService {
  /**
   * 获取所有分类
   */
  async getCategories() {
    // 返回默认分类(对应书籍分类)
    return [
      { id: 1, name: '全部', icon: '🎵' },
      { id: 2, name: '故事', icon: '📖' },
      { id: 3, name: '小说', icon: '📚' },
      { id: 4, name: '儿童', icon: '👶' },
      { id: 5, name: '知识', icon: '💡' },
      { id: 6, name: '娱乐', icon: '🎮' },
    ];
  }
 
  /**
   * 按分类获取音频(暂不可用,Audio 表已删除)
   */
  async getAudiosByCategory(categoryId: number, page = 1, pageSize = 20) {
    // TODO: 未来可以从 BookChapter 统计各分类的音频数量
    return {
      list: [],
      total: 0,
      page,
      pageSize,
      totalPages: 0,
    };
  }
 
  /**
   * 获取全部音频(暂不可用)
   */
  private async getAllAudios(page: number, pageSize: number) {
    return {
      list: [],
      total: 0,
      page,
      pageSize,
      totalPages: 0,
    };
  }
 
  /**
   * 获取分类对应的标签
   */
  private getCategoryTag(categoryId: number): string {
    const tags: Record<number, string> = {
      2: '故事',
      3: '小说',
      4: '儿童',
      5: '知识',
      6: '娱乐',
    };
    return tags[categoryId] || '';
  }
}
 
export const categoriesService = new CategoriesService();