康鲁杰
2025-06-12 bc4fc311f5dcc7fbe3b7ff7d0b47b4d1d1f0083e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
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 })
  }
}