From 4a836815f12e8ba717702cc8ed431e1b4f96134c Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期五, 25 四月 2025 13:55:34 +0800
Subject: [PATCH] 新增内部线索相关管理逻辑

---
 src/api/clue/clueQuestionApi.js |   70 +++++++++++++++++++++++++++++++---
 1 files changed, 63 insertions(+), 7 deletions(-)

diff --git a/src/api/clue/clueQuestionApi.js b/src/api/clue/clueQuestionApi.js
index 8b2ba10..7968167 100644
--- a/src/api/clue/clueQuestionApi.js
+++ b/src/api/clue/clueQuestionApi.js
@@ -1,19 +1,75 @@
-import { $clue } from './index';
+import { $clue } from '../index';
+import { getClueQuestionList } from '@/model/clueQuestion';
 
 export default {
   /**
-   *
+   * 鑾峰彇宸叉彁浜ょ殑绾跨储闂
+   * @param {string} clueId 绾跨储id
    */
-  getQuestion(clueId) {
-    return $clue.get(`clue/question/fetch?clueId=${clueId}`);
+  getQuestion(clueId, internal) {
+    return $clue
+      .get(`clue/question/fetch`, {
+        params: { clueId, internal }
+      })
+      .then((res) => {
+        return getClueQuestionList(res.data);
+      });
   },
 
+  /**
+   * 涓婁紶绾跨储闂
+   * @param {object} question 闂鎻忚堪
+   * @param {*} files 闂鍥剧墖
+   * @returns
+   */
   uploadQuestion(question, files) {
-    const formData = {};
-    return $clue.post(`clue/question/upload`, formData);
+    const formData = new FormData();
+    formData.append('question', JSON.stringify(question));
+    files.forEach((e) => {
+      formData.append('images', e);
+    });
+    return $clue
+      .post(`clue/question/upload`, formData)
+      .then((res) => res.data);
   },
 
+  /**
+   * 淇敼绾跨储闂
+   * @param {object} question 闂鎻忚堪
+   * @param {*} files 闂鍥剧墖
+   * @param {Array} deleteImgUrl 鍒犻櫎鐨勫浘鐗囩浉瀵硅矾寰勶紝鐢�;鍒嗗壊
+   * @returns
+   */
+  updateQuestion(question, files, deleteImgUrl) {
+    const formData = new FormData();
+    formData.append('question', JSON.stringify(question));
+    formData.append('deleteImg', deleteImgUrl);
+    files.forEach((e) => {
+      formData.append('images', e);
+    });
+    return $clue
+      .post(`clue/question/update`, formData)
+      .then((res) => res.data);
+  },
+
+  deleteQuestion(questionId) {
+    return $clue
+      .delete(`clue/question`, { params: { questionId } })
+      .then((res) => res.data);
+  },
+
+  uploadQuestionUrl() {
+    return `${$clue.defaults.baseURL}clue/question/upload`;
+  },
+
+  /**
+   * 鎺ㄩ�佺嚎绱㈤棶棰樿嚦绗笁鏂�
+   * @param {Array} questionIdList 闂id闆嗗悎
+   * @returns
+   */
   pushQuestion(questionIdList) {
-    return $clue.post(`clue/question/push`, questionIdList);
+    return $clue
+      .post(`clue/question/push`, questionIdList)
+      .then((res) => res.data);
   }
 };

--
Gitblit v1.9.3