Browse Source

feat(axios): add `withToken` option

添加withToken配置,用于控制request是否提交token
无木 3 years ago
parent
commit
c99cf5e53f
3 changed files with 11 additions and 1 deletions
  1. 6 0
      CHANGELOG.zh_CN.md
  2. 3 1
      src/utils/http/axios/index.ts
  3. 2 0
      types/axios.d.ts

+ 6 - 0
CHANGELOG.zh_CN.md

@@ -1,3 +1,7 @@
+### ✨ Features
+
+- **Axios** 新增`withToken`配置,用于控制请求是否携带 token
+
 ### 🐛 Bug Fixes
 
 - **Modal** 修复点击遮罩不能关闭
@@ -5,6 +9,8 @@
 - **Modal** 修复 `setModalProps` 不支持设置 `defaultFullscreen`
 - **Sider** 修复侧边菜单底部的折叠按钮点击无效
 - **SvgIcon** 修复图标样式问题
+- **Table** 修复为 table 提供 rowSelection.onChange 时,无法手动变更 table 的选中项的问题
+- **Icon** 修复 SvgIcon 缺少部分样式的问题
 
 ## 2.5.2(2021-06-27)
 

+ 3 - 1
src/utils/http/axios/index.ts

@@ -122,7 +122,7 @@ const transform: AxiosTransform = {
   requestInterceptors: (config, options) => {
     // 请求之前处理config
     const token = getToken();
-    if (token) {
+    if (token && options?.requestOptions?.withToken !== false) {
       // jwt token
       config.headers.Authorization = options.authenticationScheme
         ? `${options.authenticationScheme} ${token}`
@@ -214,6 +214,8 @@ function createAxios(opt?: Partial<CreateAxiosOptions>) {
           joinTime: true,
           // 忽略重复请求
           ignoreCancelToken: true,
+          // 是否携带token
+          withToken: true,
         },
       },
       opt || {}

+ 2 - 0
types/axios.d.ts

@@ -19,6 +19,8 @@ export interface RequestOptions {
   // Whether to add a timestamp
   joinTime?: boolean;
   ignoreCancelToken?: boolean;
+  // Whether to send token in header
+  withToken?: boolean;
 }
 
 export interface Result<T = any> {