更新 金票普票筛选和自动脚本消费主播过滤
This commit is contained in:
@@ -250,6 +250,24 @@ onMounted(() => {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
// 监听过滤器变化,同步到后端配置
|
||||||
|
watch(() => filters.value, async (newFilters) => {
|
||||||
|
if (!isElectron()) return
|
||||||
|
try {
|
||||||
|
await window.electronAPI.updateAutomationConfig({
|
||||||
|
filters: {
|
||||||
|
gold: newFilters.gold,
|
||||||
|
ordinary: newFilters.ordinary,
|
||||||
|
minOnlineFans: newFilters.minOnlineFans ? parseInt(newFilters.minOnlineFans) : 0,
|
||||||
|
maxOnlineFans: newFilters.maxOnlineFans ? parseInt(newFilters.maxOnlineFans) : 0,
|
||||||
|
}
|
||||||
|
})
|
||||||
|
console.log('[HostListDialog] 过滤配置已同步:', newFilters)
|
||||||
|
} catch (e) {
|
||||||
|
console.error('同步过滤配置失败:', e)
|
||||||
|
}
|
||||||
|
}, { deep: true })
|
||||||
|
|
||||||
// Loading
|
// Loading
|
||||||
const loadHosts = async () => {
|
const loadHosts = async () => {
|
||||||
if (!isElectron()) return
|
if (!isElectron()) return
|
||||||
@@ -272,6 +290,20 @@ const loadConfig = async () => {
|
|||||||
if (config?.filters?.hostsLevelList) {
|
if (config?.filters?.hostsLevelList) {
|
||||||
selectedLevels.value = new Set(config.filters.hostsLevelList)
|
selectedLevels.value = new Set(config.filters.hostsLevelList)
|
||||||
}
|
}
|
||||||
|
// 加载金票/普票过滤配置
|
||||||
|
if (config?.filters?.gold !== undefined) {
|
||||||
|
filters.value.gold = config.filters.gold
|
||||||
|
}
|
||||||
|
if (config?.filters?.ordinary !== undefined) {
|
||||||
|
filters.value.ordinary = config.filters.ordinary
|
||||||
|
}
|
||||||
|
// 加载在线人数过滤配置
|
||||||
|
if (config?.filters?.minOnlineFans !== undefined && config.filters.minOnlineFans > 0) {
|
||||||
|
filters.value.minOnlineFans = config.filters.minOnlineFans
|
||||||
|
}
|
||||||
|
if (config?.filters?.maxOnlineFans !== undefined && config.filters.maxOnlineFans > 0 && config.filters.maxOnlineFans < 9999999999999) {
|
||||||
|
filters.value.maxOnlineFans = config.filters.maxOnlineFans
|
||||||
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error('加载配置失败:', e)
|
console.error('加载配置失败:', e)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -706,13 +706,40 @@ const handleStart = async (specificGroupIndex) => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
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))
|
||||||
return window.electronAPI.startTikTokAutomation(viewId, account)
|
return window.electronAPI.startTikTokAutomation(viewId, account)
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// 检查启动结果
|
||||||
|
const failedResults = results
|
||||||
|
.map((r, i) => ({ result: r, task: startTasks[i] }))
|
||||||
|
.filter(({ result }) => {
|
||||||
|
if (result.status === 'rejected') return true
|
||||||
|
if (result.status === 'fulfilled' && !result.value.success) return true
|
||||||
|
return false
|
||||||
|
})
|
||||||
|
|
||||||
|
// 如果全部失败,显示错误并不跳转
|
||||||
|
if (failedResults.length === startTasks.length) {
|
||||||
|
const firstError = failedResults[0]
|
||||||
|
let errorMsg = '启动失败'
|
||||||
|
if (firstError.result.status === 'rejected') {
|
||||||
|
errorMsg = firstError.result.reason?.message || '启动失败'
|
||||||
|
} else if (firstError.result.status === 'fulfilled') {
|
||||||
|
errorMsg = firstError.result.value.error || '启动失败'
|
||||||
|
}
|
||||||
|
alert(`启动失败:${errorMsg}`)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// 如果部分失败,显示警告但继续
|
||||||
|
if (failedResults.length > 0) {
|
||||||
|
console.warn(`部分账号启动失败: ${failedResults.length}/${startTasks.length}`)
|
||||||
|
}
|
||||||
|
|
||||||
setIsRunning(true)
|
setIsRunning(true)
|
||||||
currentGroupIndex.value = activeGroupIndex
|
currentGroupIndex.value = activeGroupIndex
|
||||||
const status = await window.electronAPI.getRotationStatus()
|
const status = await window.electronAPI.getRotationStatus()
|
||||||
|
|||||||
Reference in New Issue
Block a user