feat: add deps envs manager

This commit is contained in:
engigu
2025-12-22 00:09:40 +08:00
parent db6a5574e6
commit 179aad970f
9 changed files with 914 additions and 1 deletions
+27
View File
@@ -170,6 +170,20 @@ export const api = {
}
if (json.code !== 200) throw new Error(json.msg || '上传失败')
}
},
runtime: {
getAvailable: () => request<string[]>('/runtime'),
listEnvs: (type: string) => request<RuntimeEnv[]>(`/runtime/${type}/envs`),
createEnv: (type: string, name: string, version?: string) =>
request(`/runtime/${type}/envs`, { method: 'POST', body: JSON.stringify({ name, version }) }),
deleteEnv: (type: string, name: string) =>
request(`/runtime/${type}/envs/${name}`, { method: 'DELETE' }),
listPackages: (type: string, envName: string) =>
request<RuntimePackage[]>(`/runtime/${type}/envs/${envName}/packages`),
installPackage: (type: string, envName: string, packageName: string) =>
request(`/runtime/${type}/envs/${envName}/packages`, { method: 'POST', body: JSON.stringify({ package: packageName }) }),
uninstallPackage: (type: string, envName: string, packageName: string) =>
request(`/runtime/${type}/envs/${envName}/packages`, { method: 'DELETE', body: JSON.stringify({ package: packageName }) })
}
}
@@ -305,3 +319,16 @@ export interface TaskStatsItem {
task_name: string
count: number
}
export interface RuntimeEnv {
name: string
path: string
version: string
active: boolean
}
export interface RuntimePackage {
name: string
version: string
channel?: string
}