(
pluginName: string,
disabled: boolean
)
| 527 | } |
| 528 | |
| 529 | public async setPluginMainPushDisabled( |
| 530 | pluginName: string, |
| 531 | disabled: boolean |
| 532 | ): Promise<{ success: boolean; error?: string }> { |
| 533 | try { |
| 534 | const disabledPluginNames = new Set( |
| 535 | normalizeConfigList(databaseAPI.dbGet(DISABLED_MAIN_PUSH_PLUGINS_KEY)) |
| 536 | ) |
| 537 | const isCurrentlyDisabled = disabledPluginNames.has(pluginName) |
| 538 | if (isCurrentlyDisabled === disabled) { |
| 539 | return { success: true } |
| 540 | } |
| 541 | |
| 542 | if (disabled) { |
| 543 | disabledPluginNames.add(pluginName) |
| 544 | } else { |
| 545 | disabledPluginNames.delete(pluginName) |
| 546 | } |
| 547 | |
| 548 | databaseAPI.dbPut(DISABLED_MAIN_PUSH_PLUGINS_KEY, [...disabledPluginNames]) |
| 549 | this.notifyPluginsChanged() |
| 550 | return { success: true } |
| 551 | } catch (error: unknown) { |
| 552 | console.error('[Plugins] 更新插件 mainPush 状态失败:', error) |
| 553 | return { success: false, error: error instanceof Error ? error.message : '未知错误' } |
| 554 | } |
| 555 | } |
| 556 | |
| 557 | // 获取运行中的插件 |
| 558 | public getRunningPlugins(): string[] { |
no test coverage detected