fix: 四页面 savePreview 检查 save-preview 响应 code,失败时不误显成功

ApiResponse.error 返回 HTTP 200 + JSON code:400,Axios 当成功处理
前端未检查 code 字段导致误显成功但 draft 实际未创建,发布按钮不出现
This commit is contained in:
mediabot-pt
2026-07-07 23:46:55 +08:00
parent 04fc009a33
commit f65b8d0e2e
4 changed files with 11 additions and 4 deletions

View File

@@ -241,7 +241,9 @@ const savePreview = async () => {
// 先自动保存脚本 // 先自动保存脚本
if (selectedConfig.value) { await api.adminConfigs.updateScript(selectedConfig.value.id, scriptContent.value); originalScript.value = scriptContent.value } if (selectedConfig.value) { await api.adminConfigs.updateScript(selectedConfig.value.id, scriptContent.value); originalScript.value = scriptContent.value }
// 再拍快照 // 再拍快照
await api.raw.post('/admin/sites/' + siteId + '/save-preview'); ElMessage.success('预览版已保存'); fetchSnapshotStatus() const r = await api.raw.post('/admin/sites/' + siteId + '/save-preview')
if (r.code !== 200) { ElMessage.error(r.message || '保存预览版失败'); return }
ElMessage.success('预览版已保存'); fetchSnapshotStatus()
} catch { ElMessage.error('保存预览版失败') } } catch { ElMessage.error('保存预览版失败') }
finally { savingPreview.value = false } finally { savingPreview.value = false }
} }

View File

@@ -396,7 +396,9 @@ const savePreview = async () => {
await api.raw.post('/risk-rules/' + editType.value, { rules: parsed.value }) await api.raw.post('/risk-rules/' + editType.value, { rules: parsed.value })
originalJson.value = editorJson.value originalJson.value = editorJson.value
// 再拍快照 // 再拍快照
await api.raw.post('/admin/sites/' + editType.value + '/save-preview'); ElMessage.success('预览版已保存'); fetchSnapshotStatus() const r = await api.raw.post('/admin/sites/' + editType.value + '/save-preview')
if (r.code !== 200) { ElMessage.error(r.message || '保存预览版失败'); return }
ElMessage.success('预览版已保存'); fetchSnapshotStatus()
} catch { ElMessage.error('保存预览版失败') } } catch { ElMessage.error('保存预览版失败') }
finally { savingPreview.value = false } finally { savingPreview.value = false }
} }

View File

@@ -245,7 +245,9 @@ const savePreview = async () => {
await api.raw.put(url, { entries: parsed.value, authType: authType.value }) await api.raw.put(url, { entries: parsed.value, authType: authType.value })
originalJson.value = editorJson.value originalJson.value = editorJson.value
// 再拍快照 // 再拍快照
await api.raw.post('/admin/sites/' + editSiteId.value + '/save-preview'); ElMessage.success('预览版已保存'); fetchSnapshotStatus() const r = await api.raw.post('/admin/sites/' + editSiteId.value + '/save-preview')
if (r.code !== 200) { ElMessage.error(r.message || '保存预览版失败'); return }
ElMessage.success('预览版已保存'); fetchSnapshotStatus()
} catch { ElMessage.error('保存预览版失败') } } catch { ElMessage.error('保存预览版失败') }
finally { savingPreview.value = false } finally { savingPreview.value = false }
} }

View File

@@ -186,7 +186,8 @@ const savePreview = async () => {
await api.raw.put('/sites/' + s.siteId, {names:s.names||[],urls:s.urls||[],tags:s.tags||[],description:s.description||'',siteType:s.siteType||'unknown',status:s.status||'active'}) await api.raw.put('/sites/' + s.siteId, {names:s.names||[],urls:s.urls||[],tags:s.tags||[],description:s.description||'',siteType:s.siteType||'unknown',status:s.status||'active'})
originalJson.value = editorJson.value originalJson.value = editorJson.value
// 再拍快照 // 再拍快照
await api.raw.post('/admin/sites/' + editSiteId.value + '/save-preview') const r = await api.raw.post('/admin/sites/' + editSiteId.value + '/save-preview')
if (r.code !== 200) { ElMessage.error(r.message || '保存预览版失败'); return }
ElMessage.success('预览版已保存') ElMessage.success('预览版已保存')
fetchSnapshotStatus() fetchSnapshotStatus()
} catch { ElMessage.error('保存预览版失败') } } catch { ElMessage.error('保存预览版失败') }