fix(frontend): ApiResponse data nullability contract
- Change ApiResponse.data from T to T | null to match backend reality - Add compile-time type contract file (http.typecheck.ts) - Maintain backward compatibility with existing service calls - Add test for success response with null data Refs: review-fix-closure-2026-05-28 ApiResponse nullability
This commit is contained in:
@@ -143,7 +143,7 @@ async function refreshAccessToken(): Promise<TokenBundle> {
|
||||
return cleanupSessionOnAuthFailure()
|
||||
}
|
||||
|
||||
return result.data
|
||||
return result.data as TokenBundle
|
||||
}
|
||||
|
||||
async function performTokenRefresh(): Promise<TokenBundle> {
|
||||
@@ -293,7 +293,7 @@ async function request<T>(path: string, options: RequestOptions = {}): Promise<T
|
||||
throw AppError.fromResponse(result, response.status)
|
||||
}
|
||||
|
||||
return result.data
|
||||
return result.data!
|
||||
} catch (error) {
|
||||
if (error instanceof DOMException && error.name === 'AbortError') {
|
||||
throw AppError.network('请求超时,请稍后重试')
|
||||
|
||||
Reference in New Issue
Block a user