From 00ea64ccf296f32a0cc94dcddeaf9f34baccebbb Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期日, 28 九月 2025 16:49:09 +0800
Subject: [PATCH] fix: 新增日志

---
 apps/cMiniApp/src/utils/storage/index.ts |    1 
 apps/cMiniApp/src/utils/request/index.ts |   33 ++
 apps/cMiniApp/package.json               |    2 
 packages/utils/index.ts                  |    2 
 pnpm-lock.yaml                           |   33 +-
 packages/services/apiV2/index.ts         |    2 
 apps/bMiniApp/src/utils/storage/auth.ts  |    2 
 apps/cMiniApp/src/utils/storage/auth.ts  |    2 
 packages/constants/apiEnum.ts            |   60 +++
 apps/bMiniApp/src/utils/setConfig.ts     |    5 
 apps/bMiniApp/src/utils/request/index.ts |   33 ++
 apps/cMiniApp/src/app.ts                 |    2 
 packages/utils/package.json              |    3 
 packages/utils/storage.ts                |    2 
 packages/services/apiV2/logRecords.ts    |   39 ++
 apps/bMiniApp/package.json               |    2 
 apps/bMiniApp/src/utils/storage/index.ts |    1 
 packages/services/apiV2/sms.ts           |   42 +++
 apps/cMiniApp/src/utils/setConfig.ts     |    5 
 /dev/null                                |   39 --
 packages/utils/LoggerRecord/index.ts     |   74 +++++
 packages/utils/config.ts                 |   11 
 apps/bMiniApp/src/app.ts                 |    2 
 apps/cMiniApp/project.config.json        |    4 
 packages/services/apiV2/typings.d.ts     |  431 ++++++++++++++++++++++++++----
 25 files changed, 693 insertions(+), 139 deletions(-)

diff --git a/apps/bMiniApp/package.json b/apps/bMiniApp/package.json
index c554aae..66d4e82 100644
--- a/apps/bMiniApp/package.json
+++ b/apps/bMiniApp/package.json
@@ -79,7 +79,7 @@
     "pinia": "^2.1.6",
     "qs": "^6.11.1",
     "senin-mini": "^1.0.12",
-    "senior-request": "^1.0.3",
+    "senior-request": "^1.0.10",
     "taro-plugin-pinia": "^1.0.0",
     "vconsole": "^3.15.1",
     "vue": "3.5.12",
diff --git a/apps/bMiniApp/src/app.ts b/apps/bMiniApp/src/app.ts
index 5039280..4bd5754 100644
--- a/apps/bMiniApp/src/app.ts
+++ b/apps/bMiniApp/src/app.ts
@@ -2,7 +2,7 @@
 
 import '@nutui/nutui-taro/dist/style.css';
 import './app.scss';
-
+import '@/utils/setConfig';
 import { setupStore } from '@/stores';
 
 import { useSystemStore } from '@/stores/modules/system';
diff --git a/apps/bMiniApp/src/utils/request/index.ts b/apps/bMiniApp/src/utils/request/index.ts
index 34b5098..2ebbed6 100644
--- a/apps/bMiniApp/src/utils/request/index.ts
+++ b/apps/bMiniApp/src/utils/request/index.ts
@@ -3,7 +3,7 @@
 import qs from 'qs';
 import Taro from '@tarojs/taro';
 import { getToken } from '@/utils';
-import { tokenIsExpired, Message, SensitiveManage } from '@12333/utils';
+import { tokenIsExpired, Message, SensitiveManage, httpLoggerRecord } from '@12333/utils';
 import { useUserStoreWithOut } from '@/stores/modules/user';
 
 const RefreshTokenUrl = '/gettokenbyrefreshtoken';
@@ -63,6 +63,7 @@
    */
   msg?: string;
   showType?: ErrorShowType;
+  traceId?: string;
 }
 
 interface ErrorResponse {
@@ -103,6 +104,19 @@
     // 閿欒鎺ユ敹鍙婂鐞�
     errorHandler: (error, opts) => {
       console.log('error: ', error);
+
+      const url = opts.url ?? '';
+      httpLoggerRecord.error({
+        message: `[${url}] 璇锋眰閿欒`,
+        httpParams: {
+          url: url,
+          //@ts-ignore
+          traceId: error?.info?.traceId,
+          stackTrace: error.stack,
+        },
+        args: [{ data: opts.data, params: opts.params, headers: opts.headers }],
+      });
+
       if (opts?.skipErrorHandler) throw error;
 
       if (opts?.customErrorHandler) {
@@ -172,6 +186,14 @@
       (config) => {
         const $config = config;
 
+        httpLoggerRecord.info({
+          message: `[${$config.url}] 璇锋眰寮�濮媊,
+          httpParams: {
+            url: $config.url,
+          },
+          args: [{ data: $config.data, params: $config.params, headers: $config.headers }],
+        });
+
         const token = getToken();
 
         const userStore = useUserStoreWithOut();
@@ -216,6 +238,15 @@
       (response) => {
         const $config = response.config as IRequestOptions;
 
+        httpLoggerRecord.info({
+          message: `[${$config.url}] 璇锋眰缁撴潫`,
+          httpParams: {
+            url: $config.url,
+            traceId: response.data?.traceId,
+          },
+          args: [{ data: $config.data, params: $config.params, headers: $config.headers }],
+        });
+
         const { needNProcess, getResponse = false } = $config;
 
         const userStore = useUserStoreWithOut();
diff --git a/apps/bMiniApp/src/utils/setConfig.ts b/apps/bMiniApp/src/utils/setConfig.ts
new file mode 100644
index 0000000..6070280
--- /dev/null
+++ b/apps/bMiniApp/src/utils/setConfig.ts
@@ -0,0 +1,5 @@
+import { setUtilsConfig } from '@12333/utils/config';
+
+setUtilsConfig({
+  appName: '鐏靛伐杈惧皬绋嬪簭',
+});
diff --git a/apps/bMiniApp/src/utils/storage/auth.ts b/apps/bMiniApp/src/utils/storage/auth.ts
index e5e8fda..4f4dd24 100644
--- a/apps/bMiniApp/src/utils/storage/auth.ts
+++ b/apps/bMiniApp/src/utils/storage/auth.ts
@@ -1,4 +1,4 @@
-import { storageLocal } from './storage';
+import { storageLocal } from '@12333/utils';
 import { useUserStoreWithOut } from '@/stores/modules/user';
 
 const StorageKey = {
diff --git a/apps/bMiniApp/src/utils/storage/index.ts b/apps/bMiniApp/src/utils/storage/index.ts
index 3df6b1e..269586e 100644
--- a/apps/bMiniApp/src/utils/storage/index.ts
+++ b/apps/bMiniApp/src/utils/storage/index.ts
@@ -1,2 +1 @@
-export * from './storage';
 export * from './auth';
diff --git a/apps/cMiniApp/package.json b/apps/cMiniApp/package.json
index 34e05cb..6c5dba9 100644
--- a/apps/cMiniApp/package.json
+++ b/apps/cMiniApp/package.json
@@ -79,7 +79,7 @@
     "pinia": "^2.1.6",
     "qs": "^6.11.1",
     "senin-mini": "^1.0.12",
-    "senior-request": "^1.0.3",
+    "senior-request": "^1.0.10",
     "taro-plugin-pinia": "^1.0.0",
     "vconsole": "^3.15.1",
     "vue": "3.5.12",
diff --git a/apps/cMiniApp/project.config.json b/apps/cMiniApp/project.config.json
index 1d057ff..cc53dd5 100644
--- a/apps/cMiniApp/project.config.json
+++ b/apps/cMiniApp/project.config.json
@@ -3,8 +3,8 @@
     "description": "",
     "setting": {
         "urlCheck": false,
-        "es6": true,
-        "enhance": true,
+        "es6": false,
+        "enhance": false,
         "postcss": false,
         "preloadBackgroundData": false,
         "minified": false,
diff --git a/apps/cMiniApp/src/app.ts b/apps/cMiniApp/src/app.ts
index 5039280..4bd5754 100644
--- a/apps/cMiniApp/src/app.ts
+++ b/apps/cMiniApp/src/app.ts
@@ -2,7 +2,7 @@
 
 import '@nutui/nutui-taro/dist/style.css';
 import './app.scss';
-
+import '@/utils/setConfig';
 import { setupStore } from '@/stores';
 
 import { useSystemStore } from '@/stores/modules/system';
diff --git a/apps/cMiniApp/src/utils/request/index.ts b/apps/cMiniApp/src/utils/request/index.ts
index 34b5098..2ebbed6 100644
--- a/apps/cMiniApp/src/utils/request/index.ts
+++ b/apps/cMiniApp/src/utils/request/index.ts
@@ -3,7 +3,7 @@
 import qs from 'qs';
 import Taro from '@tarojs/taro';
 import { getToken } from '@/utils';
-import { tokenIsExpired, Message, SensitiveManage } from '@12333/utils';
+import { tokenIsExpired, Message, SensitiveManage, httpLoggerRecord } from '@12333/utils';
 import { useUserStoreWithOut } from '@/stores/modules/user';
 
 const RefreshTokenUrl = '/gettokenbyrefreshtoken';
@@ -63,6 +63,7 @@
    */
   msg?: string;
   showType?: ErrorShowType;
+  traceId?: string;
 }
 
 interface ErrorResponse {
@@ -103,6 +104,19 @@
     // 閿欒鎺ユ敹鍙婂鐞�
     errorHandler: (error, opts) => {
       console.log('error: ', error);
+
+      const url = opts.url ?? '';
+      httpLoggerRecord.error({
+        message: `[${url}] 璇锋眰閿欒`,
+        httpParams: {
+          url: url,
+          //@ts-ignore
+          traceId: error?.info?.traceId,
+          stackTrace: error.stack,
+        },
+        args: [{ data: opts.data, params: opts.params, headers: opts.headers }],
+      });
+
       if (opts?.skipErrorHandler) throw error;
 
       if (opts?.customErrorHandler) {
@@ -172,6 +186,14 @@
       (config) => {
         const $config = config;
 
+        httpLoggerRecord.info({
+          message: `[${$config.url}] 璇锋眰寮�濮媊,
+          httpParams: {
+            url: $config.url,
+          },
+          args: [{ data: $config.data, params: $config.params, headers: $config.headers }],
+        });
+
         const token = getToken();
 
         const userStore = useUserStoreWithOut();
@@ -216,6 +238,15 @@
       (response) => {
         const $config = response.config as IRequestOptions;
 
+        httpLoggerRecord.info({
+          message: `[${$config.url}] 璇锋眰缁撴潫`,
+          httpParams: {
+            url: $config.url,
+            traceId: response.data?.traceId,
+          },
+          args: [{ data: $config.data, params: $config.params, headers: $config.headers }],
+        });
+
         const { needNProcess, getResponse = false } = $config;
 
         const userStore = useUserStoreWithOut();
diff --git a/apps/cMiniApp/src/utils/setConfig.ts b/apps/cMiniApp/src/utils/setConfig.ts
new file mode 100644
index 0000000..2f4e93d
--- /dev/null
+++ b/apps/cMiniApp/src/utils/setConfig.ts
@@ -0,0 +1,5 @@
+import { setUtilsConfig } from '@12333/utils/config';
+
+setUtilsConfig({
+  appName: '宸ユ槗璧氬皬绋嬪簭',
+});
diff --git a/apps/cMiniApp/src/utils/storage/auth.ts b/apps/cMiniApp/src/utils/storage/auth.ts
index d82d35c..fb3a306 100644
--- a/apps/cMiniApp/src/utils/storage/auth.ts
+++ b/apps/cMiniApp/src/utils/storage/auth.ts
@@ -1,4 +1,4 @@
-import { storageLocal } from './storage';
+import { storageLocal } from '@12333/utils';
 import { useUserStoreWithOut } from '@/stores/modules/user';
 
 const StorageKey = {
diff --git a/apps/cMiniApp/src/utils/storage/index.ts b/apps/cMiniApp/src/utils/storage/index.ts
index 3df6b1e..269586e 100644
--- a/apps/cMiniApp/src/utils/storage/index.ts
+++ b/apps/cMiniApp/src/utils/storage/index.ts
@@ -1,2 +1 @@
-export * from './storage';
 export * from './auth';
diff --git a/apps/cMiniApp/src/utils/storage/storage.ts b/apps/cMiniApp/src/utils/storage/storage.ts
deleted file mode 100644
index f15fbd6..0000000
--- a/apps/cMiniApp/src/utils/storage/storage.ts
+++ /dev/null
@@ -1,39 +0,0 @@
-/* eslint-disable @typescript-eslint/no-explicit-any */
-import Taro from '@tarojs/taro';
-
-//sessionStorage operate
-class localStorageProxy {
-  constructor() {}
-
-  // 瀛�
-  public setItem(key: string, value: any): void {
-    return Taro.setStorageSync(key, JSON.stringify(value));
-  }
-
-  // 鍙�
-  public getItem<T = any>(key: string): Nullable<T> {
-    try {
-      const value = Taro.getStorageSync(key);
-      if (value) {
-        // Do something with return value
-        return JSON.parse(value);
-      }
-      return null;
-    } catch (e) {
-      // Do something when catch error
-      return null;
-    }
-  }
-
-  // 鍒�
-  public removeItem(key: string) {
-    return Taro.removeStorageSync(key);
-  }
-
-  // 娓呯┖
-  public clear() {
-    return Taro.clearStorage();
-  }
-}
-
-export const storageLocal = new localStorageProxy();
diff --git a/packages/constants/apiEnum.ts b/packages/constants/apiEnum.ts
index 5e7d264..0d36754 100644
--- a/packages/constants/apiEnum.ts
+++ b/packages/constants/apiEnum.ts
@@ -31,6 +31,14 @@
   ElectronSignUrl = 10,
 }
 
+/** 鎺у埗鍙版棩蹇楅�氶亾 */
+export enum EnumConsoleLogAccess {
+  /**鍚庣 */
+  Back = 10,
+  /**鍓嶇 */
+  Front = 20,
+}
+
 /** 鍚堝悓鍒剁増鐘舵�� */
 export enum EnumContractTemplateStatus {
   /**寰呭埗鐗� */
@@ -199,6 +207,22 @@
   Pass = 30,
 }
 
+/** 鏃ュ織绾у埆 */
+export enum EnumLogLevel {
+  /**璺熻釜 */
+  Trace = 10,
+  /**璋冭瘯 */
+  Debug = 20,
+  /**淇℃伅 */
+  Information = 30,
+  /**璀﹀憡 */
+  Warning = 40,
+  /**閿欒 */
+  Error = 50,
+  /**涓ラ噸 */
+  Critical = 60,
+}
+
 /** 鑿滃崟绫诲瀷 */
 export enum EnumMenuType {
   /**鑿滃崟 */
@@ -321,28 +345,30 @@
   CommonServerLogRecords = 7,
   /**鍚屾鏁版嵁搴� */
   CommonServerSyncDatabase = 8,
+  /**鐭俊宸ュ叿 */
+  CommonServerSmsUtils = 9,
   /**鐢ㄦ埛璁よ瘉 */
-  UserServerAuth = 9,
+  UserServerAuth = 10,
   /**鐢ㄦ埛鑿滃崟 */
-  UserServerMenu = 10,
+  UserServerMenu = 11,
   /**鐢ㄦ埛璧勬簮 */
-  UserServerResource = 11,
+  UserServerResource = 12,
   /**鐢ㄦ埛瑙掕壊 */
-  UserServerRole = 12,
+  UserServerRole = 13,
   /**鐢ㄦ埛淇℃伅 */
-  UserServerUser = 13,
+  UserServerUser = 14,
   /**鐢靛瓙绛� */
-  UserServerElectronSign = 14,
+  UserServerElectronSign = 15,
   /**鐢ㄦ埛绠�鍘� */
-  UserServerUserResume = 15,
+  UserServerUserResume = 16,
   /**浼佷笟淇℃伅 */
-  UserServerEnterprise = 16,
+  UserServerEnterprise = 17,
   /**浼佷笟閽卞寘 */
-  UserServerEnterpriseWallet = 17,
+  UserServerEnterpriseWallet = 18,
   /**鐏靛伐淇℃伅 */
-  UserServerEnterpriseEmployee = 18,
+  UserServerEnterpriseEmployee = 19,
   /**鐢靛瓙绛� */
-  ElectronSignServerElectronSign = 19,
+  ElectronSignServerElectronSign = 20,
 }
 
 /** 璧勬簮璇锋眰鏂瑰紡 */
@@ -391,6 +417,18 @@
   AliyunSms = 10,
 }
 
+/** 鐭俊鐘舵�� */
+export enum EnumSmsStatus {
+  /**寰呭彂閫� */
+  Wait = 0,
+  /**鍙戦�佷腑 */
+  InProcess = 10,
+  /**鍙戦�佹垚鍔� */
+  Success = 20,
+  /**鍙戦�佸け璐� */
+  Fail = 30,
+}
+
 /** 浠诲姟缁撶畻鐘舵�� */
 export enum EnumTaskCheckReceiveStatus {
   /**寰呮彁浜� */
diff --git a/packages/services/apiV2/index.ts b/packages/services/apiV2/index.ts
index 99078ea..c27a0d6 100644
--- a/packages/services/apiV2/index.ts
+++ b/packages/services/apiV2/index.ts
@@ -5,6 +5,7 @@
 import * as enterpriseEmployee from './enterpriseEmployee';
 import * as user from './user';
 import * as role from './role';
+import * as sms from './sms';
 import * as ocrUtils from './ocrUtils';
 import * as task from './task';
 import * as enterprise from './enterprise';
@@ -25,6 +26,7 @@
   enterpriseEmployee,
   user,
   role,
+  sms,
   ocrUtils,
   task,
   enterprise,
diff --git a/packages/services/apiV2/logRecords.ts b/packages/services/apiV2/logRecords.ts
index 0cb3919..4780141 100644
--- a/packages/services/apiV2/logRecords.ts
+++ b/packages/services/apiV2/logRecords.ts
@@ -2,6 +2,18 @@
 // @ts-ignore
 import { request } from '@/utils/request';
 
+/** 鎺у埗鍙版棩蹇楀垎椤靛垪琛ㄦ煡璇� POST /api/common/logRecords/getConsoleLogs */
+export async function getConsoleLogs(body: API.GetConsoleLogsQuery, options?: API.RequestConfig) {
+  return request<API.GetConsoleLogsQueryResult>('/api/common/logRecords/getConsoleLogs', {
+    method: 'POST',
+    headers: {
+      'Content-Type': 'application/json-patch+json',
+    },
+    data: body,
+    ...(options || {}),
+  });
+}
+
 /** 鏌ヨ鏁版嵁搴撳璁℃棩蹇楀垎椤靛垪琛� POST /api/common/logRecords/getDbAuditLogs */
 export async function getDbAuditLogs(body: API.GetDbAuditLogsQuery, options?: API.RequestConfig) {
   return request<API.GetDbAuditLogsQueryResult>('/api/common/logRecords/getDbAuditLogs', {
@@ -32,6 +44,18 @@
 /** 璧勬簮鏃ュ織鍒嗛〉鍒楄〃鏌ヨ POST /api/common/logRecords/getResourceLogs */
 export async function getResourceLogs(body: API.GetResourceLogsQuery, options?: API.RequestConfig) {
   return request<API.GetResourceLogsQueryResult>('/api/common/logRecords/getResourceLogs', {
+    method: 'POST',
+    headers: {
+      'Content-Type': 'application/json-patch+json',
+    },
+    data: body,
+    ...(options || {}),
+  });
+}
+
+/** 鏌ヨ鐭俊鏃ュ織 POST /api/common/logRecords/getSmsLogs */
+export async function getSmsLogs(body: API.GetSmsLogsQuery, options?: API.RequestConfig) {
+  return request<API.GetSmsLogsQueryResult>('/api/common/logRecords/getSmsLogs', {
     method: 'POST',
     headers: {
       'Content-Type': 'application/json-patch+json',
@@ -85,3 +109,18 @@
     ...(options || {}),
   });
 }
+
+/** 淇濆瓨鍓嶇鏃ュ織 POST /api/common/logRecords/saveFrontConsoleLog */
+export async function saveFrontConsoleLog(
+  body: API.SaveFrontConsoleLogCommand,
+  options?: API.RequestConfig
+) {
+  return request<string>('/api/common/logRecords/saveFrontConsoleLog', {
+    method: 'POST',
+    headers: {
+      'Content-Type': 'application/json-patch+json',
+    },
+    data: body,
+    ...(options || {}),
+  });
+}
diff --git a/packages/services/apiV2/sms.ts b/packages/services/apiV2/sms.ts
new file mode 100644
index 0000000..5a65279
--- /dev/null
+++ b/packages/services/apiV2/sms.ts
@@ -0,0 +1,42 @@
+/* eslint-disable */
+// @ts-ignore
+import { request } from '@/utils/request';
+
+/** 鏌ヨ鐭俊閰嶇疆 POST /api/common/sms/getSmsSetting */
+export async function getSmsSetting(body: API.GetSmsSettingQuery, options?: API.RequestConfig) {
+  return request<API.GetSmsSettingQueryResult>('/api/common/sms/getSmsSetting', {
+    method: 'POST',
+    headers: {
+      'Content-Type': 'application/json-patch+json',
+    },
+    data: body,
+    ...(options || {}),
+  });
+}
+
+/** 淇濆瓨鐭俊閰嶇疆 POST /api/common/sms/saveSmsSetting */
+export async function saveSmsSetting(body: API.SaveSmsSettingCommand, options?: API.RequestConfig) {
+  return request<string>('/api/common/sms/saveSmsSetting', {
+    method: 'POST',
+    headers: {
+      'Content-Type': 'application/json-patch+json',
+    },
+    data: body,
+    ...(options || {}),
+  });
+}
+
+/** 璇氱珛涓氱煭淇″钩鍙板洖浼犻�氱煡 POST /api/common/sms/smsChengLiYeNotify */
+export async function smsChengLiYeNotify(
+  body: API.SmsChengLiYeNotifyCommand,
+  options?: API.RequestConfig
+) {
+  return request<boolean>('/api/common/sms/smsChengLiYeNotify', {
+    method: 'POST',
+    headers: {
+      'Content-Type': 'application/json-patch+json',
+    },
+    data: body,
+    ...(options || {}),
+  });
+}
diff --git a/packages/services/apiV2/typings.d.ts b/packages/services/apiV2/typings.d.ts
index 5623a46..9794017 100644
--- a/packages/services/apiV2/typings.d.ts
+++ b/packages/services/apiV2/typings.d.ts
@@ -563,6 +563,13 @@
     ElectronSignUrl = 10,
   }
 
+  enum EnumConsoleLogAccess {
+    /**鍚庣 */
+    Back = 10,
+    /**鍓嶇 */
+    Front = 20,
+  }
+
   enum EnumContractTemplateStatus {
     /**寰呭埗鐗� */
     Wait = 10,
@@ -714,6 +721,21 @@
     Pass = 30,
   }
 
+  enum EnumLogLevel {
+    /**璺熻釜 */
+    Trace = 10,
+    /**璋冭瘯 */
+    Debug = 20,
+    /**淇℃伅 */
+    Information = 30,
+    /**璀﹀憡 */
+    Warning = 40,
+    /**閿欒 */
+    Error = 50,
+    /**涓ラ噸 */
+    Critical = 60,
+  }
+
   enum EnumMenuType {
     /**鑿滃崟 */
     Menu = 10,
@@ -825,28 +847,30 @@
     CommonServerLogRecords = 7,
     /**鍚屾鏁版嵁搴� */
     CommonServerSyncDatabase = 8,
+    /**鐭俊宸ュ叿 */
+    CommonServerSmsUtils = 9,
     /**鐢ㄦ埛璁よ瘉 */
-    UserServerAuth = 9,
+    UserServerAuth = 10,
     /**鐢ㄦ埛鑿滃崟 */
-    UserServerMenu = 10,
+    UserServerMenu = 11,
     /**鐢ㄦ埛璧勬簮 */
-    UserServerResource = 11,
+    UserServerResource = 12,
     /**鐢ㄦ埛瑙掕壊 */
-    UserServerRole = 12,
+    UserServerRole = 13,
     /**鐢ㄦ埛淇℃伅 */
-    UserServerUser = 13,
+    UserServerUser = 14,
     /**鐢靛瓙绛� */
-    UserServerElectronSign = 14,
+    UserServerElectronSign = 15,
     /**鐢ㄦ埛绠�鍘� */
-    UserServerUserResume = 15,
+    UserServerUserResume = 16,
     /**浼佷笟淇℃伅 */
-    UserServerEnterprise = 16,
+    UserServerEnterprise = 17,
     /**浼佷笟閽卞寘 */
-    UserServerEnterpriseWallet = 17,
+    UserServerEnterpriseWallet = 18,
     /**鐏靛伐淇℃伅 */
-    UserServerEnterpriseEmployee = 18,
+    UserServerEnterpriseEmployee = 19,
     /**鐢靛瓙绛� */
-    ElectronSignServerElectronSign = 19,
+    ElectronSignServerElectronSign = 20,
   }
 
   enum EnumResourceMethod {
@@ -889,6 +913,17 @@
   enum EnumSmsAccess {
     /**闃块噷浜戠煭淇� */
     AliyunSms = 10,
+  }
+
+  enum EnumSmsStatus {
+    /**寰呭彂閫� */
+    Wait = 0,
+    /**鍙戦�佷腑 */
+    InProcess = 10,
+    /**鍙戦�佹垚鍔� */
+    Success = 20,
+    /**鍙戦�佸け璐� */
+    Fail = 30,
   }
 
   enum EnumTaskCheckReceiveStatus {
@@ -1223,6 +1258,24 @@
     /** 閿欒鐮� */
     errorCode?: string;
     data?: GetCodeUrlQueryResult;
+    /** 鎵ц鎴愬姛 */
+    success?: boolean;
+    /** 閿欒淇℃伅 */
+    msg?: any;
+    /** 闄勫姞鏁版嵁 */
+    extras?: any;
+    /** 鏃堕棿鎴� */
+    timestamp?: number;
+  }
+
+  interface FriendlyResultGetConsoleLogsQueryResult {
+    /** 璺熻釜Id */
+    traceId?: string;
+    /** 鐘舵�佺爜 */
+    code?: number;
+    /** 閿欒鐮� */
+    errorCode?: string;
+    data?: GetConsoleLogsQueryResult;
     /** 鎵ц鎴愬姛 */
     success?: boolean;
     /** 閿欒淇℃伅 */
@@ -1889,6 +1942,42 @@
     /** 閿欒鐮� */
     errorCode?: string;
     data?: GetSettlementTaskUsersQueryResult;
+    /** 鎵ц鎴愬姛 */
+    success?: boolean;
+    /** 閿欒淇℃伅 */
+    msg?: any;
+    /** 闄勫姞鏁版嵁 */
+    extras?: any;
+    /** 鏃堕棿鎴� */
+    timestamp?: number;
+  }
+
+  interface FriendlyResultGetSmsLogsQueryResult {
+    /** 璺熻釜Id */
+    traceId?: string;
+    /** 鐘舵�佺爜 */
+    code?: number;
+    /** 閿欒鐮� */
+    errorCode?: string;
+    data?: GetSmsLogsQueryResult;
+    /** 鎵ц鎴愬姛 */
+    success?: boolean;
+    /** 閿欒淇℃伅 */
+    msg?: any;
+    /** 闄勫姞鏁版嵁 */
+    extras?: any;
+    /** 鏃堕棿鎴� */
+    timestamp?: number;
+  }
+
+  interface FriendlyResultGetSmsSettingQueryResult {
+    /** 璺熻釜Id */
+    traceId?: string;
+    /** 鐘舵�佺爜 */
+    code?: number;
+    /** 閿欒鐮� */
+    errorCode?: string;
+    data?: GetSmsSettingQueryResult;
     /** 鎵ц鎴愬姛 */
     success?: boolean;
     /** 閿欒淇℃伅 */
@@ -2999,6 +3088,58 @@
     paramValue5?: string;
   }
 
+  interface GetConsoleLogsQuery {
+    access?: EnumConsoleLogAccess;
+    level?: EnumLogLevel;
+    /** 鍒涘缓鏃堕棿-璧峰 */
+    createdTimeBegin?: string;
+    /** 鍒涘缓鏃堕棿-鎴 */
+    createdTimeEnd?: string;
+    /** 鎿嶄綔浜� */
+    createdUser?: string;
+    /** 璺熻釜Id */
+    traceId?: string;
+    /** 鍐呭 */
+    content?: string;
+    /** 閾炬帴鍦板潃 */
+    url?: string;
+    /** 浼犲弬 */
+    request?: string;
+    /** 鎵╁睍 */
+    ext?: string;
+    pageModel?: PagedListQueryPageModel;
+  }
+
+  interface GetConsoleLogsQueryResult {
+    pageModel?: PagedListQueryResultPageModel;
+    /** 鏁版嵁 */
+    data?: GetConsoleLogsQueryResultItem[];
+  }
+
+  interface GetConsoleLogsQueryResultItem {
+    /** Id */
+    id?: string;
+    /** 璺熻釜Id */
+    traceId?: string;
+    access?: EnumConsoleLogAccess;
+    level?: EnumLogLevel;
+    /** 鍐呭 */
+    content: string;
+    /** 鍫嗘爤璺熻釜 */
+    stackTrace?: string;
+    /** 閾炬帴鍦板潃 */
+    url?: string;
+    /** 浼犲弬 */
+    request?: string;
+    /** 鎵╁睍 */
+    ext?: string;
+    /** 瀹㈡埛IP鍦板潃 */
+    clientIpAddress?: string;
+    createdUser?: GetLogsQueryResultItemCreatedUser;
+    /** 鍒涘缓鏃堕棿 */
+    createdTime?: string;
+  }
+
   interface GetContractTemplateEnterprisesQuery {
     /** 鍏抽敭瀛� */
     keywords?: string;
@@ -3074,14 +3215,23 @@
   type GetCurrentLogierMenusQuery = Record<string, any>;
 
   interface GetDbAuditLogsQuery {
-    /** 璺熻釜Id */
-    traceId?: string;
-    /** 鍏抽敭瀛� */
-    keywords?: string;
     /** 鍒涘缓鏃堕棿-璧峰 */
     createdTimeBegin?: string;
     /** 鍒涘缓鏃堕棿-鎴 */
     createdTimeEnd?: string;
+    /** 鎿嶄綔浜� */
+    createdUser?: string;
+    /** 璺熻釜Id */
+    traceId?: string;
+    /** 琛ㄥ悕 */
+    tableName?: string;
+    /** 涓婚敭 */
+    primaryKey?: string;
+    operate?: EnumDbAuditOperate;
+    /** 鏃у�� */
+    oldValues?: string;
+    /** 鏂板�� */
+    newValues?: string;
     pageModel?: PagedListQueryPageModel;
   }
 
@@ -3092,6 +3242,10 @@
   }
 
   interface GetDbAuditLogsQueryResultItem {
+    /** Id */
+    id?: string;
+    /** 璺熻釜Id */
+    traceId?: string;
     /** 琛ㄥ悕 */
     tableName?: string;
     /** 涓婚敭 */
@@ -3101,7 +3255,7 @@
     oldValues?: string;
     /** 鏂板�� */
     newValues?: string;
-    createdUser?: GetResourceLogsQueryResultItemCreatedUser;
+    createdUser?: GetLogsQueryResultItemCreatedUser;
     /** 鍒涘缓鏃堕棿 */
     createdTime?: string;
   }
@@ -3624,14 +3778,20 @@
   }
 
   interface GetExceptionLogsQuery {
-    /** 璺熻釜Id */
-    traceId?: string;
-    /** 鍏抽敭瀛� */
-    keywords?: string;
     /** 鍒涘缓鏃堕棿-璧峰 */
     createdTimeBegin?: string;
     /** 鍒涘缓鏃堕棿-鎴 */
     createdTimeEnd?: string;
+    /** 鎿嶄綔浜� */
+    createdUser?: string;
+    /** 璺熻釜Id */
+    traceId?: string;
+    /** 绫诲瀷 */
+    type?: string;
+    /** 浠g爜 */
+    code?: string;
+    /** 娑堟伅 */
+    message?: string;
     pageModel?: PagedListQueryPageModel;
   }
 
@@ -3642,6 +3802,10 @@
   }
 
   interface GetExceptionLogsQueryResultItem {
+    /** Id */
+    id?: string;
+    /** 璺熻釜Id */
+    traceId?: string;
     /** 绫诲瀷 */
     type?: string;
     /** 浠g爜 */
@@ -3650,7 +3814,7 @@
     message?: string;
     /** 鍫嗘爤璺熻釜 */
     stackTrace?: string;
-    createdUser?: GetResourceLogsQueryResultItemCreatedUser;
+    createdUser?: GetLogsQueryResultItemCreatedUser;
     /** 鍒涘缓鏃堕棿 */
     createdTime?: string;
   }
@@ -3701,6 +3865,20 @@
     /** 鍦板潃 */
     url?: string;
     model?: BaiduOcrBusinessLicenseResultModel;
+  }
+
+  interface GetLogsQueryResultItemCreatedUser {
+    /** Id */
+    id?: string;
+    type?: EnumUserType;
+    /** 濮撳悕 */
+    name?: string;
+    /** 鐢ㄦ埛鍚� */
+    userName?: string;
+    /** 浼佷笟Id */
+    enterpriseId?: string;
+    /** 浼佷笟鍏ㄧО */
+    enterpriseName?: string;
   }
 
   interface GetMenuQueryResult {
@@ -4366,14 +4544,29 @@
   }
 
   interface GetResourceLogsQuery {
-    /** 璺熻釜Id */
-    traceId?: string;
-    /** 鍏抽敭瀛� */
-    keywords?: string;
     /** 鍒涘缓鏃堕棿-璧峰 */
     createdTimeBegin?: string;
     /** 鍒涘缓鏃堕棿-鎴 */
     createdTimeEnd?: string;
+    /** 鎿嶄綔浜� */
+    createdUser?: string;
+    /** 璺熻釜Id */
+    traceId?: string;
+    method?: EnumResourceMethod;
+    /** 鍩熷悕 */
+    domain?: string;
+    /** 鍦板潃 */
+    path?: string;
+    /** 璇锋眰鍙傛暟 */
+    request?: string;
+    /** 鍝嶅簲缁撴灉 */
+    response?: string;
+    /** 鏄惁鎴愬姛 */
+    isSuccess?: boolean;
+    /** 瀹㈡埛绔疘P鍦板潃 */
+    clientIpAddress?: string;
+    /** 鏈�灏忚�楁椂姣鏁� */
+    elapsedMillisecondsMin?: number;
     pageModel?: PagedListQueryPageModel;
   }
 
@@ -4386,6 +4579,8 @@
   interface GetResourceLogsQueryResultItem {
     /** Id */
     id?: string;
+    /** 璺熻釜Id */
+    traceId?: string;
     method?: EnumResourceMethod;
     /** 鍩熷悕 */
     domain?: string;
@@ -4409,23 +4604,9 @@
     consoleLogs?: string;
     /** 鑰楁椂姣鏁� */
     elapsedMilliseconds?: number;
-    createdUser?: GetResourceLogsQueryResultItemCreatedUser;
+    createdUser?: GetLogsQueryResultItemCreatedUser;
     /** 鍒涘缓鏃堕棿 */
     createdTime?: string;
-  }
-
-  interface GetResourceLogsQueryResultItemCreatedUser {
-    /** Id */
-    id?: string;
-    type?: EnumUserType;
-    /** 濮撳悕 */
-    name?: string;
-    /** 鐢ㄦ埛鍚� */
-    userName?: string;
-    /** 浼佷笟Id */
-    enterpriseId?: string;
-    /** 浼佷笟鍏ㄧО */
-    enterpriseName?: string;
   }
 
   interface GetResourcesQueryResultItem {
@@ -4644,6 +4825,89 @@
     createdTime?: string;
     /** 鐢靛瓙鏀舵嵁涓嬭浇閾炬帴 */
     ereceiptDownloadOssUrl?: string;
+  }
+
+  interface GetSmsLogsQuery {
+    /** 鍒涘缓鏃堕棿-璧峰 */
+    createdTimeBegin?: string;
+    /** 鍒涘缓鏃堕棿-鎴 */
+    createdTimeEnd?: string;
+    /** 鎿嶄綔浜� */
+    createdUser?: string;
+    /** 璺熻釜Id */
+    traceId?: string;
+    access?: EnumSmsAccess;
+    /** 鎵嬫満鍙风爜 */
+    phoneNumber?: string;
+    /** 妯℃澘浠g爜 */
+    templateCode?: string;
+    /** 妯℃澘鍙傛暟 */
+    templateParam?: string;
+    /** 鏄惁浣跨敤 */
+    isUsed?: boolean;
+    status?: EnumSmsStatus;
+    pageModel?: PagedListQueryPageModel;
+  }
+
+  interface GetSmsLogsQueryResult {
+    pageModel?: PagedListQueryResultPageModel;
+    /** 鏁版嵁 */
+    data?: GetSmsLogsQueryResultItem[];
+  }
+
+  interface GetSmsLogsQueryResultItem {
+    /** Id */
+    id?: string;
+    /** 璺熻釜Id */
+    traceId?: string;
+    access?: EnumSmsAccess;
+    /** 鎵嬫満鍙风爜 */
+    phoneNumber?: string;
+    /** 妯℃澘浠g爜 */
+    templateCode?: string;
+    /** 妯℃澘鍙傛暟 */
+    templateParam?: string;
+    /** 鏈夋晥鏈� */
+    expiry?: string;
+    /** 鏄惁浣跨敤 */
+    isUsed?: boolean;
+    status?: EnumSmsStatus;
+    /** 璇锋眰Id */
+    requestId?: string;
+    /** 鍥炰紶浠g爜 */
+    code?: string;
+    /** 鍥炰紶娑堟伅 */
+    message?: string;
+    /** 鎿嶄綔浜篒d */
+    createdUserId?: string;
+    createdUser?: GetLogsQueryResultItemCreatedUser;
+    /** 鍒涘缓鏃堕棿 */
+    createdTime?: string;
+  }
+
+  type GetSmsSettingQuery = Record<string, any>;
+
+  interface GetSmsSettingQueryResult {
+    /** 鏄惁绂佺敤 */
+    isDisabled?: boolean;
+    /** 甯﹀嚭鍙傛暟 */
+    withoutParams?: boolean;
+    /** 姣忓垎閽熸渶澶ф暟閲� */
+    minutelyMaxCount?: number;
+    /** 姣忓皬鏃舵渶澶ф暟閲� */
+    hourlyMaxCount?: number;
+    /** 姣忓ぉ鏈�澶ф暟閲� */
+    dailyMaxCount?: number;
+    /** 閫氶亾閰嶇疆 */
+    accesses?: GetSmsSettingQueryResultAccess[];
+  }
+
+  interface GetSmsSettingQueryResultAccess {
+    access?: EnumSmsAccess;
+    /** 鏄惁绂佺敤 */
+    isDisabled?: boolean;
+    /** 鎺掑簭 */
+    sort?: number;
   }
 
   interface GetTaskEnterpriseQueryResult {
@@ -4929,14 +5193,29 @@
   }
 
   interface GetThreeResourceLogsQuery {
-    /** 璺熻釜Id */
-    traceId?: string;
-    /** 鍏抽敭瀛� */
-    keywords?: string;
     /** 鍒涘缓鏃堕棿-璧峰 */
     createdTimeBegin?: string;
     /** 鍒涘缓鏃堕棿-鎴 */
     createdTimeEnd?: string;
+    /** 鎿嶄綔浜� */
+    createdUser?: string;
+    /** 璺熻釜Id */
+    traceId?: string;
+    method?: EnumResourceMethod;
+    /** 鍩熷悕 */
+    domain?: string;
+    /** 鍦板潃 */
+    path?: string;
+    /** 璇锋眰鍙傛暟 */
+    request?: string;
+    /** 鍝嶅簲缁撴灉 */
+    response?: string;
+    /** 鏄惁鎴愬姛 */
+    isSuccess?: boolean;
+    /** 瀹㈡埛绔疘P鍦板潃 */
+    clientIpAddress?: string;
+    /** 鏈�灏忚�楁椂姣鏁� */
+    elapsedMillisecondsMin?: number;
     pageModel?: PagedListQueryPageModel;
   }
 
@@ -4949,6 +5228,8 @@
   interface GetThreeResourceLogsQueryResultItem {
     /** Id */
     id?: string;
+    /** 璺熻釜Id */
+    traceId?: string;
     method?: EnumResourceMethod;
     /** 鍩熷悕 */
     domain?: string;
@@ -4966,23 +5247,9 @@
     isSuccess?: boolean;
     /** 鑰楁椂姣鏁� */
     elapsedMilliseconds?: number;
-    createdUser?: GetThreeResourceLogsQueryResultItemCreatedUser;
+    createdUser?: GetLogsQueryResultItemCreatedUser;
     /** 鍒涘缓鏃堕棿 */
     createdTime?: string;
-  }
-
-  interface GetThreeResourceLogsQueryResultItemCreatedUser {
-    /** Id */
-    id?: string;
-    type?: EnumUserType;
-    /** 濮撳悕 */
-    name?: string;
-    /** 鐢ㄦ埛鍚� */
-    userName?: string;
-    /** 浼佷笟Id */
-    enterpriseId?: string;
-    /** 浼佷笟鍏ㄧО */
-    enterpriseName?: string;
   }
 
   interface GetTraceIdLogQueryResult {
@@ -4994,6 +5261,8 @@
     exceptionLogs?: GetExceptionLogsQueryResultItem[];
     /** 鏁版嵁搴撳璁℃棩蹇� */
     dbAuditLogs?: GetDbAuditLogsQueryResultItem[];
+    /** 鎺у埗鍙版棩蹇� */
+    consoleLogs?: GetConsoleLogsQueryResultItem[];
   }
 
   interface GetUserInfoRolesQueryResultItem {
@@ -5466,6 +5735,7 @@
   }
 
   interface PersonalUserElectronSignCommandResult {
+    userSignContractStatus?: EnumTaskUserSignContractStatus;
     /** 绛剧讲鍚堝悓鐭摼鎺� */
     signContractShortUrl?: string;
     /** 绛剧讲鍚堝悓闀块摼鎺� */
@@ -5495,6 +5765,8 @@
     isReal?: boolean;
     realMethod?: EnumUserRealMethod;
     realStatus?: EnumPersonalUserRealStatus;
+    /** 鏄惁缁戝畾閾惰鍗� */
+    isBindBankCard?: boolean;
     /** 浜鸿劯璇嗗埆鍦板潃 */
     faceUrl?: string;
   }
@@ -5691,6 +5963,22 @@
     status?: EnumEnterpriseCostStatus;
   }
 
+  interface SaveFrontConsoleLogCommand {
+    /** 璺熻釜Id */
+    traceId?: string;
+    level?: EnumLogLevel;
+    /** 鍐呭 */
+    content: string;
+    /** 鍫嗘爤璺熻釜 */
+    stackTrace?: string;
+    /** 閾炬帴鍦板潃 */
+    url?: string;
+    /** 浼犲弬 */
+    request?: string;
+    /** 鎵╁睍 */
+    ext?: string;
+  }
+
   interface SaveMenuButtonCommand {
     /** 鑿滃崟Id */
     parentId?: string;
@@ -5848,6 +6136,29 @@
     menuIds?: string[];
     /** 璧勬簮 */
     resources?: GetRoleQueryResultResource[];
+  }
+
+  interface SaveSmsSettingCommand {
+    /** 鏄惁绂佺敤 */
+    isDisabled?: boolean;
+    /** 甯﹀嚭鍙傛暟 */
+    withoutParams?: boolean;
+    /** 姣忓垎閽熸渶澶ф暟閲� */
+    minutelyMaxCount?: number;
+    /** 姣忓皬鏃舵渶澶ф暟閲� */
+    hourlyMaxCount?: number;
+    /** 姣忓ぉ鏈�澶ф暟閲� */
+    dailyMaxCount?: number;
+    /** 閫氶亾閰嶇疆 */
+    accesses?: SaveSmsSettingCommandAccess[];
+  }
+
+  interface SaveSmsSettingCommandAccess {
+    access?: EnumSmsAccess;
+    /** 鏄惁绂佺敤 */
+    isDisabled?: boolean;
+    /** 鎺掑簭 */
+    sort?: number;
   }
 
   interface SaveTaskInfoCommand {
@@ -6113,6 +6424,8 @@
     status?: EnumUserStatus;
   }
 
+  type SmsChengLiYeNotifyCommand = Record<string, any>;
+
   interface SmsLoginCommand {
     /** 鎵嬫満鍙风爜 */
     phoneNumber?: string;
diff --git a/packages/utils/LoggerRecord/index.ts b/packages/utils/LoggerRecord/index.ts
new file mode 100644
index 0000000..365fba0
--- /dev/null
+++ b/packages/utils/LoggerRecord/index.ts
@@ -0,0 +1,74 @@
+import * as logRecordsServices from '@12333/services/apiV2/logRecords';
+import { LoggerRecord, LogOptions, LoggerRecordOptions, LoggerRecordLevel } from 'senior-request';
+import Taro from '@tarojs/taro';
+import { EnumLogLevel } from '@12333/constants';
+import { storageLocal } from '../storage';
+import { getUtilsConfig } from '../config';
+
+type HttpLogOptions = {
+  httpParams?: Omit<API.SaveFrontConsoleLogCommand, 'level' | 'content'>;
+} & LogOptions;
+
+class HttpLoggerRecord extends LoggerRecord<HttpLogOptions> {
+  constructor(options: LoggerRecordOptions = {}) {
+    super(options);
+  }
+
+  convertLogLevel(level: LoggerRecordLevel): EnumLogLevel {
+    switch (level) {
+      case 'debug':
+        return EnumLogLevel.Debug;
+      case 'info':
+        return EnumLogLevel.Information;
+      case 'warn':
+        return EnumLogLevel.Warning;
+      case 'error':
+        return EnumLogLevel.Error;
+      case 'log':
+        return EnumLogLevel.Trace;
+      default:
+        return EnumLogLevel.Debug;
+    }
+  }
+
+  log(level: LoggerRecordLevel, options: HttpLogOptions): void {
+    const httpUrl = options?.httpParams?.url ?? '';
+    if (httpUrl.toLowerCase().includes('saveFrontConsoleLog'.toLowerCase())) return;
+    const args = [...(options.args || []), options.httpParams].filter(Boolean);
+    super.log(level, {
+      ...options,
+      args: args,
+    });
+    let params: API.SaveFrontConsoleLogCommand = {
+      /** 璺熻釜Id */
+      traceId: options.httpParams?.traceId,
+      level: this.convertLogLevel(level),
+      /** 鍐呭 */
+      content: `[${this.config.moduleName}] ${options.message}`,
+      /** 鍫嗘爤璺熻釜 */
+      stackTrace: options.httpParams?.stackTrace,
+      /** 閾炬帴鍦板潃 */
+      url: options.httpParams?.url,
+      ext: JSON.stringify(args),
+    };
+    logRecordsServices.saveFrontConsoleLog(params, { showLoading: false, skipErrorHandler: true });
+  }
+}
+
+export const httpLoggerRecord = new HttpLoggerRecord({
+  moduleName: getUtilsConfig().appName,
+  enableStorage: true,
+  loggerStorageAdapter() {
+    return {
+      setItem(key: string, data: any) {
+        return Promise.resolve(storageLocal.setItem(key, data));
+      },
+      getItem(key: string) {
+        return Promise.resolve(storageLocal.getItem(key));
+      },
+    };
+  },
+  getPageUrl() {
+    return Taro.getCurrentInstance().router.path;
+  },
+});
diff --git a/packages/utils/config.ts b/packages/utils/config.ts
new file mode 100644
index 0000000..854a5ac
--- /dev/null
+++ b/packages/utils/config.ts
@@ -0,0 +1,11 @@
+export let utilsConfig = {
+  appName: '',
+};
+
+export function setUtilsConfig(config: Partial<typeof utilsConfig>) {
+  utilsConfig = { ...utilsConfig, ...config };
+}
+
+export function getUtilsConfig() {
+  return { ...utilsConfig };
+}
diff --git a/packages/utils/index.ts b/packages/utils/index.ts
index 505a35e..55c474f 100644
--- a/packages/utils/index.ts
+++ b/packages/utils/index.ts
@@ -16,3 +16,5 @@
 export * from './encrypt';
 export * from './task';
 export * from './developing';
+export * from './LoggerRecord';
+export * from './storage';
diff --git a/packages/utils/package.json b/packages/utils/package.json
index b7cf801..88c1390 100644
--- a/packages/utils/package.json
+++ b/packages/utils/package.json
@@ -5,6 +5,7 @@
   "version": "0.0.1",
   "dependencies": {
     "@12333/constants": "workspace:^",
-    "@12333/services": "workspace:^"
+    "@12333/services": "workspace:^",
+    "senior-request": "^1.0.10"
   }
 }
diff --git a/apps/bMiniApp/src/utils/storage/storage.ts b/packages/utils/storage.ts
similarity index 96%
rename from apps/bMiniApp/src/utils/storage/storage.ts
rename to packages/utils/storage.ts
index f15fbd6..dafe99b 100644
--- a/apps/bMiniApp/src/utils/storage/storage.ts
+++ b/packages/utils/storage.ts
@@ -1,6 +1,8 @@
 /* eslint-disable @typescript-eslint/no-explicit-any */
 import Taro from '@tarojs/taro';
 
+type Nullable<T> = T | null;
+
 //sessionStorage operate
 class localStorageProxy {
   constructor() {}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 4164b4a..06c2c52 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -243,8 +243,8 @@
         specifier: ^1.0.12
         version: 1.0.12(@nutui/icons-vue-taro@0.0.9)(@nutui/nutui-taro@4.3.13)(@tanstack/vue-query@4.35.3)(@tarojs/components@3.6.20)(@tarojs/taro@3.6.20)(axios@1.4.0)(dayjs@1.11.6)(lodash@4.17.21)(vue@3.5.12)
       senior-request:
-        specifier: ^1.0.3
-        version: 1.0.3(axios@1.4.0)
+        specifier: ^1.0.10
+        version: 1.0.10(axios@1.4.0)
       taro-plugin-pinia:
         specifier: ^1.0.0
         version: 1.0.0
@@ -505,8 +505,8 @@
         specifier: ^1.0.12
         version: 1.0.12(@nutui/icons-vue-taro@0.0.9)(@nutui/nutui-taro@4.3.13)(@tanstack/vue-query@4.35.3)(@tarojs/components@3.6.20)(@tarojs/taro@3.6.20)(axios@1.4.0)(dayjs@1.11.6)(lodash@4.17.21)(vue@3.5.12)
       senior-request:
-        specifier: ^1.0.3
-        version: 1.0.3(axios@1.4.0)
+        specifier: ^1.0.10
+        version: 1.0.10(axios@1.4.0)
       taro-plugin-pinia:
         specifier: ^1.0.0
         version: 1.0.0
@@ -663,6 +663,9 @@
       '@12333/services':
         specifier: workspace:^
         version: link:../services
+      senior-request:
+        specifier: ^1.0.10
+        version: 1.0.10(axios@1.4.0)
 
 packages:
 
@@ -7415,7 +7418,7 @@
   /@tencentcloud/call-engine-js@3.3.0:
     resolution: {integrity: sha512-li4i97RSMM0ZlkK+1x1veRp1sy1YLV/rUNQ1iG8TodHZ4kwA97NnLNBTfvXro3rpJtPVuKIZV6Gp4N+kXy4rOg==}
     dependencies:
-      '@tencentcloud/chat': 3.5.7
+      '@tencentcloud/chat': 3.5.9
       core-js: 3.38.1
       eventemitter3: 4.0.7
       rtc-detect: 0.0.5
@@ -7426,7 +7429,7 @@
   /@tencentcloud/call-engine-wx@3.3.0:
     resolution: {integrity: sha512-4oXRQhcWiVLX1PxcjCFjnEm53u3oguKsjas7zMvvvgh1UxsA9aiCl6xXIcGZ230w0rP4cQ6hA45S+EZrCIFP1g==}
     dependencies:
-      '@tencentcloud/chat': 3.5.7
+      '@tencentcloud/chat': 3.5.9
       '@tencentcloud/trtc-component-wx': 1.0.6
       eventemitter3: 4.0.7
     dev: false
@@ -7435,7 +7438,7 @@
     resolution: {integrity: sha512-XpB8eZriaKDygAvSN3tae2bzD/coQ2u31DyXcAt5VWcATQ1Cf410qZ0ZAa2yf08mhqHcfQtMT0hzi4etZxbZuw==}
     dependencies:
       '@tencentcloud/call-engine-wx': 3.3.0
-      '@tencentcloud/chat': 3.5.7
+      '@tencentcloud/chat': 3.5.9
       '@tencentcloud/tui-core': 2.5.1
       '@vue/composition-api': 1.7.2(vue@3.5.12)
     transitivePeerDependencies:
@@ -7446,7 +7449,7 @@
     resolution: {integrity: sha512-TcbdRiTgeMVHqH6NS/EW0iyJkaIZxgjU3H/11fxNUjrMQsPyggRjtvCpy0nEfmpGpPDd1zp/d5u0f3O8Hj56rg==}
     dependencies:
       '@tencentcloud/call-engine-js': 3.3.0
-      '@tencentcloud/chat': 3.5.7
+      '@tencentcloud/chat': 3.5.9
       '@tencentcloud/tui-core': 2.5.1
     dev: false
 
@@ -7466,8 +7469,8 @@
       tim-upload-plugin: 1.4.3
     dev: false
 
-  /@tencentcloud/chat-uikit-engine@2.5.5:
-    resolution: {integrity: sha512-WWFmtpRwNXgtRXWgb0mhzeigFGZimMbgvi1fVmu9sY5+RtF9RiayC/ESokaMVs591l7mcZf4/BXCQNtUi3eZiQ==}
+  /@tencentcloud/chat-uikit-engine@2.5.6:
+    resolution: {integrity: sha512-hzGkruR3j5S/9hx7HfGBWvHAZ7FZqpkl5LEz0z9sVm3faG/IaBkeTCjPmvN9kGIdDIan8Jn6mhVW57EEx7E8UQ==}
     dependencies:
       '@tencentcloud/chat': 3.5.9
       tim-profanity-filter-plugin: 1.1.0
@@ -7480,7 +7483,7 @@
       '@tencentcloud/call-uikit-vue': 4.0.9
       '@tencentcloud/call-uikit-vue2.6': 4.0.9(vue@3.5.12)
       '@tencentcloud/call-uikit-wechat': 3.3.9
-      '@tencentcloud/chat-uikit-engine': 2.5.5
+      '@tencentcloud/chat-uikit-engine': 2.5.6
       '@tencentcloud/tui-core': 2.5.1
       '@tencentcloud/tui-customer-service-plugin': 2.2.6(@tencentcloud/tui-core@2.5.1)(@vue/composition-api@1.7.2)(vue@3.5.12)
       '@types/lodash': 4.17.7
@@ -7501,10 +7504,6 @@
       - vue
       - webpack
       - webpack-sources
-    dev: false
-
-  /@tencentcloud/chat@3.5.7:
-    resolution: {integrity: sha512-uxACmaFPqV8jXcORBwVSHc0qgKvnHzRg9kC8kHAqCGbsnsm8525JwFzU6ByckGCNqNWUx/5W70EISYAboLuTvQ==}
     dev: false
 
   /@tencentcloud/chat@3.5.9:
@@ -18562,8 +18561,8 @@
       axios: 1.4.0
     dev: false
 
-  /senior-request@1.0.3(axios@1.4.0):
-    resolution: {integrity: sha512-suWkqlC0qYPRIVUvg5hRf6fXJpWOwkVfiXugzJO4ueDD+799nEQCBUQB4U68mjK9UVhyTY5oK/1Qx83alMqntA==}
+  /senior-request@1.0.10(axios@1.4.0):
+    resolution: {integrity: sha512-qHJaP7SrxK+YpiThJII2QXy+nXcjC5liNJizFsAEoFoLQ+eVBSA4hTC/nIC+WD7PEuboFOZCiriCm6KKJbMQBA==}
     peerDependencies:
       axios: '*'
     dependencies:

--
Gitblit v1.9.1