export function getApiBase() {
  const envBase = import.meta.env.VITE_API_BASE;
  if (envBase) {
    return String(envBase).replace(/\/+$/, "");
  }
  // 默认走同源 /api（更适合反向代理 + HTTPS）
  if (typeof window === "undefined") return "http://localhost:8080/api";
  return `${window.location.origin}/api`;
}

export async function apiRequest(path, options = {}) {
  const base = getApiBase();
  const res = await fetch(`${base}${path}`, {
    headers: {
      "Content-Type": "application/json",
      ...(options.headers || {}),
    },
    ...options,
  });
  let body = null;
  try {
    body = await res.json();
  } catch {
    body = null;
  }
  if (!res.ok) {
    const message =
      (body && body.error) || `请求失败 (${res.status} ${res.statusText})`;
    throw new Error(message);
  }
  return body;
}

