import MockAdapter from 'axios-mock-adapter';
import instance from '@/utils/axios'
import {setupAuthMock}  from './auth'
import { setupUserMock } from './user';
import { setupPostMock } from './post';

// 创建 Mock 实例
export const mock = new MockAdapter(instance, { 
  delayResponse: process.env.NODE_ENV === 'test' ? 0 : 500 
})

// 聚合所有 Mock 模块
export function setupMock() {
  // 开发环境启用 Mock
  if (process.env.NODE_ENV !== 'development') return

  // 加载各模块 Mock
  setupAuthMock(mock)
  setupUserMock(mock)
  setupPostMock(mock)
  
  console.log('Mock 模块已加载')
}

// 自动执行
setupMock()