ソースを参照

请求参数新加 是否使用新的AccessToken

dsy 1 週間 前
コミット
954dce128b
1 ファイル変更19 行追加6 行削除
  1. 19 6
      src/utils/http.js

+ 19 - 6
src/utils/http.js

@@ -79,17 +79,27 @@ service.interceptors.response.use(
 /**
  * 得到必需的请求参数
  * @param {boolean} noTransmit 不传递旧的请求参数
+ * @param {object} options 其他选项
+ * @param {boolean} options.newAccessToken 是否使用新的AccessToken
  * @returns {object} 返回必需的请求参数
  * */
-function getRequestParams(noTransmit = false) {
+function getRequestParams(noTransmit = false, options = { newAccessToken: false }) {
+  const { newAccessToken } = options;
+
   const token = getToken();
+  let AccessToken = token?.access_token ?? '';
+  if (newAccessToken) {
+    AccessToken = token?.gcls_sys_session_info?.access_token || AccessToken;
+  }
+
   const params = {
     UserCode: token?.gcls_sys_session_info?.user_id ?? '',
     UserType: token?.gcls_sys_session_info?.user_type ?? '',
     SessionID: token?.gcls_sys_session_info?.session_id ?? '',
   };
+
   return {
-    AccessToken: token?.access_token ?? '',
+    AccessToken,
     ...(!noTransmit && params),
   };
 }
@@ -107,18 +117,21 @@ export const http = {
    * @param {string} url 请求地址
    * @param {object} data 请求数据
    * @param {object} config 请求配置
+   * @param {boolean} noTransmit 不传递旧的请求参数
+   * @param {object} options 其他选项
+   * @param {boolean} options.newAccessToken 是否使用新的AccessToken
    */
-  post: (url, data = {}, config = {}, noTransmit = false) => {
+  post: (url, data = {}, config = {}, noTransmit = false, options = { newAccessToken: false }) => {
     config.params = {
       ...config.params,
-      ...getRequestParams(noTransmit),
+      ...getRequestParams(noTransmit, options),
     };
     return service.post(url, data, config);
   },
-  postForm: (url, data = {}, config = {}, noTransmit = false) => {
+  postForm: (url, data = {}, config = {}, noTransmit = false, options = { newAccessToken: false }) => {
     config.params = {
       ...config.params,
-      ...getRequestParams(noTransmit),
+      ...getRequestParams(noTransmit, options),
     };
     return service.postForm(url, data, config);
   },