From a1d7e81859f554f3a53680cc35f0f49bf1f77098 Mon Sep 17 00:00:00 2001
From: wwf <1971391498@qq.com>
Date: 星期四, 14 五月 2026 14:37:02 +0800
Subject: [PATCH] 导入项目
---
src/api/ai/mindmap/index.ts | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 60 insertions(+), 0 deletions(-)
diff --git a/src/api/ai/mindmap/index.ts b/src/api/ai/mindmap/index.ts
new file mode 100644
index 0000000..59b4fd8
--- /dev/null
+++ b/src/api/ai/mindmap/index.ts
@@ -0,0 +1,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 })
+ }
+}
--
Gitblit v1.8.0