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;
}