feat: 支持管理番剧种子和孤儿种子#1020
Open
zhushanwen321 wants to merge 21 commits into
Open
Conversation
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add root_path None check - Add IndexError protection for poster_style parsing - Show complete official_title_parser method with re.sub cleanup - Clarify _mikan_cache growth is out of scope Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…erwrite mikan_parser crashes on any None value from network failures or page structure changes, and caches failed results permanently. This causes bangumi records to be created with degraded titles that never recover. Changes: - mikan_parser: add None checks for get_html, soup.find, soup.select_one - mikan_parser: add root_path validation and IndexError protection - mikan_parser: only cache successful results (not failures) - analyser: conditional assignment to avoid overwriting raw_parser fallback Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Fix route conflict: orphans must register before {id}/torrents
- Add torrent ownership check for single delete endpoint
- Expand Torrent type with bangumi_id/rss_id fields
- Define API response format for all endpoints
- Clarify Others card uses route navigation, not inline
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Document u_response behavior (no status field, consistent with existing) - Add definePage() to page components for consistency - Concrete Others card implementation with styles - Fix i18n key prefix to use homepage.* (matching existing convention) - Clarify route coexistence with bangumi.vue Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Remove redundant inline ResponseModel imports (already in top-level) - Use onActivated instead of onMounted in torrent pages (KeepAlive compat) - Add confirm dialog before delete-all action Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
unplugin-vue-router treats bangumi/ subdirectories as nested routes requiring a <RouterView> in bangumi.vue. Since bangumi.vue has no router-view, these pages were invisible after navigation. Move to bangumi-torrents/ as independent routes under pages/index/. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Fix Others card badge clipped (overflow: hidden → visible) - Fix torrent pages not scrollable (flex layout + overflow-y: auto) - Add checkbox multi-select and batch delete - Move toolbar to top with select-all, batch-delete, clear-all buttons - Replace native confirm() with ab-popup dialog - Add error handling via useTorrentList composable - Add backend GET /torrents/orphans/count endpoint for lightweight count - Extract shared logic into useTorrentList composable - Unify i18n usage across both torrent pages Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Move execDeleteAll declaration before handleDeleteAll usage to resolve @typescript-eslint/no-use-before-define error. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Extract shared AbTorrentListPage component to deduplicate bangumi and orphan torrent pages (~240 lines of duplicate template+style) - Remove unused ab-torrent-list.vue component (214 lines dead code) - Fix useTorrentList hook: use project's auto-imported useMessage instead of naive-ui direct import, remove unused message export - Optimize delete_orphans to use bulk DELETE SQL instead of select-all-then-delete-one-by-one - Use .is_(None) instead of == None for SQLAlchemy NULL comparisons - Add delete_obj method to avoid redundant double search in single-torrent delete API endpoints - Replace all hardcoded Chinese strings with i18n keys Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
@zhushanwen321 is attempting to deploy a commit to the estrellaxd's projects Team on Vercel. A member of the Team first needs to authorize it. |
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
解决什么问题
torrent 表会积累大量"孤儿种子"(
bangumi_id为 NULL 的记录)。这些种子可能来自解析失败的 RSS 条目、手动添加后取消关联的番剧、或者重复收集时残留的脏数据。目前用户遇到这些问题没有任何操作入口,只能手动去数据库里删。相关反馈:
做了什么
后端:给 bangumi 路由组加了 8 个种子管理接口(查看/删除/清空),孤儿删除走
DELETE ... WHERE bangumi_id IS NULL批量操作。前端:
页面预览
测试要点