drafts.ts
3.08 KB
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
// src/api/drafts.ts
import { service as request } from "@/utils/request";
import type { AxiosPromise } from "axios";
/**
* GET /api/drafts/{draftId}
* 获取草稿详情(下载文件)
*/
export const apiGetDraftById = (draftId: string | number): AxiosPromise =>
request.get(`/drafts/${draftId}`);
/**
* PUT /api/drafts/{draftId}
* 更新草稿文件(标题、内容)
* @param draftId
* @param payload
*/
export const apiUpdateDraft = (
draftId: string | number,
payload: { title?: string; content?: string },
): AxiosPromise => request.put(`/drafts/${draftId}`, payload);
/**
* DELETE /api/drafts/{draftId}
* 删除草稿文件
*/
export const apiDeleteDraft = (draftId: string | number): AxiosPromise =>
request.delete(`/drafts/${draftId}`);
/**
* POST /api/drafts/{draftId}/save-to-knowledge
* 将草稿保存到知识库
* @param draftId
* @param payload
*/
export const apiSaveDraftToKnowledge = (
draftId: string | number,
payload: { parentId?: number | null; fileName?: string },
): AxiosPromise =>
request.post(`/drafts/${draftId}/save-to-knowledge`, payload).then((res) => ({
...res,
code: 200,
}));
/**
* POST /api/drafts/from-answer/{answerId}
* 从回答创建草稿文件
* @param answerId
* @param payload
*/
export const apiCreateDraftFromAnswer = (
answerId: string | number,
payload: { title?: string } = {},
): AxiosPromise => request.post(`/drafts/from-answer/${answerId}`, payload);
/**
* POST /api/drafts/from-question/{questionId}
* 从问题创建草稿文件(根据问题关联的回答)
* @param questionId
* @param payload
*/
export const apiCreateDraftFromQuestion = (
questionId: string | number,
payload: { title?: string } = {},
): AxiosPromise => request.post(`/drafts/from-question/${questionId}`, payload);
/**
* POST /api/drafts/create
* 灵活创建草稿文件(支持 questionId 或 answerId)
* @param payload
*/
export const apiCreateDraftFlexible = (payload: {
questionId?: number;
answerId?: number;
title?: string;
}): AxiosPromise => request.post("/drafts/create", payload);
/**
* GET /api/drafts
* 获取当前用户的草稿列表
*/
export const apiListUserDrafts = (): Promise<any> =>
request.get("/drafts").then((res) => {
if (res.data) {
return {
code: 200,
data: res.data,
message: "success",
};
}
return res;
});
/**
* GET /api/drafts/check-answer/{answerId}
* 检查某条回答是否已有草稿
*/
export const apiCheckAnswerDraft = (answerId: string | number): AxiosPromise =>
request.get(`/drafts/check-answer/${answerId}`);
/**
* GET /api/drafts/check-question/{questionId}
* 检查某个问题(对应的回答)是否已有草稿
*/
export const apiCheckQuestionDraft = (
questionId: string | number,
): AxiosPromise => request.get(`/drafts/check-question/${questionId}`);
/**
* POST /api/drafts/from-deep-search
* 从深度检索创建草稿文件
* @param payload
*/
export const apiCreateDraftFromDeepSearch = (payload: {
title: string;
content: string;
}): AxiosPromise => request.post("/drafts/from-deep-search", payload);