Files
d8d-admin-mobile-starter-pu…/client/admin/api/charts.ts
yourname e4f45ed952 已从10个API模块文件中移除重复的API_BASE_URL定义
所有API调用现在统一使用client/admin/api/index.ts中的全局axios配置
保持原有功能不变的同时简化了代码结构
2025-05-13 11:44:28 +00:00

66 lines
1.4 KiB
TypeScript

import axios from 'axios';
interface ChartDataResponse<T> {
message: string;
data: T;
}
interface UserActivityData {
date: string;
count: number;
}
interface FileUploadsData {
month: string;
count: number;
}
interface FileTypesData {
type: string;
value: number;
}
interface DashboardOverviewData {
userCount: number;
fileCount: number;
articleCount: number;
todayLoginCount: number;
}
export const ChartAPI = {
getUserActivity: async (): Promise<ChartDataResponse<UserActivityData[]>> => {
try {
const response = await axios.get('/charts/user-activity');
return response.data;
} catch (error) {
throw error;
}
},
getFileUploads: async (): Promise<ChartDataResponse<FileUploadsData[]>> => {
try {
const response = await axios.get('/charts/file-uploads');
return response.data;
} catch (error) {
throw error;
}
},
getFileTypes: async (): Promise<ChartDataResponse<FileTypesData[]>> => {
try {
const response = await axios.get('/charts/file-types');
return response.data;
} catch (error) {
throw error;
}
},
getDashboardOverview: async (): Promise<ChartDataResponse<DashboardOverviewData>> => {
try {
const response = await axios.get('/charts/dashboard-overview');
return response.data;
} catch (error) {
throw error;
}
}
};