From 16697df76d7b27ff65d229937b3f3ac4cc0e56a0 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期二, 09 六月 2026 17:27:27 +0800
Subject: [PATCH] docs(knowledge-base): 添加知识库模块传参方式和参数命名规范文档

---
 src/api/collaborativeApproval/knowledgeBase.js |  177 ++++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 121 insertions(+), 56 deletions(-)

diff --git a/src/api/collaborativeApproval/knowledgeBase.js b/src/api/collaborativeApproval/knowledgeBase.js
index 8ad24dd..eb44ac2 100644
--- a/src/api/collaborativeApproval/knowledgeBase.js
+++ b/src/api/collaborativeApproval/knowledgeBase.js
@@ -1,59 +1,92 @@
 import request from "@/utils/request";
+import { getToken } from '@/utils/auth';
 
-// 鏌ヨ鐭ヨ瘑搴撳垪琛�
+/**
+ * 鐭ヨ瘑搴撶鐞嗘帴鍙�
+ * 浼犲弬瑙勮寖:
+ * - GET璇锋眰: 浣跨敤 params
+ * - POST璇锋眰: 浣跨敤 data
+ * - DELETE璇锋眰: 浣跨敤 data
+ * - 娴佸紡璇锋眰: 浣跨敤 Fetch API
+ */
+
+// ==================== 鐭ヨ瘑搴揅RUD鎺ュ彛 ====================
+
+/**
+ * 鏌ヨ鐭ヨ瘑搴撳垪琛�
+ * @param {Object} query - 鏌ヨ鍙傛暟
+ * @param {number} query.current - 褰撳墠椤电爜(蹇呭~)
+ * @param {number} query.size - 姣忛〉鏉℃暟(蹇呭~)
+ * @param {string} [query.title] - 鐭ヨ瘑鏍囬(鍙��,妯$硦鎼滅储)
+ * @param {string} [query.type] - 鐭ヨ瘑绫诲瀷(鍙��,绮剧‘鍖归厤)
+ * @returns {Promise}
+ */
 export function listKnowledgeBase(query) {
   return request({
     url: "/knowledgeBase/getList",
     method: "get",
-    params: query,
+    params: query,  // GET璇锋眰浣跨敤params
   });
 }
 
-// 鏌ヨ鐭ヨ瘑搴撹缁�
-// export function getKnowledgeBase(knowledgeBaseId) {
-//   return request({
-//     url: "/collaborativeApproval/knowledgeBase/" + knowledgeBaseId,
-//     method: "get",
-//   });
-// }
-
-// 鏂板鐭ヨ瘑搴�
+/**
+ * 鏂板鐭ヨ瘑搴�
+ * @param {Object} data - 鐭ヨ瘑搴撴暟鎹�
+ * @param {string} data.title - 鐭ヨ瘑鏍囬(蹇呭~)
+ * @param {string} data.type - 鐭ヨ瘑绫诲瀷(蹇呭~)
+ * @param {string} [data.scenario] - 閫傜敤鍦烘櫙(鍙��)
+ * @param {string} [data.efficiency] - 瑙e喅鏁堢巼(鍙��)
+ * @param {string} data.problem - 闂鎻忚堪(蹇呭~)
+ * @param {string} data.solution - 瑙e喅鏂规(蹇呭~)
+ * @param {string} [data.keyPoints] - 鍏抽敭瑕佺偣(鍙��)
+ * @param {string} [data.creator] - 鍒涘缓浜�(鍙��)
+ * @param {number} [data.usageCount=0] - 浣跨敤娆℃暟(鍙��)
+ * @returns {Promise}
+ */
 export function addKnowledgeBase(data) {
   return request({
     url: "/knowledgeBase/add",
     method: "post",
-    data: data,
+    data: data,  // POST璇锋眰浣跨敤data
   });
 }
 
-// 淇敼鐭ヨ瘑搴�
+/**
+ * 淇敼鐭ヨ瘑搴�
+ * @param {Object} data - 鐭ヨ瘑搴撴暟鎹�
+ * @param {number} data.id - 鐭ヨ瘑搴揑D(蹇呭~)
+ * @param {string} data.title - 鐭ヨ瘑鏍囬(蹇呭~)
+ * @param {string} data.type - 鐭ヨ瘑绫诲瀷(蹇呭~)
+ * @returns {Promise}
+ */
 export function updateKnowledgeBase(data) {
   return request({
     url: "/knowledgeBase/update",
     method: "post",
-    data: data,
+    data: data,  // POST璇锋眰浣跨敤data
   });
 }
 
-// 鍒犻櫎鐭ヨ瘑搴�
-export function delKnowledgeBase(query) {
+/**
+ * 鍒犻櫎鐭ヨ瘑搴�(鏀寔鎵归噺鍒犻櫎)
+ * @param {number[]} ids - 鐭ヨ瘑搴揑D鏁扮粍
+ * @returns {Promise}
+ */
+export function delKnowledgeBase(ids) {
   return request({
     url: "/knowledgeBase/delete",
     method: "delete",
-    data: query,
+    data: ids,  // DELETE璇锋眰浣跨敤data浼犻�掓暟缁�
   });
 }
 
-// 鎵归噺鍒犻櫎鐭ヨ瘑搴�
-export function delKnowledgeBaseBatch(knowledgeBaseIds) {
-  return request({
-    url: "/knowledgeBase/batch",
-    method: "delete",
-    data: knowledgeBaseIds,
-  });
-}
+// ==================== 鏂囦欢绠$悊鎺ュ彛 ====================
 
-// 鑾峰彇鐭ヨ瘑搴撴枃浠跺悜閲忓寲鐘舵��
+/**
+ * 鏌ヨ鐭ヨ瘑搴撴枃浠跺悜閲忓寲鐘舵��
+ * @param {number} knowledgeBaseId - 鐭ヨ瘑搴揑D
+ * @returns {Promise} 杩斿洖鏂囦欢鍒楄〃鍙婂悜閲忓寲鐘舵��
+ */
 export function getVectorStatus(knowledgeBaseId) {
   return request({
     url: `/knowledgeBase/vector/status/${knowledgeBaseId}`,
@@ -61,7 +94,39 @@
   });
 }
 
-// 閲嶆柊鍚戦噺鍖栨枃浠�
+/**
+ * 淇濆瓨鐭ヨ瘑搴撴枃浠跺叧鑱�(瑙﹀彂鍚戦噺鍖�)
+ * @param {Object} data - 鏂囦欢鍏宠仈鏁版嵁
+ * @param {number} data.knowledgeBaseId - 鐭ヨ瘑搴揑D(蹇呭~)
+ * @param {number[]} data.storageBlobIds - 鏂囦欢blob ID鏁扮粍(蹇呭~)
+ * @returns {Promise}
+ */
+export function saveKnowledgeBaseFiles(data) {
+  return request({
+    url: "/knowledgeBase/file/save",
+    method: "post",
+    data: data,  // POST璇锋眰浣跨敤data
+  });
+}
+
+/**
+ * 鍒犻櫎鐭ヨ瘑搴撴枃浠�
+ * @param {number[]} ids - 鍚戦噺璁板綍ID鏁扮粍
+ * @returns {Promise}
+ */
+export function deleteKnowledgeBaseFile(ids) {
+  return request({
+    url: "/knowledgeBase/file/delete",
+    method: "delete",
+    data: ids,  // DELETE璇锋眰浣跨敤data浼犻�掓暟缁�
+  });
+}
+
+/**
+ * 閲嶆柊鍚戦噺鍖栨枃浠�
+ * @param {number} vectorId - 鍚戦噺璁板綍ID
+ * @returns {Promise}
+ */
 export function reprocessVector(vectorId) {
   return request({
     url: `/knowledgeBase/vector/reprocess/${vectorId}`,
@@ -69,39 +134,39 @@
   });
 }
 
-// 淇濆瓨鐭ヨ瘑搴撴枃浠跺叧鑱�
-export function saveKnowledgeBaseFiles(data) {
-  return request({
-    url: "/knowledgeBase/file/save",
-    method: "post",
-    data: data,
+// ==================== 鐭ヨ瘑闂瓟鎺ュ彛 ====================
+
+/**
+ * 鐭ヨ瘑搴撻棶绛�(娴佸紡)
+ * 鍚庣鎺ュ彛: POST /ai/knowledge/chat
+ * 鍝嶅簲绫诲瀷: text/stream;charset=utf-8 (Spring Flux<String>)
+ *
+ * @param {Object} data - 闂瓟鍙傛暟
+ * @param {number} data.knowledgeBaseId - 鐭ヨ瘑搴揑D(蹇呭~)
+ * @param {string} data.memoryId - 浼氳瘽ID(蹇呭~,鐢ㄤ簬淇濇寔涓婁笅鏂�)
+ * @param {string} data.question - 鐢ㄦ埛闂(蹇呭~)
+ * @returns {Promise<Response>} 杩斿洖Fetch Response瀵硅薄
+ */
+export function knowledgeChat(data) {
+  const token = getToken();
+  return fetch(import.meta.env.VITE_APP_BASE_API + '/ai/knowledge/chat', {
+    method: 'POST',
+    headers: {
+      'Content-Type': 'application/json',
+      'Authorization': 'Bearer ' + token
+    },
+    body: JSON.stringify(data)
   });
 }
 
-// 鍒犻櫎鐭ヨ瘑搴撴枃浠�
-export function deleteKnowledgeBaseFiles(vectorIds) {
+/**
+ * 鏌ヨ鐭ヨ瘑搴撻棶绛斿巻鍙�
+ * @param {string} memoryId - 浼氳瘽ID
+ * @returns {Promise}
+ */
+export function getKnowledgeHistory(memoryId) {
   return request({
-    url: "/knowledgeBase/file/delete",
-    method: "delete",
-    data: vectorIds,
-  });
-}
-
-// 鑾峰彇鐭ヨ瘑搴撳垪琛�(闂瓟鐢�)
-export function getKnowledgeBaseListForChat() {
-  return request({
-    url: "/ai/knowledge/list",
+    url: `/ai/knowledge/history/${memoryId}`,
     method: "get",
   });
 }
-
-// 鐭ヨ瘑搴撻棶绛�(娴佸紡)
-export async function knowledgeChat(data) {
-  const response = await fetch("/api/ai/knowledge/chat", {
-    method: "POST",
-    headers: { "Content-Type": "application/json" },
-    body: JSON.stringify(data),
-  });
-  return response.body;
-}
-

--
Gitblit v1.9.3