From 14148ee1ec58ad0aeb343c76ef2d031541bcbbb5 Mon Sep 17 00:00:00 2001 From: Kisechan Date: Wed, 10 Sep 2025 17:09:13 +0800 Subject: [PATCH] =?UTF-8?q?Fix:=20=E8=A7=A3=E5=86=B3=E6=89=93=E5=8C=85?= =?UTF-8?q?=E5=90=8E=E7=9A=84=E5=BA=94=E7=94=A8=E6=89=BE=E4=B8=8D=E5=88=B0?= =?UTF-8?q?=E7=B4=A0=E6=9D=90=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 +- main/main.js | 35 ++++++- main/preload.js | 2 + .../assets => public/pets}/【汤圆】.gif | Bin .../assets => public/pets}/【汤圆】.jpg | Bin .../pets}/互变异构道理.gif | Bin .../{src/assets => public/pets}/哈姆.gif | Bin .../pets}/好久没那个了.gif | Bin .../pets}/普通型道理.gif | Bin renderer/public/pets/木柜子汤圆.jpg | Bin 0 -> 69797 bytes .../assets => public/pets}/豌豆射手.jpg | Bin renderer/src/App.vue | 89 ++++++++++-------- 12 files changed, 86 insertions(+), 44 deletions(-) rename renderer/{src/assets => public/pets}/【汤圆】.gif (100%) rename renderer/{src/assets => public/pets}/【汤圆】.jpg (100%) rename renderer/{src/assets => public/pets}/互变异构道理.gif (100%) rename renderer/{src/assets => public/pets}/哈姆.gif (100%) rename renderer/{src/assets => public/pets}/好久没那个了.gif (100%) rename renderer/{src/assets => public/pets}/普通型道理.gif (100%) create mode 100644 renderer/public/pets/木柜子汤圆.jpg rename renderer/{src/assets => public/pets}/豌豆射手.jpg (100%) diff --git a/README.md b/README.md index d21df73..abeea45 100644 --- a/README.md +++ b/README.md @@ -52,5 +52,5 @@ npm run start ## TODO - [x] 更美观的说的道理,优化 UI -- [x] 更多的哇袄 -- [ ] 自定义更换不同的道理 +- [ ] 更多的哇袄 +- [x] 自定义更换不同的道理 diff --git a/main/main.js b/main/main.js index 6c2be8c..08cbe38 100644 --- a/main/main.js +++ b/main/main.js @@ -123,9 +123,9 @@ ipcMain.handle('set-pet-selection', async (_, petAsset) => { }); ipcMain.on("show-context-menu", async () => { - // 尝试动态读取 renderer 下的 assets 目录,开发/生产路径均尝试 - const devAssets = path.join(__dirname, "../renderer/src/assets"); - const prodAssets = path.join(__dirname, "../renderer/dist/assets"); + // 尝试动态读取 renderer 下的 public/pets 目录,开发/生产路径均尝试 + const devAssets = path.join(__dirname, "../renderer/public/pets"); + const prodAssets = path.join(__dirname, "../renderer/dist/pets"); let assetsDir = null; if (fs.existsSync(devAssets)) assetsDir = devAssets; else if (fs.existsSync(prodAssets)) assetsDir = prodAssets; @@ -212,6 +212,35 @@ ipcMain.on("show-context-menu", async () => { menu.popup({ window: mainWindow }); }); +// 提供给渲染进程:列出 public/pets 中的素材文件(开发/生产路径) +ipcMain.handle('get-pet-files', async () => { + const devDir = path.join(__dirname, '../renderer/public/pets'); + const prodDir = path.join(__dirname, '../renderer/dist/pets'); + const dir = fs.existsSync(devDir) ? devDir : (fs.existsSync(prodDir) ? prodDir : null); + if (!dir) return []; + try { + const files = await fs.promises.readdir(dir); + return files.filter(f => /\.(png|jpg|jpeg|gif)$/i.test(f)); + } catch (e) { + console.error('读取 pets 目录失败:', e); + return []; + } +}); + +ipcMain.handle('get-pet-url', (_, fileName) => { + // 在开发时,public 文件由 dev server 以根路径提供 + if (process.env.NODE_ENV === 'development') { + return `http://localhost:5173/pets/${encodeURIComponent(fileName)}`; + } + // 生产时,从 dist/pets 返回 file:// URL + const prodPath = path.join(__dirname, '../renderer/dist/pets', fileName); + if (fs.existsSync(prodPath)) return `file://${prodPath}`; + // fallback: try public path in source tree + const devPath = path.join(__dirname, '../renderer/public/pets', fileName); + if (fs.existsSync(devPath)) return `file://${devPath}`; + return null; +}); + let isAlwaysOnTop = true; let mainWindow; diff --git a/main/preload.js b/main/preload.js index bac8670..1c6c169 100644 --- a/main/preload.js +++ b/main/preload.js @@ -15,6 +15,8 @@ contextBridge.exposeInMainWorld('electronAPI', { onPetSelectionChanged: (callback) => { ipcRenderer.on('pet-selection-changed', (_, fileName) => callback(fileName)); }, + getPetFiles: () => ipcRenderer.invoke('get-pet-files'), + getPetUrl: (fileName) => ipcRenderer.invoke('get-pet-url', fileName), showTooltip: (text) => ipcRenderer.send('show-tooltip', text), onUpdatePosition: (callback) => { ipcRenderer.on('update-position', (_, position) => callback(position)) diff --git a/renderer/src/assets/【汤圆】.gif b/renderer/public/pets/【汤圆】.gif similarity index 100% rename from renderer/src/assets/【汤圆】.gif rename to renderer/public/pets/【汤圆】.gif diff --git a/renderer/src/assets/【汤圆】.jpg b/renderer/public/pets/【汤圆】.jpg similarity index 100% rename from renderer/src/assets/【汤圆】.jpg rename to renderer/public/pets/【汤圆】.jpg diff --git a/renderer/src/assets/互变异构道理.gif b/renderer/public/pets/互变异构道理.gif similarity index 100% rename from renderer/src/assets/互变异构道理.gif rename to renderer/public/pets/互变异构道理.gif diff --git a/renderer/src/assets/哈姆.gif b/renderer/public/pets/哈姆.gif similarity index 100% rename from renderer/src/assets/哈姆.gif rename to renderer/public/pets/哈姆.gif diff --git a/renderer/src/assets/好久没那个了.gif b/renderer/public/pets/好久没那个了.gif similarity index 100% rename from renderer/src/assets/好久没那个了.gif rename to renderer/public/pets/好久没那个了.gif diff --git a/renderer/src/assets/普通型道理.gif b/renderer/public/pets/普通型道理.gif similarity index 100% rename from renderer/src/assets/普通型道理.gif rename to renderer/public/pets/普通型道理.gif diff --git a/renderer/public/pets/木柜子汤圆.jpg b/renderer/public/pets/木柜子汤圆.jpg new file mode 100644 index 0000000000000000000000000000000000000000..046f6853d33bb53fe01ee004bb30dd6cef25d7a6 GIT binary patch literal 69797 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 Xi$N|z(${$2W|?^Cp4#*I|8D{SZ@)+E literal 0 HcmV?d00001 diff --git a/renderer/src/assets/豌豆射手.jpg b/renderer/public/pets/豌豆射手.jpg similarity index 100% rename from renderer/src/assets/豌豆射手.jpg rename to renderer/public/pets/豌豆射手.jpg diff --git a/renderer/src/App.vue b/renderer/src/App.vue index 334a882..c581949 100644 --- a/renderer/src/App.vue +++ b/renderer/src/App.vue @@ -2,13 +2,7 @@ import { ref, onMounted, reactive, computed } from "vue"; import { Howl } from "howler"; -// 默认图片(打包时位于 assets) -import defaultPet from "./assets/普通型道理.gif"; - -// 列出 renderer/src/assets 下的图片资源(Vite 特性) -// 只匹配常见的图片后缀 -const modules = import.meta.glob('./assets/*.{png,jpg,jpeg,gif}', { as: 'url' }); -const assetEntries = Object.entries(modules); +import defaultPet from "/public/pets/普通型道理.gif"; // 状态 const soundFiles = ref([]); @@ -18,40 +12,53 @@ const isLoading = ref(true); const isPlaying = ref(false); // 处理宠物素材选择 -const assetList = assetEntries.map(([path, resolver]) => ({ path, resolver })); -const assetPreviews = ref([]); // { path, url } +const assetPreviews = ref([]); // { name, fileName, url } const selectedAsset = ref(null); // 将保存为 URL const showSettings = ref(false); const selectedAssetName = computed(() => { if (!selectedAsset.value) return null; - // 从路径中取文件名 + const match = assetPreviews.value.find(p => p.url === selectedAsset.value); + if (match) return match.name; + // fallback: 从 URL 中取最后一段 const parts = selectedAsset.value.split('/'); return parts[parts.length - 1]; }); async function loadSavedSelection() { - // 优先从主进程读取持久化选择 - if (window.electronAPI && typeof window.electronAPI.getPetSelection === 'function') { - try { - const assetPath = await window.electronAPI.getPetSelection(); - if (assetPath) { - // assetPath 存储为相对于 assets 的文件名,例如 "pet2.gif" - const match = assetList.find(a => a.path.endsWith('/' + assetPath)); + // 优先从主进程读取持久化选择(返回 fileName) + try { + if (window.electronAPI && typeof window.electronAPI.getPetSelection === 'function') { + const fileName = await window.electronAPI.getPetSelection(); + if (fileName) { + const match = assetPreviews.value.find(p => p.fileName === fileName); if (match) { - selectedAsset.value = await match.resolver(); + selectedAsset.value = match.url; return; } + // 如果 assetPreviews 中没有,但文件名存在,尝试直接请求 URL + if (window.electronAPI && typeof window.electronAPI.getPetUrl === 'function') { + const url = await window.electronAPI.getPetUrl(fileName); + if (url) { selectedAsset.value = url; return; } + } } - } catch (e) { - console.error('读取保存的宠物素材失败:', e); } + } catch (e) { + console.error('读取保存的宠物素材失败:', e); } // fallback: localStorage - const ls = localStorage.getItem('petAsset'); - if (ls) { - const match = assetList.find(a => a.path.endsWith('/' + ls)); - if (match) selectedAsset.value = await match.resolver(); + try { + const ls = localStorage.getItem('petAsset'); + if (ls) { + const match = assetPreviews.value.find(p => p.fileName === ls); + if (match) { selectedAsset.value = match.url; return; } + if (window.electronAPI && typeof window.electronAPI.getPetUrl === 'function') { + const url = await window.electronAPI.getPetUrl(ls); + if (url) selectedAsset.value = url; + } + } + } catch (e) { + // ignore } } @@ -81,19 +88,29 @@ onMounted(async () => { isLoading.value = false; } } - await loadSavedSelection(); - // 预解析所有资源的 URL,用于设置面板的缩略图显示 + // 从主进程读取 public/pets 下的素材文件名,然后为每个文件请求可用 URL try { - const previews = await Promise.all(assetList.map(async (a) => ({ path: a.path, url: await a.resolver() }))); - assetPreviews.value = previews; + if (window.electronAPI && typeof window.electronAPI.getPetFiles === 'function') { + const files = await window.electronAPI.getPetFiles(); + const previews = await Promise.all(files.map(async (file) => { + const url = await window.electronAPI.getPetUrl(file); + const name = file.replace(/\.[^.]+$/, ''); + const displayName = name + (/\.gif$/i.test(file) ? '(可动)' : ''); + return { fileName: file, url, name: displayName }; + })); + assetPreviews.value = previews; + } } catch (e) { - console.error('解析素材预览失败:', e); + console.error('获取 pets 列表失败:', e); } + // 加载并应用保存的选择(依赖于 assetPreviews 已构建) + await loadSavedSelection(); + // 监听主进程通过右键菜单发来的选择变更 if (window.electronAPI && typeof window.electronAPI.onPetSelectionChanged === 'function') { window.electronAPI.onPetSelectionChanged(async (fileName) => { - const match = assetPreviews.value.find(p => p.path.endsWith('/' + fileName)); + const match = assetPreviews.value.find(p => p.fileName === fileName); if (match) selectedAsset.value = match.url; }); } @@ -170,15 +187,9 @@ function handleMouseUp() { function handleRightClick() { window.electronAPI.showContextMenu(); } async function chooseAsset(entry) { - // entry can be either {path, resolver} or a preview {path, url} - if (entry.url) { - selectedAsset.value = entry.url; - await saveSelection(entry.path); - } else { - const url = await entry.resolver(); - selectedAsset.value = url; - await saveSelection(entry.path); - } + // entry is { fileName, url, name } + selectedAsset.value = entry.url; + await saveSelection(entry.fileName); showSettings.value = false; }