From 55671ab22d7ca3ab8302bd02826e61b549f2b779 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=9B=AE=E6=A3=83?= Date: Sat, 23 Mar 2024 14:23:43 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9A=A1=EF=B8=8F=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E6=93=8D=E4=BD=9C=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/common/PostCollect.vue | 21 +++++++++++++++++---- src/plugins/Sqlite/modules/userCollect.ts | 13 +++++++++++++ 2 files changed, 30 insertions(+), 4 deletions(-) diff --git a/src/pages/common/PostCollect.vue b/src/pages/common/PostCollect.vue index ef870c5c..16c9ca52 100644 --- a/src/pages/common/PostCollect.vue +++ b/src/pages/common/PostCollect.vue @@ -55,14 +55,12 @@ /> { if (postUnCollect.length > 0) { selected.value = postUnCollect; curSelect.value = "未分类"; - } else { + } else if (collections.value.length > 0) { selected.value = await TSUserCollection.getCollectPostList(collections.value[0].title); curSelect.value = collections.value[0].title; + } else { + selected.value = []; + curSelect.value = "未分类"; } selectedMode.value = false; selectedPost.value = []; @@ -335,6 +336,13 @@ async function deletePost(force: boolean = false): Promise { } async function deleteCollect(force: boolean): Promise { + if (curSelect.value === "未分类" && force) { + showSnackbar({ + text: "未分类不可删除", + color: "error", + }); + return; + } const title = force ? "删除分类" : "清空分类"; const res = await showConfirm({ title: `确定${title}?` }); if (!res) { @@ -344,7 +352,12 @@ async function deleteCollect(force: boolean): Promise { }); return; } - const resD = await TSUserCollection.deleteCollect(curSelect.value, force); + let resD; + if (curSelect.value !== "未分类") { + resD = await TSUserCollection.deleteCollect(curSelect.value, force); + } else { + resD = await TSUserCollection.deleteUnCollectPost(); + } if (resD) { showSnackbar({ text: `成功 ${title}`, diff --git a/src/plugins/Sqlite/modules/userCollect.ts b/src/plugins/Sqlite/modules/userCollect.ts index d22792dc..0c432c52 100644 --- a/src/plugins/Sqlite/modules/userCollect.ts +++ b/src/plugins/Sqlite/modules/userCollect.ts @@ -114,6 +114,18 @@ async function deleteCollect(title: string, force: boolean): Promise { return true; } +/** + * @description 删除未分类帖子 + * @since Beta v0.4.5 + * @return {Promise} 返回是否删除成功 + */ +async function deleteUnCollectPost(): Promise { + const db = await TGSqlite.getDB(); + const sql = "DELETE FROM UFPost WHERE id NOT IN (SELECT postId FROM UFMap)"; + await db.execute(sql); + return true; +} + /** * @description 更新收藏合集信息,标题/描述 * @since Beta v0.4.5 @@ -365,6 +377,7 @@ const TSUserCollection = { getUnCollectPostList, createCollect, deleteCollect, + deleteUnCollectPost, updateCollect, addCollect, updatePostInfo,