diff --git a/web/src/api/prompt.ts b/web/src/api/prompt.ts index 526f50ac..79ea374c 100644 --- a/web/src/api/prompt.ts +++ b/web/src/api/prompt.ts @@ -1,13 +1,26 @@ import { request } from '@/utils/request' import type { AiPromptForm } from '@/views/ApplicationConfig/types' +import type { PromptReleaseData } from '@/views/Prompt/types' import { handleSSE, type SSEMessage } from '@/utils/stream' +// Create session export const createPromptSessions = () => { return request.post(`/prompt/sessions`) } -export const getPrompt = (session_id: string) => { - return request.get(`/prompt/sessions/${session_id}`) -} +// Get prompt optimization export const updatePromptMessages = (session_id: string, data: AiPromptForm, onMessage?: (data: SSEMessage[]) => void) => { return handleSSE(`/prompt/sessions/${session_id}/messages`, data, onMessage) +} +// Prompt release list +export const getPromptReleaseListUrl = '/prompt/releases/list' +export const getPromptReleaseList = () => { + return request.get(getPromptReleaseListUrl) +} +// Save prompt +export const savePrompt = (data: PromptReleaseData) => { + return request.post('/prompt/releases', data) +} +// Delete prompt +export const deletePrompt = (prompt_id: string) => { + return request.delete(`/prompt/releases/${prompt_id}`) } \ No newline at end of file diff --git a/web/src/assets/images/menu/prompt.svg b/web/src/assets/images/menu/prompt.svg new file mode 100644 index 00000000..ffef9a34 --- /dev/null +++ b/web/src/assets/images/menu/prompt.svg @@ -0,0 +1,15 @@ + + + 提示词备份 + + + + + + + + + + + + \ No newline at end of file diff --git a/web/src/assets/images/menu/prompt_active.svg b/web/src/assets/images/menu/prompt_active.svg new file mode 100644 index 00000000..ac45e13c --- /dev/null +++ b/web/src/assets/images/menu/prompt_active.svg @@ -0,0 +1,15 @@ + + + 提示词 + + + + + + + + + + + + \ No newline at end of file diff --git a/web/src/components/Markdown/index.tsx b/web/src/components/Markdown/index.tsx index 58650207..6737f15a 100644 --- a/web/src/components/Markdown/index.tsx +++ b/web/src/components/Markdown/index.tsx @@ -19,6 +19,7 @@ interface RbMarkdownProps { showHtmlComments?: boolean; // 是否显示 HTML 注释,默认为 false(隐藏) editable?: boolean; // 是否可编辑,默认为 false onContentChange?: (content: string) => void; // 内容变化回调 + className?: string; } const components = { @@ -98,6 +99,7 @@ const RbMarkdown: FC = ({ showHtmlComments = false, editable = false, onContentChange, + className }) => { const [editContent, setEditContent] = useState(content) const textareaRef = useRef(null) @@ -162,7 +164,7 @@ const RbMarkdown: FC = ({ // 预览模式 return ( -
+