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,