feat: 增加服务端插件的获取

release/desktop
moonrailgun 3 years ago
parent 86c2456fbf
commit 5ad4448988

@ -3,6 +3,7 @@ import { findGroupInviteByCode, GroupInvite } from '../model/group';
import {
fetchGithubStaticRegistryPlugins,
fetchRegistryPlugins,
fetchServiceRegistryPlugins,
PluginManifest,
} from '../model/plugin';
import { fetchUserInfo, UserBaseInfo } from '../model/user';
@ -60,9 +61,10 @@ export async function getCachedRegistryPlugins(): Promise<PluginManifest[]> {
['pluginRegistry'],
() =>
Promise.all([
fetchRegistryPlugins(),
fetchGithubStaticRegistryPlugins(),
]).then(([a, b]) => [...a, ...b]),
fetchRegistryPlugins().catch(() => []),
fetchServiceRegistryPlugins().catch(() => []),
fetchGithubStaticRegistryPlugins().catch(() => []),
]).then(([a, b, c]) => [...a, ...b, ...c]),
{
staleTime: 2 * 60 * 60 * 1000, // 缓存2小时
}

@ -49,14 +49,32 @@ export interface PluginManifest {
requireRestart: boolean;
}
/**
*
*
*
*/
export async function fetchRegistryPlugins(): Promise<PluginManifest[]> {
const { data } = await request.get('/api/plugin/registry/list');
return data;
}
/**
*
*
*
*/
export async function fetchServiceRegistryPlugins() {
const { data } = await request.get('/registry.json');
return data;
}
/**
* Github
*
*
*/
export async function fetchGithubStaticRegistryPlugins(): Promise<
PluginManifest[]

Loading…
Cancel
Save