| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- import axios from 'axios';
- // 图表数据API接口类型
- 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;
- }
- // 图表数据API
- 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;
- }
- }
- };
|