lrj
昨天 dc643ba44fd2a426263015491268a0f0d6b4671d
web/src/config/api.ts
@@ -17,36 +17,59 @@
// GraphQL请求工具函数
export const graphqlRequest = async (query: string, variables: any = {}) => {
  console.log('=== GraphQL请求开始 ===');
  console.log('请求端点:', API_CONFIG.GRAPHQL_ENDPOINT);
  console.log('查询语句:', query);
  console.log('变量:', variables);
  // 获取JWT token
  const { getToken } = await import('@/utils/auth');
  const token = getToken();
  console.log('JWT Token:', token ? '已获取' : '未获取');
  const headers: Record<string, string> = {
    'Content-Type': 'application/json',
  };
  if (token) {
    headers['Authorization'] = `Bearer ${token}`;
  }
  console.log('请求头:', headers);
  const requestBody = JSON.stringify({
    query,
    variables,
  });
  console.log('请求体:', requestBody);
  try {
  const response = await fetch(API_CONFIG.GRAPHQL_ENDPOINT, {
    method: 'POST',
    headers: headers,
    body: JSON.stringify({
      query,
      variables,
    }),
      body: requestBody,
  })
    console.log('响应状态:', response.status);
    console.log('响应状态文本:', response.statusText);
  if (!response.ok) {
    throw new Error(`HTTP error! status: ${response.status}`)
  }
  const result = await response.json()
    console.log('响应结果:', result);
  
  if (result.errors) {
      console.error('GraphQL错误:', result.errors);
    throw new Error(result.errors[0].message)
  }
    console.log('返回数据:', result.data);
  return result.data
  } catch (error) {
    console.error('=== GraphQL请求失败 ===');
    console.error('错误详情:', error);
    throw error;
  }
}
// 通用API请求工具函数