From 4f8e77b7df3cfd41b104aab7b12df54a88b95164 Mon Sep 17 00:00:00 2001 From: DRG Date: Sat, 27 Dec 2025 03:50:19 +0800 Subject: [PATCH 1/4] =?UTF-8?q?chore:=20=E6=9B=B4=E6=96=B0=20VNDB=20?= =?UTF-8?q?=E5=9B=BE=E5=83=8F=E4=BB=A3=E7=90=86=20URL?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 更新 `SettingsModal.vue` 中 VNDB 图像代理的输入框占位符。 - 同步修改 `settings.ts` 中 `DEFAULT_API_CONFIG` 的默认代理地址。 --- src/components/SettingsModal.vue | 2 +- src/stores/settings.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/SettingsModal.vue b/src/components/SettingsModal.vue index 473c886..e133ab9 100644 --- a/src/components/SettingsModal.vue +++ b/src/components/SettingsModal.vue @@ -366,7 +366,7 @@ diff --git a/src/stores/settings.ts b/src/stores/settings.ts index 773013e..d72fe0d 100644 --- a/src/stores/settings.ts +++ b/src/stores/settings.ts @@ -24,7 +24,7 @@ export interface UserSettings { // 默认 API 配置 export const DEFAULT_API_CONFIG = { vndbApiBaseUrl: 'https://api.vndb.org/kana', - vndbImageProxyUrl: 'https://rp.searchgal.homes/', + vndbImageProxyUrl: 'https://rpx.searchgal.homes/', aiTranslateApiUrl: 'https://ai.searchgal.homes/v1/chat/completions', aiTranslateApiKey: 'sk-Md5kXePgq6HJjPa1Cf3265511bEe4e4c888232A0837e371e', aiTranslateModel: 'Qwen/Qwen2.5-32B-Instruct', From a07ad6f72c09b6ec3cf55eb5599efae6713d9977 Mon Sep 17 00:00:00 2001 From: AdingApkgg Date: Sat, 27 Dec 2025 04:05:10 +0800 Subject: [PATCH 2/4] fix: update VNDB image proxy URL in settings - Changed the placeholder URL in `SettingsModal.vue` for the VNDB image proxy input field. - Updated the default VNDB image proxy URL in `settings.ts` to maintain consistency. --- src/components/SettingsModal.vue | 2 +- src/stores/settings.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/SettingsModal.vue b/src/components/SettingsModal.vue index 150303d..13752e6 100644 --- a/src/components/SettingsModal.vue +++ b/src/components/SettingsModal.vue @@ -366,7 +366,7 @@ diff --git a/src/stores/settings.ts b/src/stores/settings.ts index d72fe0d..773013e 100644 --- a/src/stores/settings.ts +++ b/src/stores/settings.ts @@ -24,7 +24,7 @@ export interface UserSettings { // 默认 API 配置 export const DEFAULT_API_CONFIG = { vndbApiBaseUrl: 'https://api.vndb.org/kana', - vndbImageProxyUrl: 'https://rpx.searchgal.homes/', + vndbImageProxyUrl: 'https://rp.searchgal.homes/', aiTranslateApiUrl: 'https://ai.searchgal.homes/v1/chat/completions', aiTranslateApiKey: 'sk-Md5kXePgq6HJjPa1Cf3265511bEe4e4c888232A0837e371e', aiTranslateModel: 'Qwen/Qwen2.5-32B-Instruct', From b154c10d468a0d0e3d5373e1fd6d538777a5204a Mon Sep 17 00:00:00 2001 From: illlights Date: Wed, 7 Jan 2026 17:35:18 +0800 Subject: [PATCH 3/4] fix: background image preloading follows user settings --- src/main.ts | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/main.ts b/src/main.ts index 3b91a67..86e1611 100644 --- a/src/main.ts +++ b/src/main.ts @@ -11,6 +11,7 @@ import { } from './stores/plugins' import { useUIStore } from './stores/ui' import { useStatsStore } from './stores/stats' +import { useSettingsStore, DEFAULT_API_CONFIG } from './stores/settings' // Noto Sans SC 字体(本地安装) import '@fontsource/noto-sans-sc/300.css' @@ -27,10 +28,6 @@ import './styles/theme.css' // 苹果同款液态玻璃效果 import './styles/glassmorphism.css' -// 预加载随机图片 API -const preloadImage = new Image() -preloadImage.src = `https://api.illlights.com/v1/img?t=${Date.now()}` - // 自定义进度条(使用 anime.js) import { createProgressFetch } from './composables/useProgress' @@ -66,6 +63,12 @@ app.use(pinia) // 配置 fetch 进度条(拦截所有 fetch 请求) createProgressFetch() +// 预加载随机图片 API(需在 Pinia 初始化后调用) +const settingsStore = useSettingsStore() +const preloadImage = new Image() +const backgroundImageApiUrl = settingsStore.settings.backgroundImageApiUrl || DEFAULT_API_CONFIG.backgroundImageApiUrl +preloadImage.src = `${backgroundImageApiUrl}?t=${Date.now()}` + app.mount('#app') // ============================================ From 7a25e0cbc2b549880765df971ea5478cf11896af Mon Sep 17 00:00:00 2001 From: illlights Date: Wed, 7 Jan 2026 17:36:56 +0800 Subject: [PATCH 4/4] feat: image api slow mode after reached cache threshold --- src/composables/useBackgroundImage.ts | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/composables/useBackgroundImage.ts b/src/composables/useBackgroundImage.ts index fb54363..9dad461 100644 --- a/src/composables/useBackgroundImage.ts +++ b/src/composables/useBackgroundImage.ts @@ -20,7 +20,9 @@ export type KenBurnsType = const CONFIG = { MAX_CACHE_SIZE: 10000, // 最大缓存 10000 张图片 CLEANUP_BATCH_SIZE: 2000, // 每次清理 2000 张 - FETCH_INTERVAL: 5000, // 5秒获取一次 + FETCH_INTERVAL: 5000, // 5秒获取一次(未达到缓存阈值时) + FETCH_INTERVAL_SLOW: 30000, // 30秒获取一次(图片缓存充足时) + CACHE_THRESHOLD: 30, // 缓存阈值,达到后切换到慢速获取 DISPLAY_INTERVAL: 10000, // 10秒切换一次 MAX_BLOB_URLS: 20, // 最大同时保持的 Blob URL 数量 PRELOAD_COUNT: 10, // 预加载图片数量 @@ -162,6 +164,11 @@ export function useBackgroundImage() { // 限制缓存大小 await cleanupCacheIfNeeded() + // 如果刚好达到阈值,重启获取定时器以切换到慢速模式 + if (newCache.length === CONFIG.CACHE_THRESHOLD) { + startFetchInterval() + } + // 如果队列为空,重新洗牌 if (shuffledQueue.value.length === 0) { reshuffleQueue() @@ -298,9 +305,14 @@ export function useBackgroundImage() { void fetchAndCacheImage() + // 根据缓存数量决定获取间隔 + const interval = imageCache.value.length >= CONFIG.CACHE_THRESHOLD + ? CONFIG.FETCH_INTERVAL_SLOW + : CONFIG.FETCH_INTERVAL + fetchInterval = window.setInterval(() => { void fetchAndCacheImage() - }, CONFIG.FETCH_INTERVAL) + }, interval) } // 启动图片显示定时器