diff --git a/frontend/src/admin/EditorView.vue b/frontend/src/admin/EditorView.vue index ffc5f35..536ca93 100644 --- a/frontend/src/admin/EditorView.vue +++ b/frontend/src/admin/EditorView.vue @@ -317,7 +317,7 @@ function buildPayload() { async function save(status) { if (status) form.status = status if (!isEdit.value && !form.content_md.trim() && !form.title.trim()) { - error.value = '先写点什么再保存' + toastErr('先写点什么再保存') return } saving.value = true @@ -331,12 +331,17 @@ async function save(status) { const created = await adminApi.createPost(payload) localStorage.removeItem(DRAFT_KEY) dirty.value = false + toastOk('已创建') router.replace(`/admin/${created.id}`) return } dirty.value = false savedAt.value = new Date().toLocaleTimeString('zh-CN', { hour12: false }) + // 手动保存(按钮/⌘S/发布)给回音;自动保存静默,不打扰 + const label = status === 'published' ? '已发布' : status === 'draft' ? '已转回草稿' : '已保存' + toastOk(label + ' · ' + savedAt.value) } catch (e) { + toastErr(e.message || '保存失败') error.value = e.message || '保存失败' } finally { saving.value = false