AI问数二期

This commit is contained in:
BBIT-Kai
2026-07-16 13:55:21 +08:00
parent 7be72a50ad
commit a84173066e
10 changed files with 1731 additions and 302 deletions
+113 -10
View File
@@ -4,10 +4,20 @@ import { useAccessStore } from '@vben/stores';
import { pyRequestClient } from '#/api/request';
export interface CubeReportScope {
canGlobal: boolean;
canRefreshMetadata: boolean;
companies: Array<{ id: string; name: string }>;
}
export interface CubeReportMetaStatus {
available: boolean;
changed?: boolean;
cubeCount: number;
memberCount: number;
refreshedAt: null | string;
refreshing: boolean;
stale: boolean;
}
export interface CubeReportAppParameters {
fileUpload: Record<string, unknown>;
openingStatement: string;
@@ -18,16 +28,43 @@ export interface CubeReportAppParameters {
}
export interface CubeReportSession {
allowGlobal: boolean;
createdAt: null | string;
hasData?: boolean;
id: string;
tenantId: null | string;
reportId?: null | string;
tenantId: string;
tenantName: string;
title: string;
updatedAt: null | string;
}
export interface CubeReportSessionPage {
hasMore: boolean;
items: CubeReportSession[];
nextCursor: null | string;
}
export interface CubeSavedReport {
conversationId: string;
createdAt: null | string;
id: string;
limitSource: 'system' | 'user';
message: string;
query: Record<string, unknown>;
requirement: string;
tenantId: string;
tenantName: string;
title: string;
updatedAt: null | string;
}
export interface CubeSavedReportPage {
items: CubeSavedReport[];
page: number;
pageSize: number;
total: number;
}
export interface CubeReportFile {
belongsTo?: 'assistant' | 'user';
id: string;
@@ -83,7 +120,6 @@ export type CubeReportStreamEvent =
| { text: string; type: 'status' };
export interface SendCubeReportMessage {
allowGlobal: boolean;
content: string;
conversationId?: null | string;
files: CubeReportFile[];
@@ -116,14 +152,49 @@ export async function getCubeReportScope() {
return pyRequestClient.get<CubeReportScope>('/llm/cube-report/scope');
}
export async function getCubeReportMetaStatus() {
return pyRequestClient.get<CubeReportMetaStatus>(
'/llm/cube-report/meta/status',
);
}
export async function refreshCubeReportMeta() {
return pyRequestClient.post<CubeReportMetaStatus>(
'/llm/cube-report/meta/refresh',
);
}
export async function getCubeReportAppParameters() {
return pyRequestClient.get<CubeReportAppParameters>(
'/llm/cube-report/app-parameters',
);
}
export async function getCubeReportSessions() {
return pyRequestClient.get<CubeReportSession[]>('/llm/cube-report/sessions');
export async function getCubeReportSessions(params: {
cursor?: string;
keyword?: string;
pageSize?: number;
tenantId: string;
}) {
return pyRequestClient.get<CubeReportSessionPage>(
'/llm/cube-report/sessions',
{ params },
);
}
export async function getCubeReports(params: {
keyword?: string;
page: number;
pageSize: number;
tenantId: string;
}) {
return pyRequestClient.get<CubeSavedReportPage>('/llm/cube-report/reports', {
params,
});
}
export async function getCubeReport(id: string) {
return pyRequestClient.get<CubeSavedReport>(`/llm/cube-report/reports/${id}`);
}
export async function getCubeReportSession(id: string) {
@@ -133,22 +204,41 @@ export async function getCubeReportSession(id: string) {
}>(`/llm/cube-report/sessions/${id}`);
}
export async function getCubeReportData(
id: string,
params: { page: number; pageSize: number },
) {
export async function getCubeReportData(id: string, params: { page: number }) {
return pyRequestClient.get<CubeReportPage>(
`/llm/cube-report/sessions/${id}/data`,
{ params },
);
}
export async function getCubeSavedReportData(
id: string,
params: { page: number },
) {
return pyRequestClient.get<CubeReportPage>(
`/llm/cube-report/reports/${id}/data`,
{ params },
);
}
export async function exportCubeReportSession(id: string) {
return pyRequestClient.post<CubeReportExportResult>(
`/llm/cube-report/sessions/${id}/export`,
);
}
export async function exportCubeSavedReport(id: string) {
return pyRequestClient.post<CubeReportExportResult>(
`/llm/cube-report/reports/${id}/export`,
);
}
export async function favoriteCubeReportSession(id: string) {
return pyRequestClient.post<CubeSavedReport>(
`/llm/cube-report/sessions/${id}/favorite`,
);
}
export async function renameCubeReportSession(id: string, name: string) {
return pyRequestClient.post<CubeReportSession>(
`/llm/cube-report/sessions/${id}/name`,
@@ -162,6 +252,19 @@ export async function deleteCubeReportSession(id: string) {
);
}
export async function renameCubeSavedReport(id: string, name: string) {
return pyRequestClient.post<CubeSavedReport>(
`/llm/cube-report/reports/${id}/name`,
{ name },
);
}
export async function deleteCubeSavedReport(id: string) {
return pyRequestClient.delete<{ result: string }>(
`/llm/cube-report/reports/${id}`,
);
}
export async function stopCubeReportTask(taskId: string) {
return pyRequestClient.post<{ result: string }>(
`/llm/cube-report/tasks/${taskId}/stop`,