fix(stage): types

This commit is contained in:
Neko Ayaka
2025-02-23 23:50:29 +08:00
parent 636371e971
commit c481dca038
6 changed files with 47 additions and 37 deletions
+1
View File
@@ -9,6 +9,7 @@ export default defineBuildConfig({
{ builder: 'mkdist', input: './src/composables/', outDir: './dist/composables', pattern: '**/*.ts', format: 'esm', loaders: ['js'] },
{ builder: 'mkdist', input: './src/utils/', outDir: './dist/utils', pattern: '**/*.ts', format: 'esm', loaders: ['js'] },
{ builder: 'mkdist', input: './src/libs/', outDir: './dist/libs', pattern: '**/*.ts', format: 'esm', loaders: ['js'] },
{ builder: 'mkdist', input: './src/types/', outDir: './dist/types', pattern: '**/*.ts', format: 'esm', loaders: ['js'] },
],
declaration: true,
sourcemap: true,
+3
View File
@@ -50,5 +50,8 @@
"stub": "unbuild --stub",
"build": "unbuild",
"typecheck": "vue-tsc --noEmit"
},
"devDependencies": {
"@electron-toolkit/preload": "^3.0.1"
}
}
@@ -1,4 +1,5 @@
<script setup lang="ts">
import type { ElectronAPI } from '@electron-toolkit/preload'
import type { Emotion } from '../../constants/emotions'
import { generateSpeech } from '@xsai/generate-speech'
@@ -179,19 +180,24 @@ onStreamEnd(async () => {
onUnmounted(() => {
lipSyncStarted.value = false
window.electron?.ipcRenderer.removeAllListeners('before-hide')
window.electron?.ipcRenderer.removeAllListeners('after-show')
window.electron?.ipcRenderer.removeAllListeners('before-quit')
const extendedWindow = window as Window & typeof globalThis & { electron?: ElectronAPI }
extendedWindow.electron?.ipcRenderer.removeAllListeners('before-hide')
extendedWindow.electron?.ipcRenderer.removeAllListeners('after-show')
extendedWindow.electron?.ipcRenderer.removeAllListeners('before-quit')
})
onMounted(() => {
window.electron?.ipcRenderer.on('before-hide', () => {
const extendedWindow = window as Window & typeof globalThis & { electron?: ElectronAPI }
extendedWindow.electron?.ipcRenderer.on('before-hide', () => {
motion.value = EmotionAngryMotionName
})
window.electron?.ipcRenderer.on('after-show', () => {
extendedWindow.electron?.ipcRenderer.on('after-show', () => {
motion.value = EmotionHappyMotionName
})
window.electron?.ipcRenderer.on('before-quit', () => {
extendedWindow.electron?.ipcRenderer.on('before-quit', () => {
motion.value = EmotionThinkMotionName
})
})
-8
View File
@@ -1,8 +0,0 @@
import type { ElectronAPI } from '@electron-toolkit/preload'
declare global {
interface Window {
electron?: ElectronAPI
api?: unknown
}
}