Files
shoot-miniprograms/src/main.js

28 lines
931 B
JavaScript

import { createSSRApp } from 'vue'
import { createPinia } from 'pinia'
import piniaPluginPersistedstate from 'pinia-plugin-persistedstate'
import App from './App.vue'
import audioManager from './audioManager'
export function createApp() {
const app = createSSRApp(App)
const pinia = createPinia()
pinia.use(piniaPluginPersistedstate)
app.use(pinia)
/**
* 全局点击音效工具函数,用于在任意按钮/元素点击时自动播放音效。
* 用法:@click="$clickSound(handler)" 或 @click="$clickSound(() => doSomething())"
* @param {Function} handler - 原始点击回调函数(可选,点击时直接调用)
* @param {string} [soundKey='点击按钮'] - audioManager 中的音效 key
*/
app.config.globalProperties.$clickSound = (handler, soundKey = '点击按钮') => {
audioManager.play(soundKey);
if (typeof handler === 'function') handler();
};
return {
app
}
}