// API服务 - 只包含推荐查询功能
// 开发环境：使用Vite代理（空字符串），生产环境：使用环境变量或默认值
const API_BASE_URL = import.meta.env.VITE_API_URL || (import.meta.env.DEV ? '' : 'http://asapi.deepx1.com');

const buildUrl = (path) => {
  // 如果API_BASE_URL为空（开发环境使用代理），直接返回路径
  if (!API_BASE_URL) {
    return path.startsWith('/') ? path : `/${path}`;
  }
  const baseUrl = API_BASE_URL.endsWith('/') ? API_BASE_URL.slice(0, -1) : API_BASE_URL;
  const cleanPath = path.startsWith('/') ? path : `/${path}`;
  return `${baseUrl}${cleanPath}`;
};

export const api = {
  // 获取实时推荐（合约）
  getRecommendations: async (params = {}) => {
    // 默认使用实时推荐
    if (!params.type) {
      params.type = 'realtime';
    }
    const query = new URLSearchParams(params).toString();
    const url = query ? `${buildUrl('/api/recommendations')}?${query}` : buildUrl('/api/recommendations');
    const response = await fetch(url);
    if (!response.ok) {
      const error = await response.json().catch(() => ({ detail: '获取推荐失败' }));
      throw new Error(error.detail || '获取推荐失败');
    }
    return response.json();
  },

  // 获取现货推荐
  getSpotRecommendations: async (params = {}) => {
    const query = new URLSearchParams(params).toString();
    const url = query ? `${buildUrl('/api/recommendations/spot')}?${query}` : buildUrl('/api/recommendations/spot');
    const response = await fetch(url);
    if (!response.ok) {
      const error = await response.json().catch(() => ({ detail: '获取现货推荐失败' }));
      throw new Error(error.detail || '获取现货推荐失败');
    }
    return response.json();
  }
};
