Explorar o código

perf: 优化请求加解密相关的debug日志

BaiLuoYan hai 3 meses
pai
achega
449a9e0c7d
Modificáronse 1 ficheiros con 17 adicións e 14 borrados
  1. 17 14
      src/config/request/encryptionInterceptors.ts

+ 17 - 14
src/config/request/encryptionInterceptors.ts

@@ -3,10 +3,7 @@ import isNil from 'ramda/es/isNil';
 import globalConfig from '@/config';
 import { CompressMethod } from '@/config/types';
 // import { bytesBase64decode } from '@/utils/crypto';
-import {
-    decryptResponsePayload,
-    encryptRequestPayload,
-} from '@/utils/requestCrypto';
+import { decryptResponsePayload, encryptRequestPayload } from '@/utils/requestCrypto';
 import { bytesToString, stringToBytes } from '@/utils/bytesUtils';
 import { currentUnixTimestamp } from '@/utils/timeUtils';
 import {
@@ -14,6 +11,7 @@ import {
     IResponseInterceptor,
     RequestConfig,
 } from '@/utils/request/types';
+import { bytesBase64encode } from '@/utils/crypto';
 
 /**
  * 请求数据加密拦截器
@@ -54,8 +52,6 @@ export const requestEncryptionInterceptor: IRequestInterceptorAxios = async (con
 
     config.data = config.data ?? {}; // 如果请求体为空,则设置为空对象(后端需要非空请求体)
     if (['post', 'put'].includes(config.method?.toLowerCase() || '')) {
-        console.log('[requestEncryptionInterceptor] config:', config);
-
         // 设置 Content-Type 为 application/octet-stream
         config.headers['Content-Type'] = 'application/octet-stream';
 
@@ -70,6 +66,12 @@ export const requestEncryptionInterceptor: IRequestInterceptorAxios = async (con
             compressMethod as CompressMethod
         );
 
+        console.log(
+            `⬆️ 🔐 [requestEncryptionInterceptor] api (${config.url}) request data encrypted,`,
+            `timestamp: ${timestamp},`,
+            `data: ${bytesBase64encode(encrypted)}`
+        );
+
         // 设置请求体
         config.data = encrypted.buffer;
     }
@@ -111,21 +113,22 @@ export const responseDecryptionInterceptor: IResponseInterceptor = async (respon
             keyBytes,
             compressMethod as CompressMethod
         );
-
+        console.log(
+            `⬇️ 🔓 [responseDecryptionInterceptor] api (${response.config.url}) response data decrypted,`,
+            `timestamp: ${decrypted?.timestamp},`,
+            `data: ${bytesToString(decrypted?.data)}`
+        );
         if (decrypted?.data?.length) {
             try {
                 const dataStr = bytesToString(decrypted.data);
+                response.data = JSON.parse(dataStr);
                 console.log(
-                    '[responseDecryptionInterceptor] Payload parsed. Decrypted timestamp:',
-                    decrypted.timestamp,
-                    '| Body string:',
-                    dataStr
+                    `⬇️ [responseDecryptionInterceptor] api (${response.config.url}) response data parsed:`,
+                    response.data
                 );
-                response.data = JSON.parse(dataStr);
-                console.log('[responseDecryptionInterceptor] response.data:', response.data);
             } catch (error) {
                 console.error(
-                    '[responseDecryptionInterceptor] Failed to parse decrypted response data:',
+                    `⬇️ [responseDecryptionInterceptor] api (${response.config.url}) response data parse failed:`,
                     error
                 );
             }