From 91ba3bce1eb3cd5ebb000faff33f0a682e0d37a1 Mon Sep 17 00:00:00 2001 From: jxxghp Date: Thu, 25 Apr 2024 18:33:02 +0800 Subject: [PATCH] =?UTF-8?q?fix=20RSS=E8=AE=A2=E9=98=85=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E6=89=8B=E5=8A=A8=E5=88=A0=E9=99=A4=E5=8E=86=E5=8F=B2=E8=AE=B0?= =?UTF-8?q?=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 7 +++-- plugins/bestfilmversion/__init__.py | 4 +-- plugins/doubanrank/__init__.py | 2 +- plugins/doubansync/__init__.py | 2 +- plugins/neodbsync/__init__.py | 4 +-- plugins/rsssubscribe/__init__.py | 47 ++++++++++++++++++++++++++--- 6 files changed, 54 insertions(+), 12 deletions(-) diff --git a/package.json b/package.json index ce64533..5d14ef7 100644 --- a/package.json +++ b/package.json @@ -244,10 +244,13 @@ "RssSubscribe": { "name": "自定义订阅", "description": "定时刷新RSS报文,识别内容后添加订阅或直接下载。", - "version": "1.2", + "version": "1.3", "icon": "rss.png", "author": "jxxghp", - "level": 2 + "level": 2, + "history": { + "v1.3": "支持手动删除订阅历史记录" + } }, "SyncDownloadFiles": { "name": "下载器文件同步", diff --git a/plugins/bestfilmversion/__init__.py b/plugins/bestfilmversion/__init__.py index b015db3..92aba56 100644 --- a/plugins/bestfilmversion/__init__.py +++ b/plugins/bestfilmversion/__init__.py @@ -331,9 +331,9 @@ class BestFilmVersion(_PluginBase): 'component': 'div', 'content': [ { - 'component': 'VCardSubtitle', + 'component': 'VCardTitle', 'props': { - 'class': 'pa-2 font-bold break-words whitespace-break-spaces' + 'class': 'ps-1 pe-5 break-words whitespace-break-spaces' }, 'content': [ { diff --git a/plugins/doubanrank/__init__.py b/plugins/doubanrank/__init__.py index 7ebcd61..47a6c03 100644 --- a/plugins/doubanrank/__init__.py +++ b/plugins/doubanrank/__init__.py @@ -429,7 +429,7 @@ class DoubanRank(_PluginBase): { 'component': 'VCardTitle', 'props': { - 'class': 'pa-1 break-words whitespace-break-spaces' + 'class': 'ps-1 pe-5 break-words whitespace-break-spaces' }, 'content': [ { diff --git a/plugins/doubansync/__init__.py b/plugins/doubansync/__init__.py index bb91d2a..bb00ddc 100644 --- a/plugins/doubansync/__init__.py +++ b/plugins/doubansync/__init__.py @@ -405,7 +405,7 @@ class DoubanSync(_PluginBase): { 'component': 'VCardTitle', 'props': { - 'class': 'ps-1 break-words whitespace-break-spaces' + 'class': 'ps-1 pe-5 break-words whitespace-break-spaces' }, 'content': [ { diff --git a/plugins/neodbsync/__init__.py b/plugins/neodbsync/__init__.py index c1d0f81..bece8a9 100644 --- a/plugins/neodbsync/__init__.py +++ b/plugins/neodbsync/__init__.py @@ -397,9 +397,9 @@ class NeoDBSync(_PluginBase): 'component': 'div', 'content': [ { - 'component': 'VCardSubtitle', + 'component': 'VCardTitle', 'props': { - 'class': 'pa-2 font-bold break-words whitespace-break-spaces' + 'class': 'ps-1 pe-5 break-words whitespace-break-spaces' }, 'content': [ { diff --git a/plugins/rsssubscribe/__init__.py b/plugins/rsssubscribe/__init__.py index 30d592f..39ec693 100644 --- a/plugins/rsssubscribe/__init__.py +++ b/plugins/rsssubscribe/__init__.py @@ -9,6 +9,7 @@ import pytz from apscheduler.schedulers.background import BackgroundScheduler from apscheduler.triggers.cron import CronTrigger +from app import schemas from app.chain.download import DownloadChain from app.chain.search import SearchChain from app.chain.subscribe import SubscribeChain @@ -31,7 +32,7 @@ class RssSubscribe(_PluginBase): # 插件图标 plugin_icon = "rss.png" # 插件版本 - plugin_version = "1.2" + plugin_version = "1.3" # 插件作者 plugin_author = "jxxghp" # 作者主页 @@ -134,7 +135,14 @@ class RssSubscribe(_PluginBase): "summary": "API说明" }] """ - pass + return [ + { + "path": "/delete_history", + "endpoint": self.delete_history, + "methods": ["GET"], + "summary": "删除自定义订阅历史记录" + } + ] def get_service(self) -> List[Dict[str, Any]]: """ @@ -449,6 +457,22 @@ class RssSubscribe(_PluginBase): { 'component': 'VCard', 'content': [ + { + "component": "VDialogCloseBtn", + "props": { + 'innerClass': 'absolute top-0 right-0', + }, + 'events': { + 'click': { + 'api': 'plugin/RssSubscribe/delete_history', + 'method': 'get', + 'params': { + 'key': title, + 'apikey': settings.API_TOKEN + } + } + }, + }, { 'component': 'div', 'props': { @@ -475,9 +499,9 @@ class RssSubscribe(_PluginBase): 'component': 'div', 'content': [ { - 'component': 'VCardSubtitle', + 'component': 'VCardTitle', 'props': { - 'class': 'pa-2 font-bold break-words whitespace-break-spaces' + 'class': 'pa-1 pe-5 break-words whitespace-break-spaces' }, 'text': title }, @@ -526,6 +550,21 @@ class RssSubscribe(_PluginBase): except Exception as e: logger.error("退出插件失败:%s" % str(e)) + def delete_history(self, key: str, apikey: str): + """ + 删除同步历史记录 + """ + if apikey != settings.API_TOKEN: + return schemas.Response(success=False, message="API密钥错误") + # 历史记录 + historys = self.get_data('history') + if not historys: + return schemas.Response(success=False, message="未找到历史记录") + # 删除指定记录 + historys = [h for h in historys if h.get("title") != key] + self.save_data('history', historys) + return schemas.Response(success=True, message="删除成功") + def __update_config(self): """ 更新设置