mirror of
https://github.com/jxxghp/MoviePilot-Frontend.git
synced 2026-08-30 04:26:43 +08:00
- manage.ts 扩展 manageLlmProvider,端点联合类型纳入 llm/manage - useLlmProviderDirectory 的目录/模型查询、授权启动/轮询/断开 全部改走 POST /llm/manage(target+action+params 透传) - 系统设置页 LLM 测试调用改走 manage,provider 字段转为 target - 同步更新 composable 与系统设置页测试断言(GET mock 转 POST)
54 lines
1.8 KiB
TypeScript
54 lines
1.8 KiB
TypeScript
import type { AxiosRequestConfig } from 'axios'
|
|
import api from './index'
|
|
|
|
/** 通用管理请求:目标标识 + 管理动作 + 透传参数,与后端 ManageRequest 一致。 */
|
|
export interface ManageRequest {
|
|
target: string
|
|
action: string
|
|
params?: Record<string, unknown>
|
|
}
|
|
|
|
/**
|
|
* 调用统一管理端点(通知渠道 / 网盘存储 / LLM 提供商)
|
|
*
|
|
* 端点层不定义任何目标特定的名称与参数,
|
|
* 目标标识、管理动作与表单参数原样透传给后端模块
|
|
*/
|
|
function manageTarget<T = Record<string, unknown>>(
|
|
endpoint: 'notification/manage' | 'storage/manage' | 'llm/manage',
|
|
request: ManageRequest,
|
|
config?: AxiosRequestConfig,
|
|
): Promise<T> {
|
|
return api.post<T>(endpoint, { params: {}, ...request }, config)
|
|
}
|
|
|
|
/** 对指定通知渠道执行管理动作,返回响应中的业务数据。 */
|
|
export function manageNotificationChannel<T = Record<string, unknown>>(
|
|
channel: string,
|
|
action: string,
|
|
params: Record<string, unknown> = {},
|
|
config?: AxiosRequestConfig,
|
|
): Promise<T> {
|
|
return manageTarget<T>('notification/manage', { target: channel, action, params }, config)
|
|
}
|
|
|
|
/** 对指定网盘存储执行管理动作,返回响应中的业务数据。 */
|
|
export function manageStorage<T = Record<string, unknown>>(
|
|
storage: string,
|
|
action: string,
|
|
params: Record<string, unknown> = {},
|
|
config?: AxiosRequestConfig,
|
|
): Promise<T> {
|
|
return manageTarget<T>('storage/manage', { target: storage, action, params }, config)
|
|
}
|
|
|
|
/** 对指定 LLM 提供商执行管理动作,返回响应中的业务数据。 */
|
|
export function manageLlmProvider<T = Record<string, unknown>>(
|
|
provider: string,
|
|
action: string,
|
|
params: Record<string, unknown> = {},
|
|
config?: AxiosRequestConfig,
|
|
): Promise<T> {
|
|
return manageTarget<T>('llm/manage', { target: provider, action, params }, config)
|
|
}
|