From 57009b537e0fae36c5a0672b3ca0b5c55b059214 Mon Sep 17 00:00:00 2001 From: EstrellaXD Date: Wed, 20 Sep 2023 22:01:59 +0800 Subject: [PATCH] webui: add search animation. --- backend/src/module/api/rss.py | 16 ++++++++-------- webui/src/components/ab-search-bar.vue | 8 +++++++- webui/src/store/search.ts | 1 + webui/types/bangumi.ts | 2 +- 4 files changed, 17 insertions(+), 10 deletions(-) diff --git a/backend/src/module/api/rss.py b/backend/src/module/api/rss.py index 6458e5ad..2244c67d 100644 --- a/backend/src/module/api/rss.py +++ b/backend/src/module/api/rss.py @@ -20,7 +20,7 @@ async def get_rss(): @router.post(path="/add", response_model=APIResponse, dependencies=[Depends(get_current_user)]) -async def add_rss(rss: RSSItem, ): +async def add_rss(rss: RSSItem): with RSSEngine() as engine: result = engine.add_rss(rss.url, rss.name, rss.aggregate, rss.parser) return u_response(result) @@ -34,7 +34,7 @@ async def enable_many_rss(rss_ids: list[int], ): @router.delete(path="/delete/{rss_id}", response_model=APIResponse, dependencies=[Depends(get_current_user)]) -async def delete_rss(rss_id: int, ): +async def delete_rss(rss_id: int): with RSSEngine() as engine: if engine.rss.delete(rss_id): return JSONResponse( @@ -56,7 +56,7 @@ async def delete_many_rss(rss_ids: list[int], ): @router.patch(path="/disable/{rss_id}", response_model=APIResponse, dependencies=[Depends(get_current_user)]) -async def disable_rss(rss_id: int, ): +async def disable_rss(rss_id: int): with RSSEngine() as engine: if engine.rss.disable(rss_id): return JSONResponse( @@ -71,7 +71,7 @@ async def disable_rss(rss_id: int, ): @router.post(path="/disable/many", response_model=APIResponse, dependencies=[Depends(get_current_user)]) -async def disable_many_rss(rss_ids: list[int], ): +async def disable_many_rss(rss_ids: list[int]): with RSSEngine() as engine: result = engine.disable_list(rss_ids) return u_response(result) @@ -107,7 +107,7 @@ async def refresh_all(): @router.get(path="/refresh/{rss_id}", response_model=APIResponse, dependencies=[Depends(get_current_user)]) -async def refresh_rss(rss_id: int, ): +async def refresh_rss(rss_id: int): with RSSEngine() as engine, DownloadClient() as client: engine.refresh_rss(client, rss_id) return JSONResponse( @@ -127,7 +127,7 @@ analyser = RSSAnalyser() @router.post("/analysis", response_model=Bangumi, dependencies=[Depends(get_current_user)]) -async def analysis(rss: RSSItem, ): +async def analysis(rss: RSSItem): data = analyser.link_to_data(rss) if isinstance(data, Bangumi): return data @@ -136,14 +136,14 @@ async def analysis(rss: RSSItem, ): @router.post("/collect", response_model=APIResponse, dependencies=[Depends(get_current_user)]) -async def download_collection(data: Bangumi, ): +async def download_collection(data: Bangumi): with SeasonCollector() as collector: resp = collector.collect_season(data, data.rss_link) return u_response(resp) @router.post("/subscribe", response_model=APIResponse, dependencies=[Depends(get_current_user)]) -async def subscribe(data: Bangumi, ): +async def subscribe(data: Bangumi): with SeasonCollector() as collector: resp = collector.subscribe_season(data) return u_response(resp) diff --git a/webui/src/components/ab-search-bar.vue b/webui/src/components/ab-search-bar.vue index 31ae23c1..5dcbdd78 100644 --- a/webui/src/components/ab-search-bar.vue +++ b/webui/src/components/ab-search-bar.vue @@ -1,6 +1,7 @@ @@ -73,7 +79,7 @@ function onSelect(site: string) { diff --git a/webui/src/store/search.ts b/webui/src/store/search.ts index 70ca9d78..c4f74730 100644 --- a/webui/src/store/search.ts +++ b/webui/src/store/search.ts @@ -49,6 +49,7 @@ export function useSearchStore() { : EMPTY }), tap((bangumi: BangumiRule) => { + bangumi.id = bangumiList.value.length; bangumiList.value.push(bangumi); }), ).subscribe() diff --git a/webui/types/bangumi.ts b/webui/types/bangumi.ts index 0bb31e4e..74198b3d 100644 --- a/webui/types/bangumi.ts +++ b/webui/types/bangumi.ts @@ -8,7 +8,7 @@ export interface BangumiRule { eps_collect: boolean; filter: string[]; group_name: string; - id: number; + id: number | null; official_title: string; offset: number; poster_link: string | null;