添加清空缓存按钮

This commit is contained in:
CN-JS-HuiBai
2026-04-02 19:14:04 +08:00
parent 5192a3b23f
commit 25dcf22b78
3 changed files with 71 additions and 2 deletions

View File

@@ -2,6 +2,7 @@ document.addEventListener('DOMContentLoaded', () => {
const videoListEl = document.getElementById('video-list');
const loadingSpinner = document.getElementById('loading-spinner');
const refreshBtn = document.getElementById('refresh-btn');
const resetCacheBtn = document.getElementById('reset-cache-btn');
const codecSelect = document.getElementById('codec-select');
const encoderSelect = document.getElementById('encoder-select');
const playerOverlay = document.getElementById('player-overlay');
@@ -89,6 +90,45 @@ document.addEventListener('DOMContentLoaded', () => {
progressFill.style.width = '0%';
};
const resetCache = async () => {
if (!resetCacheBtn) return;
resetCacheBtn.disabled = true;
resetCacheBtn.title = 'Resetting cache...';
stopPolling();
selectedKey = null;
currentVideoKey = null;
subscribedKey = null;
if (transcodeBtn) {
transcodeBtn.classList.add('hidden');
}
if (playBtn) {
playBtn.classList.add('hidden');
}
if (playerOverlay) {
playerOverlay.classList.remove('hidden');
}
if (nowPlaying) {
nowPlaying.classList.add('hidden');
}
resetProgress();
try {
const res = await fetch('/api/reset-cache', { method: 'POST' });
if (!res.ok) {
const data = await res.json().catch(() => ({}));
throw new Error(data.error || 'Reset failed');
}
await fetchVideos();
} catch (err) {
console.error('Reset cache failed:', err);
alert(`Reset cache failed: ${err.message}`);
} finally {
resetCacheBtn.disabled = false;
resetCacheBtn.title = 'Reset Download Cache';
}
};
if (transcodeBtn) {
transcodeBtn.addEventListener('click', () => {
startTranscode();