import { getAccessToken } from '@/utils/auth' import { fetchEventSource } from '@microsoft/fetch-event-source' import { config } from '@/config/axios/config' import request from '@/config/axios' // AI 思维导图 VO // AI 思维导图 VO export interface MindMapVO { id: number // 编号 userId: number // 用户编号 prompt: string // 生成内容提示 generatedContent: string // 生成的思维导图内容 platform: string // 平台 model: string // 模型 errorMessage: string // 错误信息 } // AI 思维导图生成 VO export interface AiMindMapGenerateReqVO { prompt: string } export const AiMindMapApi = { generateMindMap: ({ data, onClose, onMessage, onError, ctrl }: { data: AiMindMapGenerateReqVO onMessage?: (res: any) => void onError?: (...args: any[]) => void onClose?: (...args: any[]) => void ctrl: AbortController }) => { const token = getAccessToken() return fetchEventSource(`${config.base_url}/ai/mind-map/generate-stream`, { method: 'post', headers: { 'Content-Type': 'application/json', Authorization: `Bearer ${token}` }, openWhenHidden: true, body: JSON.stringify(data), onmessage: onMessage, onerror: onError, onclose: onClose, signal: ctrl.signal }) }, // 查询思维导图分页 getMindMapPage: async (params: any) => { return await request.get({ url: `/ai/mind-map/page`, params }) }, // 删除思维导图 deleteMindMap: async (id: number) => { return await request.delete({ url: `/ai/mind-map/delete?id=` + id }) } }