( pluginManager: PluginManager | null, event: IpcMainInvokeEvent )
| 44 | * @returns 是否允许调用(内置插件或主渲染进程) |
| 45 | */ |
| 46 | export function requireInternalPlugin( |
| 47 | pluginManager: PluginManager | null, |
| 48 | event: IpcMainInvokeEvent |
| 49 | ): boolean { |
| 50 | if (!pluginManager) return true // 没有 pluginManager,允许通过 |
| 51 | const pluginInfo = pluginManager.getPluginInfoByWebContents(event.sender) |
| 52 | |
| 53 | if (!pluginInfo) { |
| 54 | // 不是插件调用(可能是主渲染进程),允许通过 |
| 55 | return true |
| 56 | } |
| 57 | |
| 58 | // 检查是否拥有内部 API 权限 |
| 59 | return pluginInfo.canUseInternalApi |
| 60 | } |
| 61 | |
| 62 | /** |
| 63 | * 内置插件专用 API 类 |
no test coverage detected