gitextract_3n4s52y9/ ├── .dockerignore ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ └── 问题反馈-功能请求.md │ └── workflows/ │ ├── docker-image.yml │ └── tauri-release.yml ├── .gitignore ├── Dockerfile ├── LICENSE.md ├── README.md ├── deploy/ │ └── Caddyfile ├── index.html ├── jsconfig.json ├── package.json ├── postcss.config.js ├── src/ │ ├── App.vue │ ├── api/ │ │ └── api.js │ ├── components/ │ │ ├── PrivacyControl.vue │ │ └── tailwind/ │ │ ├── ArtPlayerWithDanmaku.vue │ │ ├── BusinessTypeSelector.vue │ │ ├── CustomDropdown.vue │ │ ├── DataSyncManager.vue │ │ ├── DownloadDialog.vue │ │ ├── EnvironmentCheck.vue │ │ ├── FavoriteDialog.vue │ │ ├── FilterDropdown.vue │ │ ├── HistoryContent.vue │ │ ├── LoginDialog.vue │ │ ├── Navbar.vue │ │ ├── Pagination.vue │ │ ├── SearchBar.vue │ │ ├── Settings.vue │ │ ├── Sidebar.vue │ │ ├── SimpleSearchBar.vue │ │ ├── SummaryConfig.vue │ │ ├── TaskTreeItem.vue │ │ ├── UserVideos.vue │ │ ├── VideoCategories.vue │ │ ├── VideoDetailDialog.vue │ │ ├── VideoPlayerDialog.vue │ │ ├── VideoRecord.vue │ │ ├── VideoSummary.vue │ │ ├── analytics/ │ │ │ ├── layout/ │ │ │ │ └── AnalyticsLayout.vue │ │ │ └── pages/ │ │ │ ├── AuthorCompletionPage.vue │ │ │ ├── AuthorPopularAssociationPage.vue │ │ │ ├── CategoryPopularDistributionPage.vue │ │ │ ├── DurationAnalysisPage.vue │ │ │ ├── DurationPopularDistributionPage.vue │ │ │ ├── HeroPage.vue │ │ │ ├── MonthlyPage.vue │ │ │ ├── OverallCompletionPage.vue │ │ │ ├── OverviewPage.vue │ │ │ ├── PopularHitRatePage.vue │ │ │ ├── PopularPredictionPage.vue │ │ │ ├── RewatchPage.vue │ │ │ ├── StreakPage.vue │ │ │ ├── TagsPage.vue │ │ │ ├── TimeAnalysisPage.vue │ │ │ ├── TimeDistributionPage.vue │ │ │ ├── TitleAnalysisPage.vue │ │ │ ├── TitleInteractionAnalysisPage.vue │ │ │ ├── TitleLengthAnalysisPage.vue │ │ │ ├── TitleSentimentAnalysisPage.vue │ │ │ └── TitleTrendAnalysisPage.vue │ │ ├── dynamic/ │ │ │ ├── DynamicCardNormal.vue │ │ │ └── DynamicCardVideo.vue │ │ ├── layout/ │ │ │ └── MainLayout.vue │ │ ├── page/ │ │ │ ├── AnimatedAnalytics.vue │ │ │ ├── BiliTools.vue │ │ │ ├── Comments.vue │ │ │ ├── Downloads.vue │ │ │ ├── DynamicDownloader.vue │ │ │ ├── Favorites.vue │ │ │ ├── History.vue │ │ │ ├── Images.vue │ │ │ ├── MediaManager.vue │ │ │ ├── Remarks.vue │ │ │ ├── SchedulerTasks.vue │ │ │ ├── Search.vue │ │ │ ├── VideoDetailsManager.vue │ │ │ └── VideoDownloader.vue │ │ └── scheduler/ │ │ ├── SelectDialog.vue │ │ ├── TaskDetail.vue │ │ ├── TaskForm.vue │ │ └── TaskHistory.vue │ ├── main.js │ ├── router/ │ │ └── router.js │ ├── store/ │ │ ├── darkMode.js │ │ └── privacy.js │ ├── style.css │ └── utils/ │ ├── imageProxy.js │ ├── imageUrl.js │ ├── openUrl.js │ └── privacyManager.js ├── src-tauri/ │ ├── Cargo.toml │ ├── build.rs │ ├── capabilities/ │ │ └── default.json │ ├── icons/ │ │ └── icon.icns │ ├── src/ │ │ ├── lib.rs │ │ └── main.rs │ ├── tauri.conf.json │ ├── tauri.linux.conf.json │ ├── tauri.macos.conf.json │ └── tauri.windows.conf.json ├── tailwind.config.js └── vite.config.js