From 464723fb4351541205e976c4a939cd34dcf0452c Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期日, 28 九月 2025 15:50:36 +0800
Subject: [PATCH] fix: 新增日志

---
 src/services/api/index.ts       |    2 
 src/utils/LoggerRecord/index.ts |   58 ++++
 .eslintrc-auto-import.json      |    3 
 src/services/api/typings.d.ts   |  431 ++++++++++++++++++++++++++++----
 package.json                    |    3 
 auto-imports.d.ts               |    8 
 src/constants/apiEnum.ts        |   60 +++
 src/services/api/logRecords.ts  |   39 +++
 src/services/api/sms.ts         |   42 +++
 pnpm-lock.yaml                  |   43 +-
 src/utils/request/index.ts      |   32 ++
 11 files changed, 629 insertions(+), 92 deletions(-)

diff --git a/.eslintrc-auto-import.json b/.eslintrc-auto-import.json
index e564345..dd15317 100644
--- a/.eslintrc-auto-import.json
+++ b/.eslintrc-auto-import.json
@@ -21,6 +21,7 @@
     "EnumClientType": true,
     "EnumClientTypeText": true,
     "EnumCodeUrlScene": true,
+    "EnumConsoleLogAccess": true,
     "EnumContractTemplateStatus": true,
     "EnumContractTemplateStatusText": true,
     "EnumContractTemplateValueRecorder": true,
@@ -41,6 +42,7 @@
     "EnumEnterpriseWalletSignStatus": true,
     "EnumEnterpriseWalletTransactionType": true,
     "EnumGetEnterpriseEmployeesQuerySignContractStatus": true,
+    "EnumLogLevel": true,
     "EnumMenuType": true,
     "EnumMenuVisitLevel": true,
     "EnumOcrAccess": true,
@@ -65,6 +67,7 @@
     "EnumSettlementCycleDateWeekArray": true,
     "EnumSettlementCycleText": true,
     "EnumSmsAccess": true,
+    "EnumSmsStatus": true,
     "EnumTaskCheckReceiveStatus": true,
     "EnumTaskCheckReceiveStatusText": true,
     "EnumTaskCheckReceiveStatusTextForFilter": true,
diff --git a/auto-imports.d.ts b/auto-imports.d.ts
index 6731aa6..023c6eb 100644
--- a/auto-imports.d.ts
+++ b/auto-imports.d.ts
@@ -24,6 +24,7 @@
   const EnumClientType: typeof import('./src/constants/apiEnum')['EnumClientType']
   const EnumClientTypeText: typeof import('./src/constants/apiEnumText')['EnumClientTypeText']
   const EnumCodeUrlScene: typeof import('./src/constants/apiEnum')['EnumCodeUrlScene']
+  const EnumConsoleLogAccess: typeof import('./src/constants/apiEnum')['EnumConsoleLogAccess']
   const EnumContractTemplateStatus: typeof import('./src/constants/apiEnum')['EnumContractTemplateStatus']
   const EnumContractTemplateStatusText: typeof import('./src/constants/electronSign')['EnumContractTemplateStatusText']
   const EnumContractTemplateValueRecorder: typeof import('./src/constants/apiEnum')['EnumContractTemplateValueRecorder']
@@ -45,6 +46,7 @@
   const EnumEnterpriseWalletTransactionStatus: typeof import('./src/constants/apiEnum')['EnumEnterpriseWalletTransactionStatus']
   const EnumEnterpriseWalletTransactionType: typeof import('./src/constants/apiEnum')['EnumEnterpriseWalletTransactionType']
   const EnumGetEnterpriseEmployeesQuerySignContractStatus: typeof import('./src/constants/apiEnum')['EnumGetEnterpriseEmployeesQuerySignContractStatus']
+  const EnumLogLevel: typeof import('./src/constants/apiEnum')['EnumLogLevel']
   const EnumMenuType: typeof import('./src/constants/apiEnum')['EnumMenuType']
   const EnumMenuVisitLevel: typeof import('./src/constants/apiEnum')['EnumMenuVisitLevel']
   const EnumOcrAccess: typeof import('./src/constants/apiEnum')['EnumOcrAccess']
@@ -69,6 +71,7 @@
   const EnumSettlementCycleDateWeekArray: typeof import('./src/constants/task')['EnumSettlementCycleDateWeekArray']
   const EnumSettlementCycleText: typeof import('./src/constants/task')['EnumSettlementCycleText']
   const EnumSmsAccess: typeof import('./src/constants/apiEnum')['EnumSmsAccess']
+  const EnumSmsStatus: typeof import('./src/constants/apiEnum')['EnumSmsStatus']
   const EnumSmsTemplateType: typeof import('./src/constants/apiEnum')['EnumSmsTemplateType']
   const EnumTaskCheckReceiveStatus: typeof import('./src/constants/apiEnum')['EnumTaskCheckReceiveStatus']
   const EnumTaskCheckReceiveStatusText: typeof import('./src/constants/task')['EnumTaskCheckReceiveStatusText']
@@ -259,7 +262,7 @@
   export type { Component, Slot, Slots, ComponentPublicInstance, ComputedRef, DirectiveBinding, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, MaybeRef, MaybeRefOrGetter, VNode, WritableComputedRef } from 'vue'
   import('vue')
   // @ts-ignore
-  export type { EnumBillingMethod, EnumClientType, EnumCodeUrlScene, EnumContractTemplateStatus, EnumContractTemplateValueRecorder, EnumContractTemplateValueType, EnumDataSource, EnumDbAuditOperate, EnumElectronSignAccess, EnumElectronSignVerifyType, EnumEnterpriseCostStatus, EnumEnterpriseCostType, EnumEnterpriseRealMethod, EnumEnterpriseWalletAccess, EnumEnterpriseWalletExpandindirectOrderFileType, EnumEnterpriseWalletExpandindirectOrderScene, EnumEnterpriseWalletExpandindirectOrderStatus, EnumEnterpriseWalletSignStatus, EnumEnterpriseWalletTransactionType, EnumGetEnterpriseEmployeesQuerySignContractStatus, EnumMenuType, EnumMenuVisitLevel, EnumOcrAccess, EnumPagedListOrder, EnumPayAccess, EnumPersonalFreeTime, EnumPersonalJobSeekingStatus, EnumPersonalRealMethod, EnumPersonalUserRealStatus, EnumRealAccess, EnumResourceController, EnumResourceMethod, EnumRoleWebApiDataPower, EnumSettlementCycle, EnumSmsAccess, EnumTaskCheckReceiveStatus, EnumTaskRecommendStatus, EnumTaskReleaseStatus, EnumTaskSettlementOrderStatus, EnumTaskSettlementStatus, EnumTaskStatus, EnumTaskUserArrangeStatus, EnumTaskUserHireStatus, EnumTaskUserSignContractStatus, EnumTaskUserSubmitCheckReceiveStatus, EnumUserBankCardAccess, EnumUserGender, EnumUserRealMethod, EnumUserStatus, EnumUserType, EnumUserWalletTransactionType, EnumWalletTransactionStatus, GetPersonalApplyTaskInfosQueryStatus, GetPersonalHireTaskInfosQueryStatus, GetTaskInfoQueryResultApplyButton, GetTaskInfoQueryResultHireButton, SettlementReceiveStatus, EnumBillingMethod, EnumClientType, EnumCodeUrlScene, EnumContractTemplateStatus, EnumContractTemplateValueRecorder, EnumContractTemplateValueType, EnumDataSource, EnumDbAuditOperate, EnumElectronSignAccess, EnumElectronSignVerifyType, EnumEnterpriseCostStatus, EnumEnterpriseCostType, EnumEnterpriseRealMethod, EnumEnterpriseWalletAccess, EnumEnterpriseWalletExpandindirectOrderFileType, EnumEnterpriseWalletExpandindirectOrderScene, EnumEnterpriseWalletExpandindirectOrderStatus, EnumEnterpriseWalletSignStatus, EnumEnterpriseWalletTransactionType, EnumGetEnterpriseEmployeesQuerySignContractStatus, EnumMenuType, EnumMenuVisitLevel, EnumOcrAccess, EnumPagedListOrder, EnumPayAccess, EnumPersonalFreeTime, EnumPersonalJobSeekingStatus, EnumPersonalRealMethod, EnumPersonalUserRealStatus, EnumRealAccess, EnumResourceController, EnumResourceMethod, EnumRoleWebApiDataPower, EnumSettlementCycle, EnumSmsAccess, EnumTaskCheckReceiveStatus, EnumTaskRecommendStatus, EnumTaskReleaseStatus, EnumTaskSettlementOrderStatus, EnumTaskSettlementStatus, EnumTaskStatus, EnumTaskUserArrangeStatus, EnumTaskUserHireStatus, EnumTaskUserSignContractStatus, EnumTaskUserSubmitCheckReceiveStatus, EnumUserBankCardAccess, EnumUserGender, EnumUserRealMethod, EnumUserStatus, EnumUserType, EnumUserWalletTransactionType, EnumWalletTransactionStatus, GetPersonalApplyTaskInfosQueryStatus, GetPersonalHireTaskInfosQueryStatus, GetTaskInfoQueryResultApplyButton, GetTaskInfoQueryResultHireButton, SettlementReceiveStatus } from './src/constants/apiEnum'
+  export type { EnumBillingMethod, EnumClientType, EnumCodeUrlScene, EnumConsoleLogAccess, EnumContractTemplateStatus, EnumContractTemplateValueRecorder, EnumContractTemplateValueType, EnumDataSource, EnumDbAuditOperate, EnumElectronSignAccess, EnumElectronSignVerifyType, EnumEnterpriseCostStatus, EnumEnterpriseCostType, EnumEnterpriseRealMethod, EnumEnterpriseWalletAccess, EnumEnterpriseWalletExpandindirectOrderFileType, EnumEnterpriseWalletExpandindirectOrderScene, EnumEnterpriseWalletExpandindirectOrderStatus, EnumEnterpriseWalletSignStatus, EnumEnterpriseWalletTransactionType, EnumGetEnterpriseEmployeesQuerySignContractStatus, EnumLogLevel, EnumMenuType, EnumMenuVisitLevel, EnumOcrAccess, EnumPagedListOrder, EnumPayAccess, EnumPersonalFreeTime, EnumPersonalJobSeekingStatus, EnumPersonalRealMethod, EnumPersonalUserRealStatus, EnumRealAccess, EnumResourceController, EnumResourceMethod, EnumRoleWebApiDataPower, EnumSettlementCycle, EnumSmsAccess, EnumSmsStatus, EnumTaskCheckReceiveStatus, EnumTaskRecommendStatus, EnumTaskReleaseStatus, EnumTaskSettlementOrderStatus, EnumTaskSettlementStatus, EnumTaskStatus, EnumTaskUserArrangeStatus, EnumTaskUserHireStatus, EnumTaskUserSignContractStatus, EnumTaskUserSubmitCheckReceiveStatus, EnumUserBankCardAccess, EnumUserGender, EnumUserRealMethod, EnumUserStatus, EnumUserType, EnumUserWalletTransactionType, EnumWalletTransactionStatus, GetPersonalApplyTaskInfosQueryStatus, GetPersonalHireTaskInfosQueryStatus, GetTaskInfoQueryResultApplyButton, GetTaskInfoQueryResultHireButton, SettlementReceiveStatus, EnumBillingMethod, EnumClientType, EnumCodeUrlScene, EnumConsoleLogAccess, EnumContractTemplateStatus, EnumContractTemplateValueRecorder, EnumContractTemplateValueType, EnumDataSource, EnumDbAuditOperate, EnumElectronSignAccess, EnumElectronSignVerifyType, EnumEnterpriseCostStatus, EnumEnterpriseCostType, EnumEnterpriseRealMethod, EnumEnterpriseWalletAccess, EnumEnterpriseWalletExpandindirectOrderFileType, EnumEnterpriseWalletExpandindirectOrderScene, EnumEnterpriseWalletExpandindirectOrderStatus, EnumEnterpriseWalletSignStatus, EnumEnterpriseWalletTransactionType, EnumGetEnterpriseEmployeesQuerySignContractStatus, EnumLogLevel, EnumMenuType, EnumMenuVisitLevel, EnumOcrAccess, EnumPagedListOrder, EnumPayAccess, EnumPersonalFreeTime, EnumPersonalJobSeekingStatus, EnumPersonalRealMethod, EnumPersonalUserRealStatus, EnumRealAccess, EnumResourceController, EnumResourceMethod, EnumRoleWebApiDataPower, EnumSettlementCycle, EnumSmsAccess, EnumSmsStatus, EnumTaskCheckReceiveStatus, EnumTaskRecommendStatus, EnumTaskReleaseStatus, EnumTaskSettlementOrderStatus, EnumTaskSettlementStatus, EnumTaskStatus, EnumTaskUserArrangeStatus, EnumTaskUserHireStatus, EnumTaskUserSignContractStatus, EnumTaskUserSubmitCheckReceiveStatus, EnumUserBankCardAccess, EnumUserGender, EnumUserRealMethod, EnumUserStatus, EnumUserType, EnumUserWalletTransactionType, EnumWalletTransactionStatus, GetPersonalApplyTaskInfosQueryStatus, GetPersonalHireTaskInfosQueryStatus, GetTaskInfoQueryResultApplyButton, GetTaskInfoQueryResultHireButton, SettlementReceiveStatus } from './src/constants/apiEnum'
   import('./src/constants/apiEnum')
   // @ts-ignore
   export type { CategoryCode, IdentityCodeEnum, EducationCodeEnum, CertificateTypeCodeEnum, WelfareCodeEnum } from './src/constants/dic'
@@ -312,6 +315,7 @@
     readonly EnumClientType: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumClientType']>
     readonly EnumClientTypeText: UnwrapRef<typeof import('./src/constants/apiEnumText')['EnumClientTypeText']>
     readonly EnumCodeUrlScene: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumCodeUrlScene']>
+    readonly EnumConsoleLogAccess: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumConsoleLogAccess']>
     readonly EnumContractTemplateStatus: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumContractTemplateStatus']>
     readonly EnumContractTemplateStatusText: UnwrapRef<typeof import('./src/constants/electronSign')['EnumContractTemplateStatusText']>
     readonly EnumContractTemplateValueRecorder: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumContractTemplateValueRecorder']>
@@ -332,6 +336,7 @@
     readonly EnumEnterpriseWalletSignStatus: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumEnterpriseWalletSignStatus']>
     readonly EnumEnterpriseWalletTransactionType: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumEnterpriseWalletTransactionType']>
     readonly EnumGetEnterpriseEmployeesQuerySignContractStatus: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumGetEnterpriseEmployeesQuerySignContractStatus']>
+    readonly EnumLogLevel: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumLogLevel']>
     readonly EnumMenuType: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumMenuType']>
     readonly EnumMenuVisitLevel: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumMenuVisitLevel']>
     readonly EnumOcrAccess: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumOcrAccess']>
@@ -356,6 +361,7 @@
     readonly EnumSettlementCycleDateWeekArray: UnwrapRef<typeof import('./src/constants/task')['EnumSettlementCycleDateWeekArray']>
     readonly EnumSettlementCycleText: UnwrapRef<typeof import('./src/constants/task')['EnumSettlementCycleText']>
     readonly EnumSmsAccess: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumSmsAccess']>
+    readonly EnumSmsStatus: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumSmsStatus']>
     readonly EnumTaskCheckReceiveStatus: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumTaskCheckReceiveStatus']>
     readonly EnumTaskCheckReceiveStatusText: UnwrapRef<typeof import('./src/constants/task')['EnumTaskCheckReceiveStatusText']>
     readonly EnumTaskCheckReceiveStatusTextForFilter: UnwrapRef<typeof import('./src/constants/task')['EnumTaskCheckReceiveStatusTextForFilter']>
diff --git a/package.json b/package.json
index af27534..de015a3 100644
--- a/package.json
+++ b/package.json
@@ -20,7 +20,7 @@
     "@bole-12333/chat-kit": "latest",
     "@bole-12333/customer-chat": "latest",
     "@bole-core/components": "^1.3.17",
-    "@bole-core/core": "^1.0.7",
+    "@bole-core/core": "^1.0.8",
     "@bole-core/pretty-layout": "latest",
     "@bole-core/sass-utils": "latest",
     "@bole-core/theme": "latest",
@@ -62,6 +62,7 @@
     "semver": "^7.6.3",
     "senin-help": "latest",
     "senin-vue": "latest",
+    "senior-request": "1.0.10",
     "sortablejs": "1.15.0",
     "tim-js-sdk": "^2.27.5",
     "trtc-js-sdk": "^4.15.19",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 8117bbb..173a762 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -15,19 +15,19 @@
 dependencies:
   '@bole-12333/chat-kit':
     specifier: latest
-    version: 1.0.1(@tencentcloud/chat-uikit-engine@2.5.5)(lodash@4.17.21)(vue@3.5.11)
+    version: 1.0.1(@tencentcloud/chat-uikit-engine@2.5.6)(lodash@4.17.21)(vue@3.5.11)
   '@bole-12333/customer-chat':
     specifier: latest
     version: 1.0.3(@bole-12333/chat-kit@1.0.1)(@tiptap/core@2.1.13)(@tiptap/extension-document@2.1.13)(@tiptap/extension-image@2.1.13)(@tiptap/extension-mention@2.1.13)(@tiptap/extension-paragraph@2.1.13)(@tiptap/extension-placeholder@2.1.13)(@tiptap/extension-text@2.1.13)(@tiptap/pm@2.1.13)(@tiptap/suggestion@2.1.13)(dayjs@1.11.6)(vue@3.5.11)
   '@bole-core/components':
     specifier: ^1.3.17
-    version: 1.3.17(@bole-core/core@1.0.7)(@bole-core/sass-utils@0.0.1)(@element-plus/icons-vue@2.3.1)(@tanstack/vue-query@4.37.1)(@videojs-player/vue@1.0.0)(@vueuse/core@11.1.0)(@vueuse/shared@11.1.0)(dayjs@1.11.6)(element-plus@2.11.2)(lodash@4.17.21)(mitt@3.0.0)(senin-help@1.0.5)(senin-vue@1.0.4)(video.js@7.20.3)(vue-component-type-helpers@2.1.6)(vue@3.5.11)
+    version: 1.3.17(@bole-core/core@1.0.8)(@bole-core/sass-utils@0.0.1)(@element-plus/icons-vue@2.3.1)(@tanstack/vue-query@4.37.1)(@videojs-player/vue@1.0.0)(@vueuse/core@11.1.0)(@vueuse/shared@11.1.0)(dayjs@1.11.6)(element-plus@2.11.2)(lodash@4.17.21)(mitt@3.0.0)(senin-help@1.0.5)(senin-vue@1.0.4)(video.js@7.20.3)(vue-component-type-helpers@2.1.6)(vue@3.5.11)
   '@bole-core/core':
-    specifier: ^1.0.7
-    version: 1.0.7(@ywwlmm/openapi@0.0.3)(ali-oss@6.21.0)(axios@1.7.7)(dayjs@1.11.6)(element-plus@2.11.2)(file-saver@2.0.5)(jszip@3.10.1)(lodash@4.17.21)(senior-request@1.0.1)(vue-router@4.4.5)(vue@3.5.11)(xlsx-style@0.8.13)(xlsx@0.18.5)
+    specifier: ^1.0.8
+    version: 1.0.8(@ywwlmm/openapi@0.0.3)(ali-oss@6.21.0)(axios@1.7.7)(dayjs@1.11.6)(element-plus@2.11.2)(file-saver@2.0.5)(jszip@3.10.1)(lodash@4.17.21)(senior-request@1.0.10)(vue-router@4.4.5)(vue@3.5.11)(xlsx-style@0.8.13)(xlsx@0.18.5)
   '@bole-core/pretty-layout':
     specifier: latest
-    version: 1.2.0(@bole-core/core@1.0.7)(@bole-core/sass-utils@0.0.1)(@element-plus/icons-vue@2.3.1)(@vueuse/core@11.1.0)(element-plus@2.11.2)(fuse.js@6.6.2)(lottie-web@5.10.2)(path-browserify@1.0.1)(path-to-regexp@6.2.1)(pinia@2.2.4)(vue-router@4.4.5)(vue@3.5.11)
+    version: 1.2.0(@bole-core/core@1.0.8)(@bole-core/sass-utils@0.0.1)(@element-plus/icons-vue@2.3.1)(@vueuse/core@11.1.0)(element-plus@2.11.2)(fuse.js@6.6.2)(lottie-web@5.10.2)(path-browserify@1.0.1)(path-to-regexp@6.2.1)(pinia@2.2.4)(vue-router@4.4.5)(vue@3.5.11)
   '@bole-core/sass-utils':
     specifier: latest
     version: 0.0.1(element-plus@2.11.2)
@@ -148,6 +148,9 @@
   senin-vue:
     specifier: latest
     version: 1.0.4(@tanstack/vue-query@4.37.1)(axios@1.7.7)(dayjs@1.11.6)(element-plus@2.11.2)(file-saver@2.0.5)(lodash@4.17.21)(mitt@3.0.0)(semver@7.6.3)(senin-help@1.0.5)(vue@3.5.11)
+  senior-request:
+    specifier: 1.0.10
+    version: 1.0.10(axios@1.7.7)
   sortablejs:
     specifier: 1.15.0
     version: 1.15.0
@@ -1847,14 +1850,14 @@
       '@babel/helper-validator-identifier': 7.25.9
     dev: false
 
-  /@bole-12333/chat-kit@1.0.1(@tencentcloud/chat-uikit-engine@2.5.5)(lodash@4.17.21)(vue@3.5.11):
+  /@bole-12333/chat-kit@1.0.1(@tencentcloud/chat-uikit-engine@2.5.6)(lodash@4.17.21)(vue@3.5.11):
     resolution: {integrity: sha512-yeSh4XLagaM+uNZRdcG49mhDJO3UbYEpIYZS4Lk303ROnTwxuZyuh5jkoflnCFwWN3Ib3AolfQy999oOqF012A==}
     peerDependencies:
       '@tencentcloud/chat-uikit-engine': '*'
       lodash: '*'
       vue: 3.5.11
     dependencies:
-      '@tencentcloud/chat-uikit-engine': 2.5.5
+      '@tencentcloud/chat-uikit-engine': 2.5.6
       lodash: 4.17.21
       vue: 3.5.11(typescript@4.8.4)
     dev: false
@@ -1875,7 +1878,7 @@
       dayjs: '*'
       vue: 3.5.11
     dependencies:
-      '@bole-12333/chat-kit': 1.0.1(@tencentcloud/chat-uikit-engine@2.5.5)(lodash@4.17.21)(vue@3.5.11)
+      '@bole-12333/chat-kit': 1.0.1(@tencentcloud/chat-uikit-engine@2.5.6)(lodash@4.17.21)(vue@3.5.11)
       '@tiptap/core': 2.1.13(@tiptap/pm@2.1.13)
       '@tiptap/extension-document': 2.1.13(@tiptap/core@2.1.13)
       '@tiptap/extension-image': 2.1.13(@tiptap/core@2.1.13)
@@ -1889,7 +1892,7 @@
       vue: 3.5.11(typescript@4.8.4)
     dev: false
 
-  /@bole-core/components@1.3.17(@bole-core/core@1.0.7)(@bole-core/sass-utils@0.0.1)(@element-plus/icons-vue@2.3.1)(@tanstack/vue-query@4.37.1)(@videojs-player/vue@1.0.0)(@vueuse/core@11.1.0)(@vueuse/shared@11.1.0)(dayjs@1.11.6)(element-plus@2.11.2)(lodash@4.17.21)(mitt@3.0.0)(senin-help@1.0.5)(senin-vue@1.0.4)(video.js@7.20.3)(vue-component-type-helpers@2.1.6)(vue@3.5.11):
+  /@bole-core/components@1.3.17(@bole-core/core@1.0.8)(@bole-core/sass-utils@0.0.1)(@element-plus/icons-vue@2.3.1)(@tanstack/vue-query@4.37.1)(@videojs-player/vue@1.0.0)(@vueuse/core@11.1.0)(@vueuse/shared@11.1.0)(dayjs@1.11.6)(element-plus@2.11.2)(lodash@4.17.21)(mitt@3.0.0)(senin-help@1.0.5)(senin-vue@1.0.4)(video.js@7.20.3)(vue-component-type-helpers@2.1.6)(vue@3.5.11):
     resolution: {integrity: sha512-LNA8MDqa0hE6y4GG2YEn/F9Aj6kG2NfbE33/QJKrD+KhJULtt6v5bdsSTu10nUQFCqFwZtngYkMAcmDvU98bqw==}
     peerDependencies:
       '@bole-core/core': '*'
@@ -1909,7 +1912,7 @@
       vue: 3.5.11
       vue-component-type-helpers: ^2.1.6
     dependencies:
-      '@bole-core/core': 1.0.7(@ywwlmm/openapi@0.0.3)(ali-oss@6.21.0)(axios@1.7.7)(dayjs@1.11.6)(element-plus@2.11.2)(file-saver@2.0.5)(jszip@3.10.1)(lodash@4.17.21)(senior-request@1.0.1)(vue-router@4.4.5)(vue@3.5.11)(xlsx-style@0.8.13)(xlsx@0.18.5)
+      '@bole-core/core': 1.0.8(@ywwlmm/openapi@0.0.3)(ali-oss@6.21.0)(axios@1.7.7)(dayjs@1.11.6)(element-plus@2.11.2)(file-saver@2.0.5)(jszip@3.10.1)(lodash@4.17.21)(senior-request@1.0.10)(vue-router@4.4.5)(vue@3.5.11)(xlsx-style@0.8.13)(xlsx@0.18.5)
       '@bole-core/sass-utils': 0.0.1(element-plus@2.11.2)
       '@element-plus/icons-vue': 2.3.1(vue@3.5.11)
       '@tanstack/vue-query': 4.37.1(vue@3.5.11)
@@ -1927,8 +1930,8 @@
       vue-component-type-helpers: 2.1.6
     dev: false
 
-  /@bole-core/core@1.0.7(@ywwlmm/openapi@0.0.3)(ali-oss@6.21.0)(axios@1.7.7)(dayjs@1.11.6)(element-plus@2.11.2)(file-saver@2.0.5)(jszip@3.10.1)(lodash@4.17.21)(senior-request@1.0.1)(vue-router@4.4.5)(vue@3.5.11)(xlsx-style@0.8.13)(xlsx@0.18.5):
-    resolution: {integrity: sha512-VICs9m+qAaMvORNcaKSP1Gkr4thhxvwooh2hd7fBmkIYqDitOYmcssBsPno7jjp+5fuZYQ3LwHQ9Vl/whbTpCw==}
+  /@bole-core/core@1.0.8(@ywwlmm/openapi@0.0.3)(ali-oss@6.21.0)(axios@1.7.7)(dayjs@1.11.6)(element-plus@2.11.2)(file-saver@2.0.5)(jszip@3.10.1)(lodash@4.17.21)(senior-request@1.0.10)(vue-router@4.4.5)(vue@3.5.11)(xlsx-style@0.8.13)(xlsx@0.18.5):
+    resolution: {integrity: sha512-Hq/+GU2ck1PUIDdSpu1onIPRrzNhuhMSnxZeT/LSg0V9WVJ0SHEiMtHLWqbLFJPZYmFcgWuJNC4JamRMSTESVA==}
     peerDependencies:
       '@ywwlmm/openapi': '*'
       ali-oss: '*'
@@ -1952,14 +1955,14 @@
       file-saver: 2.0.5
       jszip: 3.10.1
       lodash: 4.17.21
-      senior-request: 1.0.1(axios@1.7.7)
+      senior-request: 1.0.10(axios@1.7.7)
       vue: 3.5.11(typescript@4.8.4)
       vue-router: 4.4.5(vue@3.5.11)
       xlsx: 0.18.5
       xlsx-style: 0.8.13(patch_hash=6ixwdxwh5a3amidwu6vee22jpi)
     dev: false
 
-  /@bole-core/pretty-layout@1.2.0(@bole-core/core@1.0.7)(@bole-core/sass-utils@0.0.1)(@element-plus/icons-vue@2.3.1)(@vueuse/core@11.1.0)(element-plus@2.11.2)(fuse.js@6.6.2)(lottie-web@5.10.2)(path-browserify@1.0.1)(path-to-regexp@6.2.1)(pinia@2.2.4)(vue-router@4.4.5)(vue@3.5.11):
+  /@bole-core/pretty-layout@1.2.0(@bole-core/core@1.0.8)(@bole-core/sass-utils@0.0.1)(@element-plus/icons-vue@2.3.1)(@vueuse/core@11.1.0)(element-plus@2.11.2)(fuse.js@6.6.2)(lottie-web@5.10.2)(path-browserify@1.0.1)(path-to-regexp@6.2.1)(pinia@2.2.4)(vue-router@4.4.5)(vue@3.5.11):
     resolution: {integrity: sha512-LvneMdMfGj6dpFR7voQd2F+v02P4zYHGP3BAWKcrTj8BMeWXRt08Sz7qBrhq1F8lidjqi7TCttQbx2cEV1qBEA==}
     peerDependencies:
       '@bole-core/core': '*'
@@ -1975,7 +1978,7 @@
       vue: 3.5.11
       vue-router: '*'
     dependencies:
-      '@bole-core/core': 1.0.7(@ywwlmm/openapi@0.0.3)(ali-oss@6.21.0)(axios@1.7.7)(dayjs@1.11.6)(element-plus@2.11.2)(file-saver@2.0.5)(jszip@3.10.1)(lodash@4.17.21)(senior-request@1.0.1)(vue-router@4.4.5)(vue@3.5.11)(xlsx-style@0.8.13)(xlsx@0.18.5)
+      '@bole-core/core': 1.0.8(@ywwlmm/openapi@0.0.3)(ali-oss@6.21.0)(axios@1.7.7)(dayjs@1.11.6)(element-plus@2.11.2)(file-saver@2.0.5)(jszip@3.10.1)(lodash@4.17.21)(senior-request@1.0.10)(vue-router@4.4.5)(vue@3.5.11)(xlsx-style@0.8.13)(xlsx@0.18.5)
       '@bole-core/sass-utils': 0.0.1(element-plus@2.11.2)
       '@element-plus/icons-vue': 2.3.1(vue@3.5.11)
       '@vueuse/core': 11.1.0(vue@3.5.11)
@@ -3745,8 +3748,8 @@
       '@tencentcloud/tui-core': 2.5.1
     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
@@ -3769,7 +3772,7 @@
       '@tencentcloud/call-uikit-vue': 4.0.9
       '@tencentcloud/call-uikit-vue2': 4.0.9
       '@tencentcloud/call-uikit-vue2.6': 4.0.9(vue@3.5.11)
-      '@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@3.5.11)
       '@tiptap/core': 2.1.13(@tiptap/pm@2.1.13)
@@ -13711,8 +13714,8 @@
       vue: 3.5.11(typescript@4.8.4)
     dev: false
 
-  /senior-request@1.0.1(axios@1.7.7):
-    resolution: {integrity: sha512-2S3B+7ZUuM91aOZLnZBIFiCsaJsH51ZlwUOW7TEhW9gmKymePcYRk9N6PV5dINoHBaZkpAm4LdQuKpHZoDJzWw==}
+  /senior-request@1.0.10(axios@1.7.7):
+    resolution: {integrity: sha512-qHJaP7SrxK+YpiThJII2QXy+nXcjC5liNJizFsAEoFoLQ+eVBSA4hTC/nIC+WD7PEuboFOZCiriCm6KKJbMQBA==}
     peerDependencies:
       axios: '*'
     dependencies:
diff --git a/src/constants/apiEnum.ts b/src/constants/apiEnum.ts
index 5e7d264..0d36754 100644
--- a/src/constants/apiEnum.ts
+++ b/src/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/src/services/api/index.ts b/src/services/api/index.ts
index 99078ea..c27a0d6 100644
--- a/src/services/api/index.ts
+++ b/src/services/api/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/src/services/api/logRecords.ts b/src/services/api/logRecords.ts
index 0cb3919..4780141 100644
--- a/src/services/api/logRecords.ts
+++ b/src/services/api/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/src/services/api/sms.ts b/src/services/api/sms.ts
new file mode 100644
index 0000000..5a65279
--- /dev/null
+++ b/src/services/api/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/src/services/api/typings.d.ts b/src/services/api/typings.d.ts
index 5623a46..9794017 100644
--- a/src/services/api/typings.d.ts
+++ b/src/services/api/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/src/utils/LoggerRecord/index.ts b/src/utils/LoggerRecord/index.ts
new file mode 100644
index 0000000..46ce4c1
--- /dev/null
+++ b/src/utils/LoggerRecord/index.ts
@@ -0,0 +1,58 @@
+import * as logRecordsServices from '@/services/api/logRecords';
+import config from '@config/config';
+import { LoggerRecord, LogOptions, LoggerRecordOptions, LoggerRecordLevel } from 'senior-request';
+
+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: config.title,
+  enableStorage: true,
+});
diff --git a/src/utils/request/index.ts b/src/utils/request/index.ts
index e11bb12..d5c39ef 100644
--- a/src/utils/request/index.ts
+++ b/src/utils/request/index.ts
@@ -7,6 +7,7 @@
 import { ElLoading as Loading, ElNotification } from 'element-plus';
 import { router } from '@/router';
 import { Message, tokenIsExpired } from '@/utils';
+import { httpLoggerRecord } from '../LoggerRecord';
 
 // 鍔犺浇鐜鍙橀噺 VITE_PROXY_DOMAIN锛堝紑鍙戠幆澧冿級  VITE_PROXY_DOMAIN_REAL锛堟墦鍖呭悗鐨勭嚎涓婄幆澧冿級
 const { VITE_PROXY_DOMAIN, VITE_PROXY_DOMAIN_REAL, DEV } = loadEnv();
@@ -67,6 +68,7 @@
    */
   msg?: string;
   showType?: ErrorShowType;
+  traceId?: string;
 }
 
 interface ErrorResponse {
@@ -107,6 +109,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) {
@@ -182,6 +197,14 @@
           NProgress.start();
         }
 
+        httpLoggerRecord.info({
+          message: `[${$config.url}] 璇锋眰寮�濮媊,
+          httpParams: {
+            url: $config.url,
+          },
+          args: [{ data: $config.data, params: $config.params, headers: $config.headers }],
+        });
+
         const userStore = useUserStoreHook();
 
         const userInfo = userStore.userInfo;
@@ -224,6 +247,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;
 
         // 鍏抽棴杩涘害鏉″姩鐢�

--
Gitblit v1.9.1