refactor: AccessResultCheck 去掉审批相关按钮和逻辑,简化为两阶段发布

移除:通过/拒绝/发布(approveConfig)按钮、approveConfig/rejectConfig/saveScript 函数、approving/rejecting/saving ref
保留:保存预览版 → 发布正式版 两阶段流程
This commit is contained in:
mediabot-pt
2026-07-07 23:38:48 +08:00
parent 886e2fba70
commit 04fc009a33

View File

@@ -51,11 +51,6 @@
<el-button v-if="hasUnsavedChanges" size="small" @click="resetScript" type="warning">重置</el-button>
<el-button size="small" type="primary" @click="savePreview" :loading="savingPreview" v-if="snapshotStatus">保存预览版</el-button>
<el-button size="small" type="danger" @click="deleteScript" :loading="deleting">删除</el-button>
<template v-if="selectedConfig?.status==='pending'">
<el-button size="small" type="success" @click="approveConfig" :loading="approving">通过</el-button>
<el-button size="small" type="danger" @click="rejectConfig" :loading="rejecting">拒绝</el-button>
</template>
<el-button v-if="selectedConfig?.status!=='pending'" size="small" type="success" @click="approveConfig" :loading="approving">发布</el-button>
<el-button size="small" type="success" @click="publishSnapshot" :loading="publishing" v-if="snapshotStatus?.draft.exists || snapshotStatus?.hasPendingPublish">发布正式版</el-button>
<el-button size="small" type="danger" @click="discardDraftSnapshot" :loading="discardingDraft" v-if="snapshotStatus?.draft.exists">丢弃预览版</el-button>
<el-tag v-if="hasUnsavedChanges" size="small" type="danger" effect="dark">未保存</el-tag>
@@ -160,7 +155,7 @@ const siteId = route.params.siteId
const loading = ref(false), parseLoading = ref(false), scriptExpanded = ref(true), historyVersion = ref(null), urlFilter = ref(''), deleting = ref(false)
const selectedConfigId = ref(null), selectedConfig = ref(null)
const scriptContent = ref(''), originalScript = ref(''), saving = ref(false), approving = ref(false), rejecting = ref(false)
const scriptContent = ref(''), originalScript = ref('')
const savingPreview = ref(false), publishing = ref(false), discardingDraft = ref(false)
const snapshotStatus = ref(null)
const allConfigVersions = ref([]), allResults = ref([])
@@ -292,14 +287,6 @@ const revertScript = async () => {
} catch { ElMessage.error('回滚失败') }
}
const saveScript = async () => {
if (!selectedConfig.value) return
saving.value = true
try { await api.adminConfigs.updateScript(selectedConfig.value.id, scriptContent.value); originalScript.value = scriptContent.value; ElMessage.success('已保存') }
catch(e) { ElMessage.error(e.response?.data?.message||'保存失败') }
finally { saving.value = false }
}
const doBatchParse = async () => {
if (!selectedConfigId.value) return
parseLoading.value = true
@@ -361,24 +348,6 @@ const deleteScript = async () => {
finally { deleting.value = false }
}
const approveConfig = async () => {
if (!selectedConfig.value) return
const label = selectedConfig.value.status==='pending' ? '确认审批?版本号将自动+1' : '确认发布脚本?版本号将+1'
try { await ElMessageBox.confirm(label,'确认',{confirmButtonText:'确认'}) } catch{return}
approving.value = true
try { await api.adminConfigs.approve(selectedConfig.value.id); ElMessage.success('已发布'); loadConfigs() }
catch(e) { ElMessage.error(e.response?.data?.message||'失败') }
finally { approving.value = false }
}
const rejectConfig = async () => {
try { await ElMessageBox.confirm('确认拒绝?','拒绝配置',{confirmButtonText:'确认',type:'warning'}) } catch{return}
rejecting.value = true
try { await api.adminConfigs.reject(selectedConfig.value.id,''); ElMessage.success('已拒绝'); loadConfigs() }
catch(e) { ElMessage.error(e.response?.data?.message||'失败') }
finally { rejecting.value = false }
}
const fmtTime = (t) => t ? t.substring(5,16).replace('T',' ') : '-'
const shortUrl = (u) => {
try { return new URL(u).pathname + new URL(u).search } catch { return u }