diff --git a/frontend/packages/businessEntry/src/hooks/pluginLoader.ts b/frontend/packages/businessEntry/src/hooks/pluginLoader.ts index ace76e98..4a7a7a8a 100644 --- a/frontend/packages/businessEntry/src/hooks/pluginLoader.ts +++ b/frontend/packages/businessEntry/src/hooks/pluginLoader.ts @@ -345,7 +345,7 @@ const usePluginLoader = () => { // resetRouterConfig(routerConfig); console.log(routerConfig) // setFinalRouterConfig(routerConfig) - installPlugin(routerConfig, executeList).then((res)=>{ + installPlugin(routerConfig).then((res)=>{ resolve(res) }) // .then(async () => { @@ -356,7 +356,7 @@ const usePluginLoader = () => { }); }; - const installPlugin = (routerConfig: any[], executeList: never[]) => { + const installPlugin = (routerConfig: any[]) => { return new Promise((resolve, reject) => { // fetchData('system/plugins',{method:'GET'}).then((resp) => { // if (resp.code === 0){ @@ -385,7 +385,7 @@ const usePluginLoader = () => { } console.log(driverName) const driver = driverName.split('.').reduce((driverMethod: { [x: string]: any; }, driverName: string | number) => driverMethod[driverName], driverMethod); - driver({ routerConfig, executeList, pluginLoader, pluginProvider, pluginLifecycleGuard, builtInPluginLoader }, plugin); + driver({ routerConfig, setExecuteList, pluginLoader, pluginProvider, pluginLifecycleGuard, builtInPluginLoader }, plugin); } catch (err) { console.warn('安装插件出错:', err); } diff --git a/frontend/packages/businessEntry/src/utils/plugin.ts b/frontend/packages/businessEntry/src/utils/plugin.ts index 167bad8f..2988e6b8 100644 --- a/frontend/packages/businessEntry/src/utils/plugin.ts +++ b/frontend/packages/businessEntry/src/utils/plugin.ts @@ -60,7 +60,7 @@ interface PluginConfig { export interface CoreObj { routerConfig: RouteConfig[]; - executeList: unknown[]; + setExecuteList: (param:unknown[])=>void; pluginLoader: PluginLoaderService; pluginLifecycleGuard: PluginLifecycleGuard; pluginProvider: PluginProviderService; @@ -174,7 +174,7 @@ export const ApiparkPluginDriver:{[key:string]:{[key:string]:(coreObj?:CoreObj, }, preload: (coreObj?:CoreObj, pluginConfig?:PluginConfig) => { if(!coreObj || !pluginConfig) return coreObj - coreObj.executeList.push({ ...pluginConfig, expose: 'Bootstrap', bootstrap: 'BootstrapModule.bootstrap' }) + coreObj.setExecuteList(prev=>[...prev,{ ...pluginConfig, expose: 'Bootstrap', bootstrap: 'BootstrapModule.bootstrap' }]) for (const pluginRouter of pluginConfig.router) { updateRouterConfigWithPlugin(coreObj, pluginRouter, pluginConfig) }