From 77c4055c72fc5d0e0becaf3c410ab700f26c220b Mon Sep 17 00:00:00 2001
From: lrj <owen.stl@gmail.com>
Date: 星期六, 04 十月 2025 18:57:09 +0800
Subject: [PATCH] fix(auth): 避免在 JWT 过滤器中消费原始 GraphQL 请求体,防止下游读取为空引发 400
---
web/src/config/api.ts | 34 ++++++++++++----------------------
1 files changed, 12 insertions(+), 22 deletions(-)
diff --git a/web/src/config/api.ts b/web/src/config/api.ts
index 62cf341..c1430be 100644
--- a/web/src/config/api.ts
+++ b/web/src/config/api.ts
@@ -17,54 +17,44 @@
// 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,
+ headers,
body: requestBody,
- })
-
- console.log('鍝嶅簲鐘舵��:', response.status);
- console.log('鍝嶅簲鐘舵�佹枃鏈�:', response.statusText);
+ });
if (!response.ok) {
- throw new Error(`HTTP error! status: ${response.status}`)
+ throw new Error(`HTTP error! status: ${response.status}`);
}
- const result = await response.json()
- console.log('鍝嶅簲缁撴灉:', result);
-
+ const result = await response.json();
+
if (result.errors) {
- console.error('GraphQL閿欒:', result.errors);
- throw new Error(result.errors[0].message)
+ throw new Error(`GraphQL errors: ${JSON.stringify(result.errors)}`);
}
- console.log('杩斿洖鏁版嵁:', result.data);
- return result.data
+ return result;
} catch (error) {
console.error('=== GraphQL璇锋眰澶辫触 ===');
console.error('閿欒璇︽儏:', error);
--
Gitblit v1.8.0