import type { GetSessionListVO, ModelApiTypeOption, ModelLibraryDto, ModelLibraryGetListInput, ModelTypeOption, PagedResultDto } from './types'; import { del, get, post, put } from '@/utils/request'; // 获取当前用户的模型列表 export function getModelList() { return get('/ai-chat/model').json(); } // 获取模型库列表(公开接口,无需登录) export function getModelLibraryList(params?: ModelLibraryGetListInput) { const queryParams = new URLSearchParams(); if (params?.searchKey) { queryParams.append('SearchKey', params.searchKey); } if (params?.providerName) { queryParams.append('ProviderName', params.providerName); } if (params?.modelType !== undefined) { queryParams.append('ModelType', params.modelType.toString()); } if (params?.modelApiType !== undefined) { queryParams.append('ModelApiType', params.modelApiType.toString()); } 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 ? `/model?${queryString}` : '/model'; return get>(url).json(); } // 获取供应商列表(公开接口,无需登录) export function getProviderList() { return get('/model/provider-list').json(); } // 获取模型类型选项列表(公开接口,无需登录) export function getModelTypeOptions() { return get('/model/model-type-options').json(); } // 获取API类型选项列表(公开接口,无需登录) export function getApiTypeOptions() { return get('/model/api-type-options').json(); } // 申请ApiKey export function applyApiKey() { return post('/token').json(); } // 获取ApiKey export function getApiKey() { return get('/token').json(); } // 查询充值记录 export function getRechargeLog() { return get('/recharge/account').json(); } // 查询用户近7天token消耗 // tokenId: 可选,传入则查询该token的用量,不传则查询全部 export function getLast7DaysTokenUsage(tokenId?: string) { const url = tokenId ? `/usage-statistics/last7Days-token-usage?tokenId=${tokenId}` : '/usage-statistics/last7Days-token-usage'; return get(url).json(); } // 查询用户token消耗各模型占比 // tokenId: 可选,传入则查询该token的用量,不传则查询全部 export function getModelTokenUsage(tokenId?: string) { const url = tokenId ? `/usage-statistics/model-token-usage?tokenId=${tokenId}` : '/usage-statistics/model-token-usage'; return get(url).json(); } // 获取当前用户得token列表 export function getTokenList(params?: { skipCount?: number; maxResultCount?: number; orderByColumn?: string; isAsc?: string; }) { // 构建查询参数 const queryParams = new URLSearchParams(); if (params?.skipCount !== undefined) { queryParams.append('SkipCount', params.skipCount.toString()); } if (params?.maxResultCount !== undefined) { queryParams.append('MaxResultCount', params.maxResultCount.toString()); } if (params?.orderByColumn) { queryParams.append('OrderByColumn', params.orderByColumn); } if (params?.isAsc) { queryParams.append('IsAsc', params.isAsc); } const queryString = queryParams.toString(); const url = queryString ? `/token/list?${queryString}` : '/token/list'; return get(url).json(); } // 创建token export function createToken(data: any) { return post('/token', data).json(); } // 编辑token export function editToken(data: any) { return put('/token', data).json(); } // 删除token export function deleteToken(id: string) { return del(`/token/${id}`).json(); } // 启用token export function enableToken(id: string) { return post(`/token/${id}/enable`).json(); } // 禁用token export function disableToken(id: string) { return post(`/token/${id}/disable`).json(); } // 新增接口2 // 获取可选择的token信息 export function getSelectableTokenInfo() { return get('/token/select-list').json(); } /* 返回数据 [ { "tokenId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "name": "string", "isDisabled": true } ] */ // 获取当前用户尊享包不同token用量占比(饼图) export function getPremiumPackageTokenUsage() { return get('/usage-statistics/premium-token-usage/by-token').json(); } /* 返回数据 [ { "tokenId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "tokenName": "string", "tokens": 0, "percentage": 0 } ] */