处理后台管理系统、修复BUG、处理权限
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
<template>
|
||||
<template>
|
||||
<div class="page-shell module-page">
|
||||
<BrandTopBar active="delete-brand" />
|
||||
|
||||
@@ -225,6 +225,7 @@ import {
|
||||
type DeleteBrandTaskDetailVo,
|
||||
} from '@/shared/api/java-modules'
|
||||
import { getPywebviewApi, type UploadedJavaFile } from '@/shared/bridges/pywebview'
|
||||
import { getTaskPollIntervalMs } from '@/shared/task-progress-config'
|
||||
|
||||
interface SessionDeleteBrandItem extends DeleteBrandResultItem {
|
||||
_pushed?: boolean
|
||||
@@ -261,6 +262,7 @@ const chainStarted = ref(false)
|
||||
const activeItemKey = ref('')
|
||||
const autoAdvancing = ref(false)
|
||||
const autoRetryTimer = ref<number | null>(null)
|
||||
const waitingForBackendRecovery = ref(false)
|
||||
const displayPaths = computed(() => selectedPaths.value.slice(0, 10))
|
||||
|
||||
const currentSectionItems = computed(() => {
|
||||
@@ -855,6 +857,10 @@ async function refreshTaskDetails(taskIds?: number[]) {
|
||||
|
||||
try {
|
||||
const batch = await getDeleteBrandTaskProgress(ids)
|
||||
if (waitingForBackendRecovery.value && chainStarted.value) {
|
||||
queuePushResult.value = '后端已恢复,继续执行当前任务并自动衔接后续任务...'
|
||||
}
|
||||
waitingForBackendRecovery.value = false
|
||||
let changed = false
|
||||
for (const detail of batch.items || []) {
|
||||
const id = detail?.task?.id
|
||||
@@ -875,13 +881,14 @@ async function refreshTaskDetails(taskIds?: number[]) {
|
||||
const message = (error instanceof Error ? error.message : String(error || '')).toLowerCase()
|
||||
const transient = ['无法连接到后端服务', 'bad gateway', 'gateway timeout', 'network error', 'timeout', '502', '503', '504'].some((pattern) => message.includes(pattern.toLowerCase()))
|
||||
if (transient && chainStarted.value) {
|
||||
waitingForBackendRecovery.value = true
|
||||
queuePushResult.value = '当前任务运行中,正在等待后端服务恢复...'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function getPollIntervalMs() {
|
||||
return document.visibilityState === 'visible' ? 6000 : 20000
|
||||
return getTaskPollIntervalMs()
|
||||
}
|
||||
|
||||
function scheduleNextPoll(immediate = false) {
|
||||
@@ -1898,3 +1905,4 @@ onUnmounted(() => {
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user