49 lines
1.2 KiB
TypeScript
49 lines
1.2 KiB
TypeScript
import request from "@/utils/request";
|
|
|
|
export interface ReviewFeedItem {
|
|
id: number;
|
|
sessionNum: string;
|
|
taskNum: string;
|
|
taskName: string;
|
|
sourceType: "REPORT" | "FRAGMENT";
|
|
content: string;
|
|
createdTime: string;
|
|
}
|
|
|
|
export interface ReviewTaskStats {
|
|
taskNum: string;
|
|
taskName: string;
|
|
reportCount: number;
|
|
fragmentCount: number;
|
|
effectiveTime: number;
|
|
sessionCount: number;
|
|
todayEffectiveTime: number;
|
|
weekEffectiveTime: number;
|
|
avgEffectiveTime: number;
|
|
avgEffectivenessRatio: number;
|
|
}
|
|
|
|
export const getReviewFeed = (limit: number = 30, mode: "recent" | "random" | "smart" = "recent") => {
|
|
return request.get<ReviewFeedItem[]>("/review/feed", { limit, mode });
|
|
};
|
|
|
|
export const getReviewTaskStats = () => {
|
|
return request.get<ReviewTaskStats[]>("/review/tasks");
|
|
};
|
|
|
|
export const getReviewTaskStatsByTask = (taskNum: string) => {
|
|
return request.get<ReviewTaskStats>(`/review/tasks/${taskNum}`);
|
|
};
|
|
|
|
export const getReportDetail = (id: number) => {
|
|
return request.get(`/review/report/${id}`);
|
|
};
|
|
|
|
export const getFragmentDetail = (id: number) => {
|
|
return request.get(`/review/fragment/${id}`);
|
|
};
|
|
|
|
export const getTaskReview = (taskNum: string) => {
|
|
return request.get(`/review/task/${taskNum}`);
|
|
};
|