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,