处理后台管理系统、修复BUG、处理权限

This commit is contained in:
super
2026-04-22 01:09:28 +08:00
parent ea35273597
commit 1e845a1510
88 changed files with 5174 additions and 539 deletions

View File

@@ -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>