feat:【antd/ele】【ai】优化 api 格式

This commit is contained in:
YunaiV
2025-11-19 16:46:34 +08:00
parent 42f30230f2
commit 523e4b81da
28 changed files with 169 additions and 147 deletions

View File

@@ -15,7 +15,6 @@ export namespace AiChatConversationApi {
maxTokens: number; // 单条回复的最大 Token 数量 maxTokens: number; // 单条回复的最大 Token 数量
maxContexts: number; // 上下文的最大 Message 数量 maxContexts: number; // 上下文的最大 Message 数量
createTime?: Date; // 创建时间 createTime?: Date; // 创建时间
// 额外字段
systemMessage?: string; // 角色设定 systemMessage?: string; // 角色设定
modelName?: string; // 模型名字 modelName?: string; // 模型名字
roleAvatar?: string; // 角色头像 roleAvatar?: string; // 角色头像
@@ -24,52 +23,52 @@ export namespace AiChatConversationApi {
} }
} }
// 获得【我的】聊天对话 /** 获得【我的】聊天对话 */
export function getChatConversationMy(id: number) { export function getChatConversationMy(id: number) {
return requestClient.get<AiChatConversationApi.ChatConversation>( return requestClient.get<AiChatConversationApi.ChatConversation>(
`/ai/chat/conversation/get-my?id=${id}`, `/ai/chat/conversation/get-my?id=${id}`,
); );
} }
// 新增【我的】聊天对话 /** 新增【我的】聊天对话 */
export function createChatConversationMy( export function createChatConversationMy(
data: AiChatConversationApi.ChatConversation, data: AiChatConversationApi.ChatConversation,
) { ) {
return requestClient.post('/ai/chat/conversation/create-my', data); return requestClient.post('/ai/chat/conversation/create-my', data);
} }
// 更新【我的】聊天对话 /** 更新【我的】聊天对话 */
export function updateChatConversationMy( export function updateChatConversationMy(
data: AiChatConversationApi.ChatConversation, data: AiChatConversationApi.ChatConversation,
) { ) {
return requestClient.put(`/ai/chat/conversation/update-my`, data); return requestClient.put(`/ai/chat/conversation/update-my`, data);
} }
// 删除【我的】聊天对话 /** 删除【我的】聊天对话 */
export function deleteChatConversationMy(id: number) { export function deleteChatConversationMy(id: number) {
return requestClient.delete(`/ai/chat/conversation/delete-my?id=${id}`); return requestClient.delete(`/ai/chat/conversation/delete-my?id=${id}`);
} }
// 删除【我的】所有对话,置顶除外 /** 删除【我的】所有对话,置顶除外 */
export function deleteChatConversationMyByUnpinned() { export function deleteChatConversationMyByUnpinned() {
return requestClient.delete(`/ai/chat/conversation/delete-by-unpinned`); return requestClient.delete(`/ai/chat/conversation/delete-by-unpinned`);
} }
// 获得【我的】聊天对话列表 /** 获得【我的】聊天对话列表 */
export function getChatConversationMyList() { export function getChatConversationMyList() {
return requestClient.get<AiChatConversationApi.ChatConversation[]>( return requestClient.get<AiChatConversationApi.ChatConversation[]>(
`/ai/chat/conversation/my-list`, `/ai/chat/conversation/my-list`,
); );
} }
// 获得【我的】聊天对话列表 /** 获得【我的】聊天对话列表 */
export function getChatConversationPage(params: any) { export function getChatConversationPage(params: any) {
return requestClient.get< return requestClient.get<
PageResult<AiChatConversationApi.ChatConversation[]> PageResult<AiChatConversationApi.ChatConversation[]>
>(`/ai/chat/conversation/page`, { params }); >(`/ai/chat/conversation/page`, { params });
} }
// 管理员删除消息 /** 管理员删除消息 */
export function deleteChatConversationByAdmin(id: number) { export function deleteChatConversationByAdmin(id: number) {
return requestClient.delete(`/ai/chat/conversation/delete-by-admin?id=${id}`); return requestClient.delete(`/ai/chat/conversation/delete-by-admin?id=${id}`);
} }

View File

@@ -46,7 +46,7 @@ export namespace AiChatMessageApi {
} }
} }
// 消息列表 /** 消息列表 */
export function getChatMessageListByConversationId( export function getChatMessageListByConversationId(
conversationId: null | number, conversationId: null | number,
) { ) {
@@ -55,7 +55,7 @@ export function getChatMessageListByConversationId(
); );
} }
// 发送 Stream 消息 /** 发送 Stream 消息 */
export function sendChatMessageStream( export function sendChatMessageStream(
conversationId: number, conversationId: number,
content: string, content: string,
@@ -89,25 +89,27 @@ export function sendChatMessageStream(
}); });
} }
// 删除消息 /** 删除消息 */
export function deleteChatMessage(id: number) { export function deleteChatMessage(id: number) {
return requestClient.delete(`/ai/chat/message/delete?id=${id}`); return requestClient.delete(`/ai/chat/message/delete?id=${id}`);
} }
// 删除指定对话的消息 /** 删除指定对话的消息 */
export function deleteByConversationId(conversationId: number) { export function deleteByConversationId(conversationId: number) {
return requestClient.delete( return requestClient.delete(
`/ai/chat/message/delete-by-conversation-id?conversationId=${conversationId}`, `/ai/chat/message/delete-by-conversation-id?conversationId=${conversationId}`,
); );
} }
// 获得消息分页
/** 获得消息分页 */
export function getChatMessagePage(params: any) { export function getChatMessagePage(params: any) {
return requestClient.get<PageResult<AiChatMessageApi.ChatMessage>>( return requestClient.get<PageResult<AiChatMessageApi.ChatMessage>>(
'/ai/chat/message/page', '/ai/chat/message/page',
{ params }, { params },
); );
} }
// 管理员删除消息
/** 管理员删除消息 */
export function deleteChatMessageByAdmin(id: number) { export function deleteChatMessageByAdmin(id: number) {
return requestClient.delete(`/ai/chat/message/delete-by-admin?id=${id}`); return requestClient.delete(`/ai/chat/message/delete-by-admin?id=${id}`);
} }

View File

@@ -3,14 +3,7 @@ import type { PageParam, PageResult } from '@vben/request';
import { requestClient } from '#/api/request'; import { requestClient } from '#/api/request';
export namespace AiImageApi { export namespace AiImageApi {
export interface ImageMidjourneyButtons { /** 绘图 */
customId: string; // MJ::JOB::upsample::1::85a4b4c1-8835-46c5-a15c-aea34fad1862 动作标识
emoji: string; // 图标 emoji
label: string; // Make Variations 文本
style: number; // 样式: 2Primary、3Green
}
/** AI 绘图 */
export interface Image { export interface Image {
id: number; // 编号 id: number; // 编号
userId: number; userId: number;
@@ -30,7 +23,14 @@ export namespace AiImageApi {
finishTime: Date; // 完成时间 finishTime: Date; // 完成时间
} }
export interface ImageDrawReq { export interface ImageMidjourneyButtons {
customId: string; // MJ::JOB::upsample::1::85a4b4c1-8835-46c5-a15c-aea34fad1862 动作标识
emoji: string; // 图标 emoji
label: string; // Make Variations 文本
style: number; // 样式: 2Primary、3Green
}
export interface ImageDrawReqVO {
prompt: string; // 提示词 prompt: string; // 提示词
modelId: number; // 模型 modelId: number; // 模型
style: string; // 图像生成的风格 style: string; // 图像生成的风格
@@ -39,7 +39,7 @@ export namespace AiImageApi {
options: object; // 绘制参数Map<String, String> options: object; // 绘制参数Map<String, String>
} }
export interface ImageMidjourneyImagineReq { export interface ImageMidjourneyImagineReqVO {
prompt: string; // 提示词 prompt: string; // 提示词
modelId: number; // 模型 modelId: number; // 模型
base64Array?: string[]; // size不能为空 base64Array?: string[]; // size不能为空
@@ -54,60 +54,62 @@ export namespace AiImageApi {
} }
} }
// 获取【我的】绘图分页 /** 获取【我的】绘图分页 */
export function getImagePageMy(params: PageParam) { export function getImagePageMy(params: PageParam) {
return requestClient.get<PageResult<AiImageApi.Image>>('/ai/image/my-page', { return requestClient.get<PageResult<AiImageApi.Image>>('/ai/image/my-page', {
params, params,
}); });
} }
// 获取【我的】绘图记录 /** 获取【我的】绘图记录 */
export function getImageMy(id: number) { export function getImageMy(id: number) {
return requestClient.get<AiImageApi.Image>(`/ai/image/get-my?id=${id}`); return requestClient.get<AiImageApi.Image>(`/ai/image/get-my?id=${id}`);
} }
// 获取【我的】绘图记录列表 /** 获取【我的】绘图记录列表 */
export function getImageListMyByIds(ids: number[]) { export function getImageListMyByIds(ids: number[]) {
return requestClient.get<AiImageApi.Image[]>(`/ai/image/my-list-by-ids`, { return requestClient.get<AiImageApi.Image[]>(`/ai/image/my-list-by-ids`, {
params: { ids: ids.join(',') }, params: { ids: ids.join(',') },
}); });
} }
// 生成图片 /** 生成图片 */
export function drawImage(data: AiImageApi.ImageDrawReq) { export function drawImage(data: AiImageApi.ImageDrawReqVO) {
return requestClient.post(`/ai/image/draw`, data); return requestClient.post(`/ai/image/draw`, data);
} }
// 删除【我的】绘画记录 /** 删除【我的】绘画记录 */
export function deleteImageMy(id: number) { export function deleteImageMy(id: number) {
return requestClient.delete(`/ai/image/delete-my?id=${id}`); return requestClient.delete(`/ai/image/delete-my?id=${id}`);
} }
// ================ midjourney 专属 ================ /** ================ midjourney 专属 ================ */
// 【Midjourney】生成图片 /** 【Midjourney】生成图片 */
export function midjourneyImagine(data: AiImageApi.ImageMidjourneyImagineReq) { export function midjourneyImagine(
data: AiImageApi.ImageMidjourneyImagineReqVO,
) {
return requestClient.post(`/ai/image/midjourney/imagine`, data); return requestClient.post(`/ai/image/midjourney/imagine`, data);
} }
// 【Midjourney】Action 操作(二次生成图片) /** 【Midjourney】Action 操作(二次生成图片) */
export function midjourneyAction(data: AiImageApi.ImageMidjourneyAction) { export function midjourneyAction(data: AiImageApi.ImageMidjourneyAction) {
return requestClient.post(`/ai/image/midjourney/action`, data); return requestClient.post(`/ai/image/midjourney/action`, data);
} }
// ================ 绘图管理 ================ /** ================ 绘图管理 ================ */
// 查询绘画分页 /** 查询绘画分页 */
export function getImagePage(params: any) { export function getImagePage(params: any) {
return requestClient.get<AiImageApi.Image[]>(`/ai/image/page`, { params }); return requestClient.get<AiImageApi.Image[]>(`/ai/image/page`, { params });
} }
// 更新绘画发布状态 /** 更新绘画发布状态 */
export function updateImage(data: any) { export function updateImage(data: any) {
return requestClient.put(`/ai/image/update`, data); return requestClient.put(`/ai/image/update`, data);
} }
// 删除绘画 /** 删除绘画 */
export function deleteImage(id: number) { export function deleteImage(id: number) {
return requestClient.delete(`/ai/image/delete?id=${id}`); return requestClient.delete(`/ai/image/delete?id=${id}`);
} }

View File

@@ -15,39 +15,39 @@ export namespace AiKnowledgeDocumentApi {
} }
} }
// 查询知识库文档分页 /** 查询知识库文档分页 */
export function getKnowledgeDocumentPage(params: PageParam) { export function getKnowledgeDocumentPage(params: PageParam) {
return requestClient.get< return requestClient.get<
PageResult<AiKnowledgeDocumentApi.KnowledgeDocument> PageResult<AiKnowledgeDocumentApi.KnowledgeDocument>
>('/ai/knowledge/document/page', { params }); >('/ai/knowledge/document/page', { params });
} }
// 查询知识库文档详情 /** 查询知识库文档详情 */
export function getKnowledgeDocument(id: number) { export function getKnowledgeDocument(id: number) {
return requestClient.get(`/ai/knowledge/document/get?id=${id}`); return requestClient.get(`/ai/knowledge/document/get?id=${id}`);
} }
// 新增知识库文档(单个) /** 新增知识库文档(单个) */
export function createKnowledge(data: any) { export function createKnowledge(data: any) {
return requestClient.post('/ai/knowledge/document/create', data); return requestClient.post('/ai/knowledge/document/create', data);
} }
// 新增知识库文档(多个) /** 新增知识库文档(多个) */
export function createKnowledgeDocumentList(data: any) { export function createKnowledgeDocumentList(data: any) {
return requestClient.post('/ai/knowledge/document/create-list', data); return requestClient.post('/ai/knowledge/document/create-list', data);
} }
// 修改知识库文档 /** 修改知识库文档 */
export function updateKnowledgeDocument(data: any) { export function updateKnowledgeDocument(data: any) {
return requestClient.put('/ai/knowledge/document/update', data); return requestClient.put('/ai/knowledge/document/update', data);
} }
// 修改知识库文档状态 /** 修改知识库文档状态 */
export function updateKnowledgeDocumentStatus(data: any) { export function updateKnowledgeDocumentStatus(data: any) {
return requestClient.put('/ai/knowledge/document/update-status', data); return requestClient.put('/ai/knowledge/document/update-status', data);
} }
// 删除知识库文档 /** 删除知识库文档 */
export function deleteKnowledgeDocument(id: number) { export function deleteKnowledgeDocument(id: number) {
return requestClient.delete(`/ai/knowledge/document/delete?id=${id}`); return requestClient.delete(`/ai/knowledge/document/delete?id=${id}`);
} }

View File

@@ -13,7 +13,7 @@ export namespace AiKnowledgeKnowledgeApi {
} }
} }
// 查询知识库分页 /** 查询知识库分页 */
export function getKnowledgePage(params: PageParam) { export function getKnowledgePage(params: PageParam) {
return requestClient.get<PageResult<AiKnowledgeKnowledgeApi.Knowledge>>( return requestClient.get<PageResult<AiKnowledgeKnowledgeApi.Knowledge>>(
'/ai/knowledge/page', '/ai/knowledge/page',
@@ -21,29 +21,29 @@ export function getKnowledgePage(params: PageParam) {
); );
} }
// 查询知识库详情 /** 查询知识库详情 */
export function getKnowledge(id: number) { export function getKnowledge(id: number) {
return requestClient.get<AiKnowledgeKnowledgeApi.Knowledge>( return requestClient.get<AiKnowledgeKnowledgeApi.Knowledge>(
`/ai/knowledge/get?id=${id}`, `/ai/knowledge/get?id=${id}`,
); );
} }
// 新增知识库 /** 新增知识库 */
export function createKnowledge(data: AiKnowledgeKnowledgeApi.Knowledge) { export function createKnowledge(data: AiKnowledgeKnowledgeApi.Knowledge) {
return requestClient.post('/ai/knowledge/create', data); return requestClient.post('/ai/knowledge/create', data);
} }
// 修改知识库 /** 修改知识库 */
export function updateKnowledge(data: AiKnowledgeKnowledgeApi.Knowledge) { export function updateKnowledge(data: AiKnowledgeKnowledgeApi.Knowledge) {
return requestClient.put('/ai/knowledge/update', data); return requestClient.put('/ai/knowledge/update', data);
} }
// 删除知识库 /** 删除知识库 */
export function deleteKnowledge(id: number) { export function deleteKnowledge(id: number) {
return requestClient.delete(`/ai/knowledge/delete?id=${id}`); return requestClient.delete(`/ai/knowledge/delete?id=${id}`);
} }
// 获取知识库简单列表 /** 获取知识库简单列表 */
export function getSimpleKnowledgeList() { export function getSimpleKnowledgeList() {
return requestClient.get<AiKnowledgeKnowledgeApi.Knowledge[]>( return requestClient.get<AiKnowledgeKnowledgeApi.Knowledge[]>(
'/ai/knowledge/simple-list', '/ai/knowledge/simple-list',

View File

@@ -3,7 +3,6 @@ import type { PageParam, PageResult } from '@vben/request';
import { requestClient } from '#/api/request'; import { requestClient } from '#/api/request';
export namespace AiKnowledgeSegmentApi { export namespace AiKnowledgeSegmentApi {
// AI 知识库分段
export interface KnowledgeSegment { export interface KnowledgeSegment {
id: number; // 编号 id: number; // 编号
documentId: number; // 文档编号 documentId: number; // 文档编号
@@ -18,7 +17,7 @@ export namespace AiKnowledgeSegmentApi {
} }
} }
// 查询知识库分段分页 /** 查询知识库分段分页 */
export function getKnowledgeSegmentPage(params: PageParam) { export function getKnowledgeSegmentPage(params: PageParam) {
return requestClient.get<PageResult<AiKnowledgeSegmentApi.KnowledgeSegment>>( return requestClient.get<PageResult<AiKnowledgeSegmentApi.KnowledgeSegment>>(
'/ai/knowledge/segment/page', '/ai/knowledge/segment/page',
@@ -26,28 +25,28 @@ export function getKnowledgeSegmentPage(params: PageParam) {
); );
} }
// 查询知识库分段详情 /** 查询知识库分段详情 */
export function getKnowledgeSegment(id: number) { export function getKnowledgeSegment(id: number) {
return requestClient.get<AiKnowledgeSegmentApi.KnowledgeSegment>( return requestClient.get<AiKnowledgeSegmentApi.KnowledgeSegment>(
`/ai/knowledge/segment/get?id=${id}`, `/ai/knowledge/segment/get?id=${id}`,
); );
} }
// 新增知识库分段 /** 新增知识库分段 */
export function createKnowledgeSegment( export function createKnowledgeSegment(
data: AiKnowledgeSegmentApi.KnowledgeSegment, data: AiKnowledgeSegmentApi.KnowledgeSegment,
) { ) {
return requestClient.post('/ai/knowledge/segment/create', data); return requestClient.post('/ai/knowledge/segment/create', data);
} }
// 修改知识库分段 /** 修改知识库分段 */
export function updateKnowledgeSegment( export function updateKnowledgeSegment(
data: AiKnowledgeSegmentApi.KnowledgeSegment, data: AiKnowledgeSegmentApi.KnowledgeSegment,
) { ) {
return requestClient.put('/ai/knowledge/segment/update', data); return requestClient.put('/ai/knowledge/segment/update', data);
} }
// 修改知识库分段状态 /** 修改知识库分段状态 */
export function updateKnowledgeSegmentStatus(id: number, status: number) { export function updateKnowledgeSegmentStatus(id: number, status: number) {
return requestClient.put('/ai/knowledge/segment/update-status', { return requestClient.put('/ai/knowledge/segment/update-status', {
id, id,
@@ -55,26 +54,26 @@ export function updateKnowledgeSegmentStatus(id: number, status: number) {
}); });
} }
// 删除知识库分段 /** 删除知识库分段 */
export function deleteKnowledgeSegment(id: number) { export function deleteKnowledgeSegment(id: number) {
return requestClient.delete(`/ai/knowledge/segment/delete?id=${id}`); return requestClient.delete(`/ai/knowledge/segment/delete?id=${id}`);
} }
// 切片内容 /** 切片内容 */
export function splitContent(url: string, segmentMaxTokens: number) { export function splitContent(url: string, segmentMaxTokens: number) {
return requestClient.get('/ai/knowledge/segment/split', { return requestClient.get('/ai/knowledge/segment/split', {
params: { url, segmentMaxTokens }, params: { url, segmentMaxTokens },
}); });
} }
// 获取文档处理列表 /** 获取文档处理列表 */
export function getKnowledgeSegmentProcessList(documentIds: number[]) { export function getKnowledgeSegmentProcessList(documentIds: number[]) {
return requestClient.get('/ai/knowledge/segment/get-process-list', { return requestClient.get('/ai/knowledge/segment/get-process-list', {
params: { documentIds: documentIds.join(',') }, params: { documentIds: documentIds.join(',') },
}); });
} }
// 搜索知识库分段 /** 搜索知识库分段 */
export function searchKnowledgeSegment(params: any) { export function searchKnowledgeSegment(params: any) {
return requestClient.get('/ai/knowledge/segment/search', { return requestClient.get('/ai/knowledge/segment/search', {
params, params,

View File

@@ -8,7 +8,6 @@ const { apiURL } = useAppConfig(import.meta.env, import.meta.env.PROD);
const accessStore = useAccessStore(); const accessStore = useAccessStore();
export namespace AiMindmapApi { export namespace AiMindmapApi {
// AI 思维导图
export interface MindMap { export interface MindMap {
id: number; // 编号 id: number; // 编号
userId: number; // 用户编号 userId: number; // 用户编号
@@ -19,12 +18,12 @@ export namespace AiMindmapApi {
errorMessage: string; // 错误信息 errorMessage: string; // 错误信息
} }
// AI 思维导图生成
export interface AiMindMapGenerateReqVO { export interface AiMindMapGenerateReqVO {
prompt: string; prompt: string;
} }
} }
/** 生成思维导图 Stream */
export function generateMindMap({ export function generateMindMap({
data, data,
onClose, onClose,

View File

@@ -26,19 +26,19 @@ export namespace AiMusicApi {
} }
} }
// 查询音乐分页 /** 查询音乐分页 */
export function getMusicPage(params: PageParam) { export function getMusicPage(params: PageParam) {
return requestClient.get<PageResult<AiMusicApi.Music>>(`/ai/music/page`, { return requestClient.get<PageResult<AiMusicApi.Music>>(`/ai/music/page`, {
params, params,
}); });
} }
// 更新音乐 /** 更新音乐 */
export function updateMusic(data: any) { export function updateMusic(data: any) {
return requestClient.put('/ai/music/update', data); return requestClient.put('/ai/music/update', data);
} }
// 删除音乐 /** 删除音乐 */
export function deleteMusic(id: number) { export function deleteMusic(id: number) {
return requestClient.delete(`/ai/music/delete?id=${id}`); return requestClient.delete(`/ai/music/delete?id=${id}`);
} }

View File

@@ -36,6 +36,7 @@ export namespace AiWriteApi {
} }
} }
/** 写作 Stream */
export function writeStream({ export function writeStream({
data, data,
onClose, onClose,

View File

@@ -63,7 +63,7 @@ async function handleGenerateImage() {
width: width.value, // 图片宽度 width: width.value, // 图片宽度
height: height.value, // 图片高度 height: height.value, // 图片高度
options: {}, options: {},
} as unknown as AiImageApi.ImageDrawReq; } as unknown as AiImageApi.ImageDrawReqVO;
await drawImage(form); await drawImage(form);
} finally { } finally {
// 回调 // 回调

View File

@@ -116,7 +116,7 @@ async function handleGenerateImage() {
options: { options: {
style: style.value, // 图像生成的风格 style: style.value, // 图像生成的风格
}, },
} as AiImageApi.ImageDrawReq; } as AiImageApi.ImageDrawReqVO;
// 发送请求 // 发送请求
await drawImage(form); await drawImage(form);
} finally { } finally {

View File

@@ -103,7 +103,7 @@ async function handleGenerateImage() {
height: imageSize.height, height: imageSize.height,
version: selectVersion.value, version: selectVersion.value,
referImageUrl: referImageUrl.value, referImageUrl: referImageUrl.value,
} as AiImageApi.ImageMidjourneyImagineReq; } as AiImageApi.ImageMidjourneyImagineReqVO;
await midjourneyImagine(req); await midjourneyImagine(req);
} finally { } finally {
// 回调 // 回调

View File

@@ -103,7 +103,7 @@ async function handleGenerateImage() {
clipGuidancePreset: clipGuidancePreset.value, // 文本提示相匹配的图像 CLIP clipGuidancePreset: clipGuidancePreset.value, // 文本提示相匹配的图像 CLIP
stylePreset: stylePreset.value, // 风格 stylePreset: stylePreset.value, // 风格
}, },
} as unknown as AiImageApi.ImageDrawReq; } as unknown as AiImageApi.ImageDrawReqVO;
await drawImage(form); await drawImage(form);
} finally { } finally {
// 回调 // 回调

View File

@@ -15,7 +15,6 @@ export namespace AiChatConversationApi {
maxTokens: number; // 单条回复的最大 Token 数量 maxTokens: number; // 单条回复的最大 Token 数量
maxContexts: number; // 上下文的最大 Message 数量 maxContexts: number; // 上下文的最大 Message 数量
createTime?: Date; // 创建时间 createTime?: Date; // 创建时间
// 额外字段
systemMessage?: string; // 角色设定 systemMessage?: string; // 角色设定
modelName?: string; // 模型名字 modelName?: string; // 模型名字
roleAvatar?: string; // 角色头像 roleAvatar?: string; // 角色头像
@@ -24,52 +23,52 @@ export namespace AiChatConversationApi {
} }
} }
// 获得【我的】聊天对话 /** 获得【我的】聊天对话 */
export function getChatConversationMy(id: number) { export function getChatConversationMy(id: number) {
return requestClient.get<AiChatConversationApi.ChatConversation>( return requestClient.get<AiChatConversationApi.ChatConversation>(
`/ai/chat/conversation/get-my?id=${id}`, `/ai/chat/conversation/get-my?id=${id}`,
); );
} }
// 新增【我的】聊天对话 /** 新增【我的】聊天对话 */
export function createChatConversationMy( export function createChatConversationMy(
data: AiChatConversationApi.ChatConversation, data: AiChatConversationApi.ChatConversation,
) { ) {
return requestClient.post('/ai/chat/conversation/create-my', data); return requestClient.post('/ai/chat/conversation/create-my', data);
} }
// 更新【我的】聊天对话 /** 更新【我的】聊天对话 */
export function updateChatConversationMy( export function updateChatConversationMy(
data: AiChatConversationApi.ChatConversation, data: AiChatConversationApi.ChatConversation,
) { ) {
return requestClient.put(`/ai/chat/conversation/update-my`, data); return requestClient.put(`/ai/chat/conversation/update-my`, data);
} }
// 删除【我的】聊天对话 /** 删除【我的】聊天对话 */
export function deleteChatConversationMy(id: number) { export function deleteChatConversationMy(id: number) {
return requestClient.delete(`/ai/chat/conversation/delete-my?id=${id}`); return requestClient.delete(`/ai/chat/conversation/delete-my?id=${id}`);
} }
// 删除【我的】所有对话,置顶除外 /** 删除【我的】所有对话,置顶除外 */
export function deleteChatConversationMyByUnpinned() { export function deleteChatConversationMyByUnpinned() {
return requestClient.delete(`/ai/chat/conversation/delete-by-unpinned`); return requestClient.delete(`/ai/chat/conversation/delete-by-unpinned`);
} }
// 获得【我的】聊天对话列表 /** 获得【我的】聊天对话列表 */
export function getChatConversationMyList() { export function getChatConversationMyList() {
return requestClient.get<AiChatConversationApi.ChatConversation[]>( return requestClient.get<AiChatConversationApi.ChatConversation[]>(
`/ai/chat/conversation/my-list`, `/ai/chat/conversation/my-list`,
); );
} }
// 获得【我的】聊天对话列表 /** 获得【我的】聊天对话列表 */
export function getChatConversationPage(params: any) { export function getChatConversationPage(params: any) {
return requestClient.get< return requestClient.get<
PageResult<AiChatConversationApi.ChatConversation[]> PageResult<AiChatConversationApi.ChatConversation[]>
>(`/ai/chat/conversation/page`, { params }); >(`/ai/chat/conversation/page`, { params });
} }
// 管理员删除消息 /** 管理员删除消息 */
export function deleteChatConversationByAdmin(id: number) { export function deleteChatConversationByAdmin(id: number) {
return requestClient.delete(`/ai/chat/conversation/delete-by-admin?id=${id}`); return requestClient.delete(`/ai/chat/conversation/delete-by-admin?id=${id}`);
} }

View File

@@ -19,6 +19,7 @@ export namespace AiChatMessageApi {
model: number; // 模型标志 model: number; // 模型标志
modelId: number; // 模型编号 modelId: number; // 模型编号
content: string; // 聊天内容 content: string; // 聊天内容
reasoningContent?: string; // 推理内容(深度思考)
tokens: number; // 消耗 Token 数量 tokens: number; // 消耗 Token 数量
segmentIds?: number[]; // 段落编号 segmentIds?: number[]; // 段落编号
segments?: { segments?: {
@@ -27,13 +28,25 @@ export namespace AiChatMessageApi {
documentName: string; // 文档名称 documentName: string; // 文档名称
id: number; // 段落编号 id: number; // 段落编号
}[]; }[];
webSearchPages?: WebSearchPage[]; // 联网搜索结果
attachmentUrls?: string[]; // 附件 URL 数组
createTime: Date; // 创建时间 createTime: Date; // 创建时间
roleAvatar: string; // 角色头像 roleAvatar: string; // 角色头像
userAvatar: string; // 用户头像 userAvatar: string; // 用户头像
} }
/** 联网搜索页面接口 */
export interface WebSearchPage {
name: string; // 网站名称
icon: string; // 网站图标 URL
title: string; // 页面标题
url: string; // 页面 URL
snippet: string; // 简短描述
summary: string; // 内容摘要
}
} }
// 消息列表 /** 消息列表 */
export function getChatMessageListByConversationId( export function getChatMessageListByConversationId(
conversationId: null | number, conversationId: null | number,
) { ) {
@@ -42,15 +55,17 @@ export function getChatMessageListByConversationId(
); );
} }
// 发送 Stream 消息 /** 发送 Stream 消息 */
export function sendChatMessageStream( export function sendChatMessageStream(
conversationId: number, conversationId: number,
content: string, content: string,
ctrl: any, ctrl: any,
enableContext: boolean, enableContext: boolean,
enableWebSearch: boolean,
onMessage: any, onMessage: any,
onError: any, onError: any,
onClose: any, onClose: any,
attachmentUrls?: string[],
) { ) {
const token = accessStore.accessToken; const token = accessStore.accessToken;
return fetchEventSource(`${apiURL}/ai/chat/message/send-stream`, { return fetchEventSource(`${apiURL}/ai/chat/message/send-stream`, {
@@ -64,6 +79,8 @@ export function sendChatMessageStream(
conversationId, conversationId,
content, content,
useContext: enableContext, useContext: enableContext,
useSearch: enableWebSearch,
attachmentUrls: attachmentUrls || [],
}), }),
onmessage: onMessage, onmessage: onMessage,
onerror: onError, onerror: onError,
@@ -72,19 +89,19 @@ export function sendChatMessageStream(
}); });
} }
// 删除消息 /** 删除消息 */
export function deleteChatMessage(id: number) { export function deleteChatMessage(id: number) {
return requestClient.delete(`/ai/chat/message/delete?id=${id}`); return requestClient.delete(`/ai/chat/message/delete?id=${id}`);
} }
// 删除指定对话的消息 /** 删除指定对话的消息 */
export function deleteByConversationId(conversationId: number) { export function deleteByConversationId(conversationId: number) {
return requestClient.delete( return requestClient.delete(
`/ai/chat/message/delete-by-conversation-id?conversationId=${conversationId}`, `/ai/chat/message/delete-by-conversation-id?conversationId=${conversationId}`,
); );
} }
// 获得消息分页 /** 获得消息分页 */
export function getChatMessagePage(params: any) { export function getChatMessagePage(params: any) {
return requestClient.get<PageResult<AiChatMessageApi.ChatMessage>>( return requestClient.get<PageResult<AiChatMessageApi.ChatMessage>>(
'/ai/chat/message/page', '/ai/chat/message/page',
@@ -92,7 +109,7 @@ export function getChatMessagePage(params: any) {
); );
} }
// 管理员删除消息 /** 管理员删除消息 */
export function deleteChatMessageByAdmin(id: number) { export function deleteChatMessageByAdmin(id: number) {
return requestClient.delete(`/ai/chat/message/delete-by-admin?id=${id}`); return requestClient.delete(`/ai/chat/message/delete-by-admin?id=${id}`);
} }

View File

@@ -3,14 +3,7 @@ import type { PageParam, PageResult } from '@vben/request';
import { requestClient } from '#/api/request'; import { requestClient } from '#/api/request';
export namespace AiImageApi { export namespace AiImageApi {
export interface ImageMidjourneyButtons { /** 绘图 */
customId: string; // MJ::JOB::upsample::1::85a4b4c1-8835-46c5-a15c-aea34fad1862 动作标识
emoji: string; // 图标 emoji
label: string; // Make Variations 文本
style: number; // 样式: 2Primary、3Green
}
/** AI 绘图 */
export interface Image { export interface Image {
id: number; // 编号 id: number; // 编号
userId: number; userId: number;
@@ -30,7 +23,14 @@ export namespace AiImageApi {
finishTime: Date; // 完成时间 finishTime: Date; // 完成时间
} }
export interface ImageDrawReq { export interface ImageMidjourneyButtons {
customId: string; // MJ::JOB::upsample::1::85a4b4c1-8835-46c5-a15c-aea34fad1862 动作标识
emoji: string; // 图标 emoji
label: string; // Make Variations 文本
style: number; // 样式: 2Primary、3Green
}
export interface ImageDrawReqVO {
prompt: string; // 提示词 prompt: string; // 提示词
modelId: number; // 模型 modelId: number; // 模型
style: string; // 图像生成的风格 style: string; // 图像生成的风格
@@ -39,7 +39,7 @@ export namespace AiImageApi {
options: object; // 绘制参数Map<String, String> options: object; // 绘制参数Map<String, String>
} }
export interface ImageMidjourneyImagineReq { export interface ImageMidjourneyImagineReqVO {
prompt: string; // 提示词 prompt: string; // 提示词
modelId: number; // 模型 modelId: number; // 模型
base64Array?: string[]; // size不能为空 base64Array?: string[]; // size不能为空
@@ -54,60 +54,62 @@ export namespace AiImageApi {
} }
} }
// 获取【我的】绘图分页 /** 获取【我的】绘图分页 */
export function getImagePageMy(params: PageParam) { export function getImagePageMy(params: PageParam) {
return requestClient.get<PageResult<AiImageApi.Image>>('/ai/image/my-page', { return requestClient.get<PageResult<AiImageApi.Image>>('/ai/image/my-page', {
params, params,
}); });
} }
// 获取【我的】绘图记录 /** 获取【我的】绘图记录 */
export function getImageMy(id: number) { export function getImageMy(id: number) {
return requestClient.get<AiImageApi.Image>(`/ai/image/get-my?id=${id}`); return requestClient.get<AiImageApi.Image>(`/ai/image/get-my?id=${id}`);
} }
// 获取【我的】绘图记录列表 /** 获取【我的】绘图记录列表 */
export function getImageListMyByIds(ids: number[]) { export function getImageListMyByIds(ids: number[]) {
return requestClient.get<AiImageApi.Image[]>(`/ai/image/my-list-by-ids`, { return requestClient.get<AiImageApi.Image[]>(`/ai/image/my-list-by-ids`, {
params: { ids: ids.join(',') }, params: { ids: ids.join(',') },
}); });
} }
// 生成图片 /** 生成图片 */
export function drawImage(data: AiImageApi.ImageDrawReq) { export function drawImage(data: AiImageApi.ImageDrawReqVO) {
return requestClient.post(`/ai/image/draw`, data); return requestClient.post(`/ai/image/draw`, data);
} }
// 删除【我的】绘画记录 /** 删除【我的】绘画记录 */
export function deleteImageMy(id: number) { export function deleteImageMy(id: number) {
return requestClient.delete(`/ai/image/delete-my?id=${id}`); return requestClient.delete(`/ai/image/delete-my?id=${id}`);
} }
// ================ midjourney 专属 ================ /** ================ midjourney 专属 ================ */
// 【Midjourney】生成图片 /** 【Midjourney】生成图片 */
export function midjourneyImagine(data: AiImageApi.ImageMidjourneyImagineReq) { export function midjourneyImagine(
data: AiImageApi.ImageMidjourneyImagineReqVO,
) {
return requestClient.post(`/ai/image/midjourney/imagine`, data); return requestClient.post(`/ai/image/midjourney/imagine`, data);
} }
// 【Midjourney】Action 操作(二次生成图片) /** 【Midjourney】Action 操作(二次生成图片) */
export function midjourneyAction(data: AiImageApi.ImageMidjourneyAction) { export function midjourneyAction(data: AiImageApi.ImageMidjourneyAction) {
return requestClient.post(`/ai/image/midjourney/action`, data); return requestClient.post(`/ai/image/midjourney/action`, data);
} }
// ================ 绘图管理 ================ /** ================ 绘图管理 ================ */
// 查询绘画分页 /** 查询绘画分页 */
export function getImagePage(params: any) { export function getImagePage(params: any) {
return requestClient.get<AiImageApi.Image[]>(`/ai/image/page`, { params }); return requestClient.get<AiImageApi.Image[]>(`/ai/image/page`, { params });
} }
// 更新绘画发布状态 /** 更新绘画发布状态 */
export function updateImage(data: any) { export function updateImage(data: any) {
return requestClient.put(`/ai/image/update`, data); return requestClient.put(`/ai/image/update`, data);
} }
// 删除绘画 /** 删除绘画 */
export function deleteImage(id: number) { export function deleteImage(id: number) {
return requestClient.delete(`/ai/image/delete?id=${id}`); return requestClient.delete(`/ai/image/delete?id=${id}`);
} }

View File

@@ -15,39 +15,39 @@ export namespace AiKnowledgeDocumentApi {
} }
} }
// 查询知识库文档分页 /** 查询知识库文档分页 */
export function getKnowledgeDocumentPage(params: PageParam) { export function getKnowledgeDocumentPage(params: PageParam) {
return requestClient.get< return requestClient.get<
PageResult<AiKnowledgeDocumentApi.KnowledgeDocument> PageResult<AiKnowledgeDocumentApi.KnowledgeDocument>
>('/ai/knowledge/document/page', { params }); >('/ai/knowledge/document/page', { params });
} }
// 查询知识库文档详情 /** 查询知识库文档详情 */
export function getKnowledgeDocument(id: number) { export function getKnowledgeDocument(id: number) {
return requestClient.get(`/ai/knowledge/document/get?id=${id}`); return requestClient.get(`/ai/knowledge/document/get?id=${id}`);
} }
// 新增知识库文档(单个) /** 新增知识库文档(单个) */
export function createKnowledge(data: any) { export function createKnowledge(data: any) {
return requestClient.post('/ai/knowledge/document/create', data); return requestClient.post('/ai/knowledge/document/create', data);
} }
// 新增知识库文档(多个) /** 新增知识库文档(多个) */
export function createKnowledgeDocumentList(data: any) { export function createKnowledgeDocumentList(data: any) {
return requestClient.post('/ai/knowledge/document/create-list', data); return requestClient.post('/ai/knowledge/document/create-list', data);
} }
// 修改知识库文档 /** 修改知识库文档 */
export function updateKnowledgeDocument(data: any) { export function updateKnowledgeDocument(data: any) {
return requestClient.put('/ai/knowledge/document/update', data); return requestClient.put('/ai/knowledge/document/update', data);
} }
// 修改知识库文档状态 /** 修改知识库文档状态 */
export function updateKnowledgeDocumentStatus(data: any) { export function updateKnowledgeDocumentStatus(data: any) {
return requestClient.put('/ai/knowledge/document/update-status', data); return requestClient.put('/ai/knowledge/document/update-status', data);
} }
// 删除知识库文档 /** 删除知识库文档 */
export function deleteKnowledgeDocument(id: number) { export function deleteKnowledgeDocument(id: number) {
return requestClient.delete(`/ai/knowledge/document/delete?id=${id}`); return requestClient.delete(`/ai/knowledge/document/delete?id=${id}`);
} }

View File

@@ -13,7 +13,7 @@ export namespace AiKnowledgeKnowledgeApi {
} }
} }
// 查询知识库分页 /** 查询知识库分页 */
export function getKnowledgePage(params: PageParam) { export function getKnowledgePage(params: PageParam) {
return requestClient.get<PageResult<AiKnowledgeKnowledgeApi.Knowledge>>( return requestClient.get<PageResult<AiKnowledgeKnowledgeApi.Knowledge>>(
'/ai/knowledge/page', '/ai/knowledge/page',
@@ -21,29 +21,29 @@ export function getKnowledgePage(params: PageParam) {
); );
} }
// 查询知识库详情 /** 查询知识库详情 */
export function getKnowledge(id: number) { export function getKnowledge(id: number) {
return requestClient.get<AiKnowledgeKnowledgeApi.Knowledge>( return requestClient.get<AiKnowledgeKnowledgeApi.Knowledge>(
`/ai/knowledge/get?id=${id}`, `/ai/knowledge/get?id=${id}`,
); );
} }
// 新增知识库 /** 新增知识库 */
export function createKnowledge(data: AiKnowledgeKnowledgeApi.Knowledge) { export function createKnowledge(data: AiKnowledgeKnowledgeApi.Knowledge) {
return requestClient.post('/ai/knowledge/create', data); return requestClient.post('/ai/knowledge/create', data);
} }
// 修改知识库 /** 修改知识库 */
export function updateKnowledge(data: AiKnowledgeKnowledgeApi.Knowledge) { export function updateKnowledge(data: AiKnowledgeKnowledgeApi.Knowledge) {
return requestClient.put('/ai/knowledge/update', data); return requestClient.put('/ai/knowledge/update', data);
} }
// 删除知识库 /** 删除知识库 */
export function deleteKnowledge(id: number) { export function deleteKnowledge(id: number) {
return requestClient.delete(`/ai/knowledge/delete?id=${id}`); return requestClient.delete(`/ai/knowledge/delete?id=${id}`);
} }
// 获取知识库简单列表 /** 获取知识库简单列表 */
export function getSimpleKnowledgeList() { export function getSimpleKnowledgeList() {
return requestClient.get<AiKnowledgeKnowledgeApi.Knowledge[]>( return requestClient.get<AiKnowledgeKnowledgeApi.Knowledge[]>(
'/ai/knowledge/simple-list', '/ai/knowledge/simple-list',

View File

@@ -3,7 +3,6 @@ import type { PageParam, PageResult } from '@vben/request';
import { requestClient } from '#/api/request'; import { requestClient } from '#/api/request';
export namespace AiKnowledgeSegmentApi { export namespace AiKnowledgeSegmentApi {
// AI 知识库分段
export interface KnowledgeSegment { export interface KnowledgeSegment {
id: number; // 编号 id: number; // 编号
documentId: number; // 文档编号 documentId: number; // 文档编号
@@ -18,7 +17,7 @@ export namespace AiKnowledgeSegmentApi {
} }
} }
// 查询知识库分段分页 /** 查询知识库分段分页 */
export function getKnowledgeSegmentPage(params: PageParam) { export function getKnowledgeSegmentPage(params: PageParam) {
return requestClient.get<PageResult<AiKnowledgeSegmentApi.KnowledgeSegment>>( return requestClient.get<PageResult<AiKnowledgeSegmentApi.KnowledgeSegment>>(
'/ai/knowledge/segment/page', '/ai/knowledge/segment/page',
@@ -26,28 +25,28 @@ export function getKnowledgeSegmentPage(params: PageParam) {
); );
} }
// 查询知识库分段详情 /** 查询知识库分段详情 */
export function getKnowledgeSegment(id: number) { export function getKnowledgeSegment(id: number) {
return requestClient.get<AiKnowledgeSegmentApi.KnowledgeSegment>( return requestClient.get<AiKnowledgeSegmentApi.KnowledgeSegment>(
`/ai/knowledge/segment/get?id=${id}`, `/ai/knowledge/segment/get?id=${id}`,
); );
} }
// 新增知识库分段 /** 新增知识库分段 */
export function createKnowledgeSegment( export function createKnowledgeSegment(
data: AiKnowledgeSegmentApi.KnowledgeSegment, data: AiKnowledgeSegmentApi.KnowledgeSegment,
) { ) {
return requestClient.post('/ai/knowledge/segment/create', data); return requestClient.post('/ai/knowledge/segment/create', data);
} }
// 修改知识库分段 /** 修改知识库分段 */
export function updateKnowledgeSegment( export function updateKnowledgeSegment(
data: AiKnowledgeSegmentApi.KnowledgeSegment, data: AiKnowledgeSegmentApi.KnowledgeSegment,
) { ) {
return requestClient.put('/ai/knowledge/segment/update', data); return requestClient.put('/ai/knowledge/segment/update', data);
} }
// 修改知识库分段状态 /** 修改知识库分段状态 */
export function updateKnowledgeSegmentStatus(id: number, status: number) { export function updateKnowledgeSegmentStatus(id: number, status: number) {
return requestClient.put('/ai/knowledge/segment/update-status', { return requestClient.put('/ai/knowledge/segment/update-status', {
id, id,
@@ -55,26 +54,26 @@ export function updateKnowledgeSegmentStatus(id: number, status: number) {
}); });
} }
// 删除知识库分段 /** 删除知识库分段 */
export function deleteKnowledgeSegment(id: number) { export function deleteKnowledgeSegment(id: number) {
return requestClient.delete(`/ai/knowledge/segment/delete?id=${id}`); return requestClient.delete(`/ai/knowledge/segment/delete?id=${id}`);
} }
// 切片内容 /** 切片内容 */
export function splitContent(url: string, segmentMaxTokens: number) { export function splitContent(url: string, segmentMaxTokens: number) {
return requestClient.get('/ai/knowledge/segment/split', { return requestClient.get('/ai/knowledge/segment/split', {
params: { url, segmentMaxTokens }, params: { url, segmentMaxTokens },
}); });
} }
// 获取文档处理列表 /** 获取文档处理列表 */
export function getKnowledgeSegmentProcessList(documentIds: number[]) { export function getKnowledgeSegmentProcessList(documentIds: number[]) {
return requestClient.get('/ai/knowledge/segment/get-process-list', { return requestClient.get('/ai/knowledge/segment/get-process-list', {
params: { documentIds: documentIds.join(',') }, params: { documentIds: documentIds.join(',') },
}); });
} }
// 搜索知识库分段 /** 搜索知识库分段 */
export function searchKnowledgeSegment(params: any) { export function searchKnowledgeSegment(params: any) {
return requestClient.get('/ai/knowledge/segment/search', { return requestClient.get('/ai/knowledge/segment/search', {
params, params,

View File

@@ -8,7 +8,6 @@ const { apiURL } = useAppConfig(import.meta.env, import.meta.env.PROD);
const accessStore = useAccessStore(); const accessStore = useAccessStore();
export namespace AiMindmapApi { export namespace AiMindmapApi {
// AI 思维导图
export interface MindMap { export interface MindMap {
id: number; // 编号 id: number; // 编号
userId: number; // 用户编号 userId: number; // 用户编号
@@ -19,12 +18,12 @@ export namespace AiMindmapApi {
errorMessage: string; // 错误信息 errorMessage: string; // 错误信息
} }
// AI 思维导图生成
export interface AiMindMapGenerateReqVO { export interface AiMindMapGenerateReqVO {
prompt: string; prompt: string;
} }
} }
/** 生成思维导图 Stream */
export function generateMindMap({ export function generateMindMap({
data, data,
onClose, onClose,

View File

@@ -26,19 +26,19 @@ export namespace AiMusicApi {
} }
} }
// 查询音乐分页 /** 查询音乐分页 */
export function getMusicPage(params: PageParam) { export function getMusicPage(params: PageParam) {
return requestClient.get<PageResult<AiMusicApi.Music>>(`/ai/music/page`, { return requestClient.get<PageResult<AiMusicApi.Music>>(`/ai/music/page`, {
params, params,
}); });
} }
// 更新音乐 /** 更新音乐 */
export function updateMusic(data: any) { export function updateMusic(data: any) {
return requestClient.put('/ai/music/update', data); return requestClient.put('/ai/music/update', data);
} }
// 删除音乐 /** 删除音乐 */
export function deleteMusic(id: number) { export function deleteMusic(id: number) {
return requestClient.delete(`/ai/music/delete?id=${id}`); return requestClient.delete(`/ai/music/delete?id=${id}`);
} }

View File

@@ -36,6 +36,7 @@ export namespace AiWriteApi {
} }
} }
/** 写作 Stream */
export function writeStream({ export function writeStream({
data, data,
onClose, onClose,

View File

@@ -547,7 +547,10 @@ onMounted(async () => {
<template> <template>
<Page auto-content-height> <Page auto-content-height>
<ElContainer class="absolute left-0 top-0 m-4 h-full w-full flex-1"> <ElContainer
direction="horizontal"
class="absolute left-0 top-0 m-4 h-[calc(100%-2rem)] w-[calc(100%-2rem)]"
>
<!-- 左侧对话列表 --> <!-- 左侧对话列表 -->
<ConversationList <ConversationList
class="!bg-card" class="!bg-card"
@@ -560,7 +563,7 @@ onMounted(async () => {
/> />
<!-- 右侧详情部分 --> <!-- 右侧详情部分 -->
<ElContainer class="bg-card mx-4"> <ElContainer direction="vertical" class="bg-card mx-4 flex-1">
<ElHeader <ElHeader
class="!bg-card border-border flex !h-12 items-center justify-between border-b !px-4" class="!bg-card border-border flex !h-12 items-center justify-between border-b !px-4"
> >
@@ -629,9 +632,9 @@ onMounted(async () => {
</div> </div>
</ElMain> </ElMain>
<ElFooter class="!bg-card flex flex-col !p-0"> <ElFooter height="auto" class="!bg-card flex flex-col !p-0">
<form <form
class="border-border mx-4 mb-8 mt-2 flex flex-col rounded-xl border p-2" class="border-border mx-4 mb-4 mt-2 flex flex-col rounded-xl border p-2"
> >
<textarea <textarea
class="box-border h-24 resize-none overflow-auto rounded-md p-2 focus:outline-none" class="box-border h-24 resize-none overflow-auto rounded-md p-2 focus:outline-none"

View File

@@ -69,7 +69,7 @@ async function handleGenerateImage() {
width: width.value, // 图片宽度 width: width.value, // 图片宽度
height: height.value, // 图片高度 height: height.value, // 图片高度
options: {}, options: {},
} as unknown as AiImageApi.ImageDrawReq; } as unknown as AiImageApi.ImageDrawReqVO;
await drawImage(form); await drawImage(form);
} finally { } finally {
// 回调 // 回调

View File

@@ -116,7 +116,7 @@ async function handleGenerateImage() {
options: { options: {
style: style.value, // 图像生成的风格 style: style.value, // 图像生成的风格
}, },
} as AiImageApi.ImageDrawReq; } as AiImageApi.ImageDrawReqVO;
// 发送请求 // 发送请求
await drawImage(form); await drawImage(form);
} finally { } finally {

View File

@@ -144,7 +144,7 @@ async function handleImageMidjourneyButtonClick(
const data = { const data = {
id: imageDetail.id, id: imageDetail.id,
customId: button.customId, customId: button.customId,
} as AiImageApi.ImageMidjourneyAction; } as AiImageApi.ImageMidjourneyActionVO;
// 2. 发送 action // 2. 发送 action
await midjourneyAction(data); await midjourneyAction(data);
// 3. 刷新列表 // 3. 刷新列表

View File

@@ -103,7 +103,7 @@ async function handleGenerateImage() {
height: imageSize.height, height: imageSize.height,
version: selectVersion.value, version: selectVersion.value,
referImageUrl: referImageUrl.value, referImageUrl: referImageUrl.value,
} as AiImageApi.ImageMidjourneyImagineReq; } as AiImageApi.ImageMidjourneyImagineReqVO;
await midjourneyImagine(req); await midjourneyImagine(req);
} finally { } finally {
// 回调 // 回调

View File

@@ -103,7 +103,7 @@ async function handleGenerateImage() {
clipGuidancePreset: clipGuidancePreset.value, // 文本提示相匹配的图像 CLIP clipGuidancePreset: clipGuidancePreset.value, // 文本提示相匹配的图像 CLIP
stylePreset: stylePreset.value, // 风格 stylePreset: stylePreset.value, // 风格
}, },
} as unknown as AiImageApi.ImageDrawReq; } as unknown as AiImageApi.ImageDrawReqVO;
await drawImage(form); await drawImage(form);
} finally { } finally {
// 回调 // 回调