refactor: 重构项目接口与API调用体系,统一类型管理

1.  合并拆分的API类型定义到统一的api/interface.ts文件
2.  删除旧的api/client.ts与api/types.ts文件
3.  重构所有页面与组件的API调用方式,统一使用api/index.ts导出的接口
4.  调整组件文件结构,将分散的组件按模块整理
5.  统一类型导入路径,移除冗余的类型重复定义
This commit is contained in:
2026-07-02 14:57:06 +08:00
parent e160476ecf
commit 3451d373bc
54 changed files with 1106 additions and 930 deletions

View File

@@ -1,13 +1,25 @@
import { api } from './client';
import type { ApiResponse, DataOverview } from './types';
import { fetchPage, request } from "../plugins/axios";
import type { ApiResponse, DataOverview, DramaMetric, EpisodeMetric, PageQuery, SyncJob } from "./interface";
export async function getDataOverview() {
const response = await api.get<ApiResponse<DataOverview>>(
const response = await request.get<ApiResponse<DataOverview>>(
'/api/admin/v1/data/overview',
);
return response.data.data;
}
export async function syncDataMetrics() {
await api.post('/api/admin/v1/data/sync', {});
await request.post('/api/admin/v1/data/sync', {});
}
export function listDramaMetrics(query: PageQuery) {
return fetchPage<DramaMetric>('/api/admin/v1/data/dramas', query);
}
export function listEpisodeMetrics(query: PageQuery) {
return fetchPage<EpisodeMetric>('/api/admin/v1/data/episodes', query);
}
export function listSyncJobs(query: PageQuery) {
return fetchPage<SyncJob>('/api/admin/v1/data/sync-jobs', query);
}