优化
This commit is contained in:
@@ -517,7 +517,11 @@ const saveToLocalStorage = () => {
|
|||||||
const saveToFile = async () => {
|
const saveToFile = async () => {
|
||||||
if (!isElectronEnv) return
|
if (!isElectronEnv) return
|
||||||
try {
|
try {
|
||||||
await window.electronAPI.saveRunConfig(JSON.parse(JSON.stringify(config.value)))
|
const configToSave = JSON.parse(JSON.stringify(config.value))
|
||||||
|
// ConfigPage 不管理 filters,HostListDialog 会单独管理
|
||||||
|
// 删除 filters 避免用 ConfigPage 中可能过期的状态覆盖后端
|
||||||
|
delete configToSave.filters
|
||||||
|
await window.electronAPI.saveRunConfig(configToSave)
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error('保存配置失败:', e)
|
console.error('保存配置失败:', e)
|
||||||
}
|
}
|
||||||
@@ -706,6 +710,15 @@ const handleStart = async (specificGroupIndex) => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 预热所有视图,确保后台视图完成渲染,解决自动化执行失败问题
|
||||||
|
try {
|
||||||
|
console.log('[ConfigPage] 预热所有视图...')
|
||||||
|
await window.electronAPI.warmUpViews()
|
||||||
|
console.log('[ConfigPage] 视图预热完成')
|
||||||
|
} catch (e) {
|
||||||
|
console.warn('[ConfigPage] 视图预热失败,继续启动:', e)
|
||||||
|
}
|
||||||
|
|
||||||
const results = await Promise.allSettled(
|
const results = await Promise.allSettled(
|
||||||
startTasks.map(async ({ viewId, account, delay }) => {
|
startTasks.map(async ({ viewId, account, delay }) => {
|
||||||
await new Promise(r => setTimeout(r, delay))
|
await new Promise(r => setTimeout(r, delay))
|
||||||
|
|||||||
1
src/types/electron.d.ts
vendored
1
src/types/electron.d.ts
vendored
@@ -81,6 +81,7 @@ export interface ElectronAPI {
|
|||||||
// 基础视图控制
|
// 基础视图控制
|
||||||
hideViews: () => Promise<{ success: boolean }>
|
hideViews: () => Promise<{ success: boolean }>
|
||||||
showViews: () => Promise<{ success: boolean }>
|
showViews: () => Promise<{ success: boolean }>
|
||||||
|
warmUpViews: () => Promise<{ success: boolean; error?: string }>
|
||||||
switchTab: (tab: TabId) => Promise<{ success: boolean; currentTab?: TabId; error?: string }>
|
switchTab: (tab: TabId) => Promise<{ success: boolean; currentTab?: TabId; error?: string }>
|
||||||
switchToView: (viewId: number) => Promise<{ success: boolean; currentViewId?: number; error?: string }>
|
switchToView: (viewId: number) => Promise<{ success: boolean; currentViewId?: number; error?: string }>
|
||||||
getCurrentTab: () => Promise<TabId>
|
getCurrentTab: () => Promise<TabId>
|
||||||
|
|||||||
Reference in New Issue
Block a user