/**
 * 全局错误处理插件
 * 用于捕获和处理全局未捕获的错误
 */
export default defineNuxtPlugin((nuxtApp) => {
  // 处理Vue组件错误
  nuxtApp.vueApp.config.errorHandler = (error, instance, info) => {
    console.error('Vue错误:', error);
    console.error('错误信息:', info);
  };

  // 只在客户端环境执行以下代码
  if (process.client) {
    // 处理未捕获的Promise错误
    window.addEventListener('unhandledrejection', (event) => {
      console.error('未处理的Promise错误:', event.reason);
    });

    // 处理全局JS错误
    window.onerror = (message, source, lineno, colno, error) => {
      console.error('全局JS错误:', {
        message,
        source,
        lineno,
        colno,
        error
      });
      return true; // 防止默认处理
    };
  }
}); 