From 56d8af147ec88bb98a37fa3ddf47c2aa16a4110e Mon Sep 17 00:00:00 2001
From: zuihou <244387066@qq.com>
Date: Wed, 12 May 2021 13:19:14 +0800
Subject: [PATCH] feat(axios): Do you want to return the original response header? For example, use this property when you need to get the response header

---
 src/utils/http/axios/index.ts | 8 +++++++-
 src/utils/http/axios/types.ts | 2 ++
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/utils/http/axios/index.ts b/src/utils/http/axios/index.ts
index e4c4cfb..73e115c 100644
--- a/src/utils/http/axios/index.ts
+++ b/src/utils/http/axios/index.ts
@@ -35,7 +35,11 @@ const transform: AxiosTransform = {
    */
   transformRequestHook: (res: AxiosResponse<Result>, options: RequestOptions) => {
     const { t } = useI18n();
-    const { isTransformRequestResult } = options;
+    const { isTransformRequestResult, isReturnNativeResponse } = options;
+    // 是否返回原生响应头 比如:需要获取响应头时使用该属性
+    if (isReturnNativeResponse) {
+      return res;
+    }
     // 不进行任何处理,直接返回
     // 用于页面代码可能需要直接获取code,data,message这些信息时开启
     if (!isTransformRequestResult) {
@@ -192,6 +196,8 @@ function createAxios(opt?: Partial<CreateAxiosOptions>) {
         requestOptions: {
           // 默认将prefix 添加到url
           joinPrefix: true,
+          // 是否返回原生响应头 比如:需要获取响应头时使用该属性
+          isReturnNativeResponse: false,
           // 需要对返回数据进行处理
           isTransformRequestResult: true,
           // post请求的时候添加参数到url
diff --git a/src/utils/http/axios/types.ts b/src/utils/http/axios/types.ts
index 99fc46e..8ba1318 100644
--- a/src/utils/http/axios/types.ts
+++ b/src/utils/http/axios/types.ts
@@ -7,6 +7,8 @@ export interface RequestOptions {
   formatDate?: boolean;
   //  Whether to process the request result
   isTransformRequestResult?: boolean;
+  // 是否返回原生响应头 比如:需要获取响应头时使用该属性
+  isReturnNativeResponse?: boolean;
   // Whether to join url
   joinPrefix?: boolean;
   // Interface address, use the default apiUrl if you leave it blank
--
libgit2 0.23.3