diff --git a/open-isle-cli/src/views/NewPostPageView.vue b/open-isle-cli/src/views/NewPostPageView.vue index 0a3b564cc..b86db0ff7 100644 --- a/open-isle-cli/src/views/NewPostPageView.vue +++ b/open-isle-cli/src/views/NewPostPageView.vue @@ -11,6 +11,9 @@
+
+ 清空 +
存草稿
发布
发布中...
@@ -55,12 +58,38 @@ export default { content.value = data.content || '' selectedCategory.value = data.categoryId || '' selectedTags.value = data.tagIds || [] + + toast.success('草稿已加载') } } catch (e) {} } onMounted(loadDraft) + const clearPost = async () => { + title.value = '' + content.value = '' + selectedCategory.value = '' + selectedTags.value = [] + + // 删除草稿 + const token = getToken() + if (token) { + const res = await fetch(`${API_BASE_URL}/api/drafts/me`, { + method: 'DELETE', + headers: { + 'Content-Type': 'application/json', + Authorization: `Bearer ${token}` + } + }) + if (res.ok) { + toast.success('草稿已清空') + } else { + toast.error('云端草稿清空失败, 请稍后重试') + } + } + } + const saveDraft = async () => { const token = getToken() if (!token) { @@ -135,7 +164,7 @@ export default { toast.error('发布失败') } } - return { title, content, selectedCategory, selectedTags, submitPost, saveDraft } + return { title, content, selectedCategory, selectedTags, submitPost, saveDraft, clearPost } } } @@ -162,7 +191,6 @@ export default { } .post-draft { - margin-left: 20px; color: var(--primary-color); padding: 10px 20px; border-radius: 10px; @@ -170,6 +198,12 @@ export default { text-decoration: underline; } +.post-clear { + color: var(--primary-color); + cursor: pointer; + opacity: 0.7; +} + .post-submit { background-color: var(--primary-color); color: #fff; @@ -199,6 +233,7 @@ export default { .post-options-right { display: flex; + align-items: center; gap: 10px; }