Files
Yi.Admin/Yi.Ai.Vue3/src/api/channel/index.ts
2026-01-01 18:53:26 +08:00

101 lines
2.8 KiB
TypeScript

import { del, get, post, put } from '@/utils/request';
import type {
AiAppDto,
AiAppCreateInput,
AiAppUpdateInput,
AiAppGetListInput,
AiModelDto,
AiModelCreateInput,
AiModelUpdateInput,
AiModelGetListInput,
PagedResultDto,
} from './types';
// ==================== AI应用管理 ====================
// 获取AI应用列表
export function getAppList(params?: AiAppGetListInput) {
const queryParams = new URLSearchParams();
if (params?.searchKey) {
queryParams.append('SearchKey', params.searchKey);
}
if (params?.skipCount !== undefined) {
queryParams.append('SkipCount', params.skipCount.toString());
}
if (params?.maxResultCount !== undefined) {
queryParams.append('MaxResultCount', params.maxResultCount.toString());
}
const queryString = queryParams.toString();
const url = queryString ? `/channel/app?${queryString}` : '/channel/app';
return get<PagedResultDto<AiAppDto>>(url).json();
}
// 根据ID获取AI应用
export function getAppById(id: string) {
return get<AiAppDto>(`/channel/app/${id}`).json();
}
// 创建AI应用
export function createApp(data: AiAppCreateInput) {
return post<AiAppDto>('/channel/app', data).json();
}
// 更新AI应用
export function updateApp(data: AiAppUpdateInput) {
return put<AiAppDto>('/channel/app', data).json();
}
// 删除AI应用
export function deleteApp(id: string) {
return del(`/channel/app/${id}`).json();
}
// ==================== AI模型管理 ====================
// 获取AI模型列表
export function getModelList(params?: AiModelGetListInput) {
const queryParams = new URLSearchParams();
if (params?.searchKey) {
queryParams.append('SearchKey', params.searchKey);
}
if (params?.aiAppId) {
queryParams.append('AiAppId', params.aiAppId);
}
if (params?.isPremiumOnly !== undefined) {
queryParams.append('IsPremiumOnly', params.isPremiumOnly.toString());
}
if (params?.skipCount !== undefined) {
queryParams.append('SkipCount', params.skipCount.toString());
}
if (params?.maxResultCount !== undefined) {
queryParams.append('MaxResultCount', params.maxResultCount.toString());
}
const queryString = queryParams.toString();
const url = queryString ? `/channel/model?${queryString}` : '/channel/model';
return get<PagedResultDto<AiModelDto>>(url).json();
}
// 根据ID获取AI模型
export function getModelById(id: string) {
return get<AiModelDto>(`/channel/model/${id}`).json();
}
// 创建AI模型
export function createModel(data: AiModelCreateInput) {
return post<AiModelDto>('/channel/model', data).json();
}
// 更新AI模型
export function updateModel(data: AiModelUpdateInput) {
return put<AiModelDto>('/channel/model', data).json();
}
// 删除AI模型
export function deleteModel(id: string) {
return del(`/channel/model/${id}`).json();
}