import { App } from 'vue';
import fetchHttp from '@/config/axios/fetchHttp';

// 添加请求拦截器
fetchHttp.addRequestInterceptor((options) => {
  // 例如：添加token
  const token = localStorage.getItem('token');
  if (token) {
    return {
      headers: {
        'Authorization': `Bearer ${token}`
      }
    };
  }
  return null;
});

// 添加响应拦截器
fetchHttp.addResponseInterceptor((data, response) => {
  // 例如：处理统一的响应格式
  if (response.ok && data.code === 200) {
    return data.data;
  } else {
    // 处理错误
    console.error('Request failed:', data.message || 'Unknown error');
    throw new Error(data.message || 'Request failed');
  }
});

// 创建Vue插件
export default {
  install: (app: App) => {
    // 将fetchHttp实例添加到全局属性中
    app.config.globalProperties.$fetch = fetchHttp;
  }
};
