refactor: 完成项目整体目录重构与路径别名配置

1.  重构项目文件结构,统一文件存放位置与命名规则
2.  配置tsconfig路径别名,替换原有相对路径导入
3.  迁移drama-status枚举到dramas.types统一管理
4.  新增全局配置文件与工具类,补充完整注释与文档
5.  修复所有导入路径与依赖引用问题
This commit is contained in:
2026-07-02 19:17:56 +08:00
parent e84351e8ed
commit 4eff4d877e
71 changed files with 1216 additions and 764 deletions

View File

@@ -1,8 +1,8 @@
import { Body, Controller, Get, Post, Query, UseGuards } from '@nestjs/common';
import { ApiBearerAuth, ApiTags } from '@nestjs/swagger';
import { RequirePermissions } from '../admin/decorators/require-permissions.decorator';
import { AdminJwtAuthGuard } from '../admin/guards/admin-jwt-auth.guard';
import { PermissionsGuard } from '../admin/guards/permissions.guard';
import { RequirePermissions } from '@app/decorators/require-permissions.decorator';
import { AdminJwtAuthGuard } from '@app/guards/admin-jwt-auth.guard';
import { PermissionsGuard } from '@app/guards/permissions.guard';
import { DataService } from './data.service';
@ApiTags('Data')

View File

@@ -1,9 +1,9 @@
import { Module } from '@nestjs/common';
import { AdminModule } from '../admin/admin.module';
import { DramasModule } from '../dramas/dramas.module';
import { AdminModule } from '@src/admin/admin.module';
import { DramasModule } from '@src/dramas/dramas.module';
import { DataController } from './data.controller';
import { DataService } from './data.service';
import { TikTokDataProvider } from './providers/tiktok-data.provider';
import { TikTokDataProvider } from './data.provider';
@Module({
imports: [AdminModule, DramasModule],

View File

@@ -1,5 +1,5 @@
import { Injectable } from '@nestjs/common';
import { DramaRecord, EpisodeRecord } from '../../dramas/interfaces/drama-records.interface';
import { DramaRecord, EpisodeRecord } from '@src/dramas/dramas.types';
@Injectable()
export class TikTokDataProvider {

View File

@@ -1,12 +1,12 @@
import { Injectable, Optional } from '@nestjs/common';
import { InjectDataSource } from '@nestjs/typeorm';
import { DataSource } from 'typeorm';
import { PaginatedResponse } from '../../common/dto/paginated-response.dto';
import { DramasService } from '../dramas/dramas.service';
import { DataSyncJob } from './entities/data-sync-job.entity';
import { DramaMetric } from './entities/drama-metric.entity';
import { EpisodeMetric } from './entities/episode-metric.entity';
import { TikTokDataProvider } from './providers/tiktok-data.provider';
import { PaginatedResponse } from '@app/common/paginated-response.dto';
import { DramasService } from '@src/dramas/dramas.service';
import { DataSyncJob } from './data-sync-job.entity';
import { DramaMetric } from './drama-metric.entity';
import { EpisodeMetric } from './episode-metric.entity';
import { TikTokDataProvider } from './data.provider';
interface PaginationInput {
page: number;