diff --git a/package.json b/package.json
index 7809786..53e6624 100644
--- a/package.json
+++ b/package.json
@@ -65,7 +65,7 @@
     "lint-staged": "^15.2.0",
     "naive-ui": "^2.41.0",
     "pinia": "2.0.36",
-    "sass": "^1.77.8",
+    "sass": "1.62.1",
     "simple-git-hooks": "^2.9.0",
     "typescript": "^5.3.3",
     "unocss": "^0.58.9",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index fd223d1..b718ce7 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -13,7 +13,7 @@ importers:
         version: 3.0.0-alpha-4000020240111001(@dcloudio/types@3.4.14)(postcss@8.5.3)(vue@3.5.13(typescript@5.8.3))
       '@dcloudio/uni-app-plus':
         specifier: 3.0.0-alpha-4000020240111001
-        version: 3.0.0-alpha-4000020240111001(@nuxt/kit@3.16.2)(@vueuse/core@9.13.0(vue@3.5.13(typescript@5.8.3)))(postcss@8.5.3)(rollup@3.29.5)(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.86.3)(terser@5.39.0))(vue@3.5.13(typescript@5.8.3))
+        version: 3.0.0-alpha-4000020240111001(@nuxt/kit@3.16.2)(@vueuse/core@9.13.0(vue@3.5.13(typescript@5.8.3)))(postcss@8.5.3)(rollup@3.29.5)(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.62.1)(terser@5.39.0))(vue@3.5.13(typescript@5.8.3))
       '@dcloudio/uni-components':
         specifier: 3.0.0-alpha-4000020240111001
         version: 3.0.0-alpha-4000020240111001(postcss@8.5.3)(vue@3.5.13(typescript@5.8.3))
@@ -122,7 +122,7 @@ importers:
         version: 3.0.0-alpha-4000020240111001(postcss@8.5.3)(vue@3.5.13(typescript@5.8.3))
       '@dcloudio/vite-plugin-uni':
         specifier: 3.0.0-alpha-4000020240111001
-        version: 3.0.0-alpha-4000020240111001(@nuxt/kit@3.16.2)(@vueuse/core@9.13.0(vue@3.5.13(typescript@5.8.3)))(postcss@8.5.3)(rollup@3.29.5)(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.86.3)(terser@5.39.0))(vue@3.5.13(typescript@5.8.3))
+        version: 3.0.0-alpha-4000020240111001(@nuxt/kit@3.16.2)(@vueuse/core@9.13.0(vue@3.5.13(typescript@5.8.3)))(postcss@8.5.3)(rollup@3.29.5)(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.62.1)(terser@5.39.0))(vue@3.5.13(typescript@5.8.3))
       '@iconify-json/carbon':
         specifier: ^1.1.27
         version: 1.2.8
@@ -137,7 +137,7 @@ importers:
         version: 0.1.7
       '@uni-helper/unocss-preset-uni':
         specifier: ^0.2.9
-        version: 0.2.11(@unocss/preset-legacy-compat@66.0.0)(@unocss/rule-utils@66.0.0)(@unocss/vite@0.58.9(rollup@3.29.5)(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.86.3)(terser@5.39.0)))(unocss-applet@0.8.5(@unocss/core@66.0.0)(unocss@0.58.9(postcss@8.5.3)(rollup@3.29.5)(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.86.3)(terser@5.39.0))))(unocss@0.58.9(postcss@8.5.3)(rollup@3.29.5)(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.86.3)(terser@5.39.0)))
+        version: 0.2.11(@unocss/preset-legacy-compat@66.0.0)(@unocss/rule-utils@66.0.0)(@unocss/vite@0.58.9(rollup@3.29.5)(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.62.1)(terser@5.39.0)))(unocss-applet@0.8.5(@unocss/core@66.0.0)(unocss@0.58.9(postcss@8.5.3)(rollup@3.29.5)(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.62.1)(terser@5.39.0))))(unocss@0.58.9(postcss@8.5.3)(rollup@3.29.5)(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.62.1)(terser@5.39.0)))
       '@uni-helper/volar-service-uni-pages':
         specifier: ^0.2.14
         version: 0.2.28
@@ -160,8 +160,8 @@ importers:
         specifier: 2.0.36
         version: 2.0.36(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))
       sass:
-        specifier: ^1.77.8
-        version: 1.86.3
+        specifier: 1.62.1
+        version: 1.62.1
       simple-git-hooks:
         specifier: ^2.9.0
         version: 2.12.1
@@ -170,10 +170,10 @@ importers:
         version: 5.8.3
       unocss:
         specifier: ^0.58.9
-        version: 0.58.9(postcss@8.5.3)(rollup@3.29.5)(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.86.3)(terser@5.39.0))
+        version: 0.58.9(postcss@8.5.3)(rollup@3.29.5)(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.62.1)(terser@5.39.0))
       unocss-applet:
         specifier: ^0.8.2
-        version: 0.8.5(@unocss/core@66.0.0)(unocss@0.58.9(postcss@8.5.3)(rollup@3.29.5)(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.86.3)(terser@5.39.0)))
+        version: 0.8.5(@unocss/core@66.0.0)(unocss@0.58.9(postcss@8.5.3)(rollup@3.29.5)(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.62.1)(terser@5.39.0)))
       unplugin-auto-import:
         specifier: ^19.1.1
         version: 19.1.2(@nuxt/kit@3.16.2)(@vueuse/core@9.13.0(vue@3.5.13(typescript@5.8.3)))
@@ -182,7 +182,7 @@ importers:
         version: 28.4.1(@babel/parser@7.27.0)(@nuxt/kit@3.16.2)(vue@3.5.13(typescript@5.8.3))
       vite:
         specifier: 4.5.1
-        version: 4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.86.3)(terser@5.39.0)
+        version: 4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.62.1)(terser@5.39.0)
       vue-tsc:
         specifier: ^1.8.27
         version: 1.8.27(typescript@5.8.3)
@@ -1498,94 +1498,6 @@ packages:
     resolution: {integrity: sha512-K1SAUo2vweTfudKZzjKsZ5YJoxPLTspR5qz5+G61xtZreLpsdpDYfBseqsIAl5VFLJuszeRpWQ01jP9LfQ6Ksw==}
     engines: {node: '>=18.12.0'}
 
-  '@parcel/watcher-android-arm64@2.5.1':
-    resolution: {integrity: sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==}
-    engines: {node: '>= 10.0.0'}
-    cpu: [arm64]
-    os: [android]
-
-  '@parcel/watcher-darwin-arm64@2.5.1':
-    resolution: {integrity: sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==}
-    engines: {node: '>= 10.0.0'}
-    cpu: [arm64]
-    os: [darwin]
-
-  '@parcel/watcher-darwin-x64@2.5.1':
-    resolution: {integrity: sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==}
-    engines: {node: '>= 10.0.0'}
-    cpu: [x64]
-    os: [darwin]
-
-  '@parcel/watcher-freebsd-x64@2.5.1':
-    resolution: {integrity: sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==}
-    engines: {node: '>= 10.0.0'}
-    cpu: [x64]
-    os: [freebsd]
-
-  '@parcel/watcher-linux-arm-glibc@2.5.1':
-    resolution: {integrity: sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==}
-    engines: {node: '>= 10.0.0'}
-    cpu: [arm]
-    os: [linux]
-    libc: [glibc]
-
-  '@parcel/watcher-linux-arm-musl@2.5.1':
-    resolution: {integrity: sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==}
-    engines: {node: '>= 10.0.0'}
-    cpu: [arm]
-    os: [linux]
-    libc: [musl]
-
-  '@parcel/watcher-linux-arm64-glibc@2.5.1':
-    resolution: {integrity: sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==}
-    engines: {node: '>= 10.0.0'}
-    cpu: [arm64]
-    os: [linux]
-    libc: [glibc]
-
-  '@parcel/watcher-linux-arm64-musl@2.5.1':
-    resolution: {integrity: sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==}
-    engines: {node: '>= 10.0.0'}
-    cpu: [arm64]
-    os: [linux]
-    libc: [musl]
-
-  '@parcel/watcher-linux-x64-glibc@2.5.1':
-    resolution: {integrity: sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==}
-    engines: {node: '>= 10.0.0'}
-    cpu: [x64]
-    os: [linux]
-    libc: [glibc]
-
-  '@parcel/watcher-linux-x64-musl@2.5.1':
-    resolution: {integrity: sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==}
-    engines: {node: '>= 10.0.0'}
-    cpu: [x64]
-    os: [linux]
-    libc: [musl]
-
-  '@parcel/watcher-win32-arm64@2.5.1':
-    resolution: {integrity: sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==}
-    engines: {node: '>= 10.0.0'}
-    cpu: [arm64]
-    os: [win32]
-
-  '@parcel/watcher-win32-ia32@2.5.1':
-    resolution: {integrity: sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==}
-    engines: {node: '>= 10.0.0'}
-    cpu: [ia32]
-    os: [win32]
-
-  '@parcel/watcher-win32-x64@2.5.1':
-    resolution: {integrity: sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==}
-    engines: {node: '>= 10.0.0'}
-    cpu: [x64]
-    os: [win32]
-
-  '@parcel/watcher@2.5.1':
-    resolution: {integrity: sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==}
-    engines: {node: '>= 10.0.0'}
-
   '@polka/url@1.0.0-next.29':
     resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==}
 
@@ -2508,11 +2420,6 @@ packages:
     resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==}
     engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
 
-  detect-libc@1.0.3:
-    resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==}
-    engines: {node: '>=0.10'}
-    hasBin: true
-
   detect-newline@3.1.0:
     resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==}
     engines: {node: '>=8'}
@@ -2959,8 +2866,8 @@ packages:
     engines: {node: '>=0.10.0'}
     hasBin: true
 
-  immutable@5.1.1:
-    resolution: {integrity: sha512-3jatXi9ObIsPGr3N5hGw/vWWcTkq6hUYhpQz4k0wLC+owqWi/LiugIw9x0EdNZ2yGedKN/HzePiBvaJRXa0Ujg==}
+  immutable@4.3.7:
+    resolution: {integrity: sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==}
 
   import-local@3.2.0:
     resolution: {integrity: sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==}
@@ -3531,9 +3438,6 @@ packages:
     resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==}
     engines: {node: '>= 0.6'}
 
-  node-addon-api@7.1.1:
-    resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==}
-
   node-fetch-native@1.6.6:
     resolution: {integrity: sha512-8Mc2HhqPdlIfedsuZoc3yioPuzp6b+L5jRCRY1QzuWZh2EGJVQrGppC6V6cF0bLdbW0+O2YpqCA25aF/1lvipQ==}
 
@@ -4040,8 +3944,8 @@ packages:
   safer-buffer@2.1.2:
     resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
 
-  sass@1.86.3:
-    resolution: {integrity: sha512-iGtg8kus4GrsGLRDLRBRHY9dNVA78ZaS7xr01cWnS7PEMQyFtTqBiyCrfpTYTZXRWM94akzckYjh8oADfFNTzw==}
+  sass@1.62.1:
+    resolution: {integrity: sha512-NHpxIzN29MXvWiuswfc1W3I0N8SXBd8UR26WntmDlRYf0bSADnwnOjsyMZ3lMezSlArD33Vs3YFhp7dWvL770A==}
     engines: {node: '>=14.0.0'}
     hasBin: true
 
@@ -5530,10 +5434,10 @@ snapshots:
 
   '@dcloudio/types@3.4.14': {}
 
-  '@dcloudio/uni-app-plus@3.0.0-alpha-4000020240111001(@nuxt/kit@3.16.2)(@vueuse/core@9.13.0(vue@3.5.13(typescript@5.8.3)))(postcss@8.5.3)(rollup@3.29.5)(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.86.3)(terser@5.39.0))(vue@3.5.13(typescript@5.8.3))':
+  '@dcloudio/uni-app-plus@3.0.0-alpha-4000020240111001(@nuxt/kit@3.16.2)(@vueuse/core@9.13.0(vue@3.5.13(typescript@5.8.3)))(postcss@8.5.3)(rollup@3.29.5)(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.62.1)(terser@5.39.0))(vue@3.5.13(typescript@5.8.3))':
     dependencies:
       '@dcloudio/uni-app-uts': 3.0.0-alpha-4000020240111001(@nuxt/kit@3.16.2)(@vueuse/core@9.13.0(vue@3.5.13(typescript@5.8.3)))(postcss@8.5.3)(rollup@3.29.5)(vue@3.5.13(typescript@5.8.3))
-      '@dcloudio/uni-app-vite': 3.0.0-alpha-4000020240111001(postcss@8.5.3)(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.86.3)(terser@5.39.0))(vue@3.5.13(typescript@5.8.3))
+      '@dcloudio/uni-app-vite': 3.0.0-alpha-4000020240111001(postcss@8.5.3)(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.62.1)(terser@5.39.0))(vue@3.5.13(typescript@5.8.3))
       '@dcloudio/uni-app-vue': 3.0.0-alpha-4000020240111001
       debug: 4.4.0
       fs-extra: 10.1.0
@@ -5581,14 +5485,14 @@ snapshots:
       - ts-node
       - vue
 
-  '@dcloudio/uni-app-vite@3.0.0-alpha-4000020240111001(postcss@8.5.3)(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.86.3)(terser@5.39.0))(vue@3.5.13(typescript@5.8.3))':
+  '@dcloudio/uni-app-vite@3.0.0-alpha-4000020240111001(postcss@8.5.3)(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.62.1)(terser@5.39.0))(vue@3.5.13(typescript@5.8.3))':
     dependencies:
       '@dcloudio/uni-cli-shared': 3.0.0-alpha-4000020240111001(postcss@8.5.3)(vue@3.5.13(typescript@5.8.3))
       '@dcloudio/uni-i18n': 3.0.0-alpha-4000020240111001
       '@dcloudio/uni-nvue-styler': 3.0.0-alpha-4000020240111001
       '@dcloudio/uni-shared': 3.0.0-alpha-4000020240111001
       '@rollup/pluginutils': 4.2.1
-      '@vitejs/plugin-vue': 4.6.2(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.86.3)(terser@5.39.0))(vue@3.5.13(typescript@5.8.3))
+      '@vitejs/plugin-vue': 4.6.2(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.62.1)(terser@5.39.0))(vue@3.5.13(typescript@5.8.3))
       '@vue/compiler-dom': 3.3.11
       '@vue/compiler-sfc': 3.3.11
       debug: 4.4.0
@@ -6014,7 +5918,7 @@ snapshots:
       - utf-8-validate
       - vue
 
-  '@dcloudio/vite-plugin-uni@3.0.0-alpha-4000020240111001(@nuxt/kit@3.16.2)(@vueuse/core@9.13.0(vue@3.5.13(typescript@5.8.3)))(postcss@8.5.3)(rollup@3.29.5)(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.86.3)(terser@5.39.0))(vue@3.5.13(typescript@5.8.3))':
+  '@dcloudio/vite-plugin-uni@3.0.0-alpha-4000020240111001(@nuxt/kit@3.16.2)(@vueuse/core@9.13.0(vue@3.5.13(typescript@5.8.3)))(postcss@8.5.3)(rollup@3.29.5)(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.62.1)(terser@5.39.0))(vue@3.5.13(typescript@5.8.3))':
     dependencies:
       '@babel/core': 7.26.10
       '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.26.10)
@@ -6022,9 +5926,9 @@ snapshots:
       '@dcloudio/uni-cli-shared': 3.0.0-alpha-4000020240111001(postcss@8.5.3)(vue@3.5.13(typescript@5.8.3))
       '@dcloudio/uni-shared': 3.0.0-alpha-4000020240111001
       '@rollup/pluginutils': 4.2.1
-      '@vitejs/plugin-legacy': 4.1.1(terser@5.39.0)(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.86.3)(terser@5.39.0))
-      '@vitejs/plugin-vue': 4.6.2(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.86.3)(terser@5.39.0))(vue@3.5.13(typescript@5.8.3))
-      '@vitejs/plugin-vue-jsx': 3.1.0(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.86.3)(terser@5.39.0))(vue@3.5.13(typescript@5.8.3))
+      '@vitejs/plugin-legacy': 4.1.1(terser@5.39.0)(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.62.1)(terser@5.39.0))
+      '@vitejs/plugin-vue': 4.6.2(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.62.1)(terser@5.39.0))(vue@3.5.13(typescript@5.8.3))
+      '@vitejs/plugin-vue-jsx': 3.1.0(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.62.1)(terser@5.39.0))(vue@3.5.13(typescript@5.8.3))
       '@vue/compiler-core': 3.3.11
       '@vue/compiler-dom': 3.3.11
       '@vue/compiler-sfc': 3.3.11
@@ -6041,7 +5945,7 @@ snapshots:
       picocolors: 1.1.1
       terser: 5.39.0
       unplugin-auto-import: 0.16.7(@nuxt/kit@3.16.2)(@vueuse/core@9.13.0(vue@3.5.13(typescript@5.8.3)))(rollup@3.29.5)
-      vite: 4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.86.3)(terser@5.39.0)
+      vite: 4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.62.1)(terser@5.39.0)
     transitivePeerDependencies:
       - '@nuxt/kit'
       - '@vueuse/core'
@@ -6755,67 +6659,6 @@ snapshots:
     transitivePeerDependencies:
       - magicast
 
-  '@parcel/watcher-android-arm64@2.5.1':
-    optional: true
-
-  '@parcel/watcher-darwin-arm64@2.5.1':
-    optional: true
-
-  '@parcel/watcher-darwin-x64@2.5.1':
-    optional: true
-
-  '@parcel/watcher-freebsd-x64@2.5.1':
-    optional: true
-
-  '@parcel/watcher-linux-arm-glibc@2.5.1':
-    optional: true
-
-  '@parcel/watcher-linux-arm-musl@2.5.1':
-    optional: true
-
-  '@parcel/watcher-linux-arm64-glibc@2.5.1':
-    optional: true
-
-  '@parcel/watcher-linux-arm64-musl@2.5.1':
-    optional: true
-
-  '@parcel/watcher-linux-x64-glibc@2.5.1':
-    optional: true
-
-  '@parcel/watcher-linux-x64-musl@2.5.1':
-    optional: true
-
-  '@parcel/watcher-win32-arm64@2.5.1':
-    optional: true
-
-  '@parcel/watcher-win32-ia32@2.5.1':
-    optional: true
-
-  '@parcel/watcher-win32-x64@2.5.1':
-    optional: true
-
-  '@parcel/watcher@2.5.1':
-    dependencies:
-      detect-libc: 1.0.3
-      is-glob: 4.0.3
-      micromatch: 4.0.8
-      node-addon-api: 7.1.1
-    optionalDependencies:
-      '@parcel/watcher-android-arm64': 2.5.1
-      '@parcel/watcher-darwin-arm64': 2.5.1
-      '@parcel/watcher-darwin-x64': 2.5.1
-      '@parcel/watcher-freebsd-x64': 2.5.1
-      '@parcel/watcher-linux-arm-glibc': 2.5.1
-      '@parcel/watcher-linux-arm-musl': 2.5.1
-      '@parcel/watcher-linux-arm64-glibc': 2.5.1
-      '@parcel/watcher-linux-arm64-musl': 2.5.1
-      '@parcel/watcher-linux-x64-glibc': 2.5.1
-      '@parcel/watcher-linux-x64-musl': 2.5.1
-      '@parcel/watcher-win32-arm64': 2.5.1
-      '@parcel/watcher-win32-ia32': 2.5.1
-      '@parcel/watcher-win32-x64': 2.5.1
-    optional: true
-
   '@polka/url@1.0.0-next.29': {}
 
   '@rollup/pluginutils@4.2.1':
@@ -6943,15 +6786,15 @@ snapshots:
       - supports-color
       - ts-node
 
-  '@uni-helper/unocss-preset-uni@0.2.11(@unocss/preset-legacy-compat@66.0.0)(@unocss/rule-utils@66.0.0)(@unocss/vite@0.58.9(rollup@3.29.5)(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.86.3)(terser@5.39.0)))(unocss-applet@0.8.5(@unocss/core@66.0.0)(unocss@0.58.9(postcss@8.5.3)(rollup@3.29.5)(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.86.3)(terser@5.39.0))))(unocss@0.58.9(postcss@8.5.3)(rollup@3.29.5)(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.86.3)(terser@5.39.0)))':
+  '@uni-helper/unocss-preset-uni@0.2.11(@unocss/preset-legacy-compat@66.0.0)(@unocss/rule-utils@66.0.0)(@unocss/vite@0.58.9(rollup@3.29.5)(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.62.1)(terser@5.39.0)))(unocss-applet@0.8.5(@unocss/core@66.0.0)(unocss@0.58.9(postcss@8.5.3)(rollup@3.29.5)(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.62.1)(terser@5.39.0))))(unocss@0.58.9(postcss@8.5.3)(rollup@3.29.5)(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.62.1)(terser@5.39.0)))':
     dependencies:
       '@uni-helper/uni-env': 0.1.7
       '@unocss/preset-legacy-compat': 66.0.0
       '@unocss/rule-utils': 66.0.0
-      unocss: 0.58.9(postcss@8.5.3)(rollup@3.29.5)(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.86.3)(terser@5.39.0))
-      unocss-applet: 0.8.5(@unocss/core@66.0.0)(unocss@0.58.9(postcss@8.5.3)(rollup@3.29.5)(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.86.3)(terser@5.39.0)))
+      unocss: 0.58.9(postcss@8.5.3)(rollup@3.29.5)(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.62.1)(terser@5.39.0))
+      unocss-applet: 0.8.5(@unocss/core@66.0.0)(unocss@0.58.9(postcss@8.5.3)(rollup@3.29.5)(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.62.1)(terser@5.39.0)))
     optionalDependencies:
-      '@unocss/vite': 0.58.9(rollup@3.29.5)(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.86.3)(terser@5.39.0))
+      '@unocss/vite': 0.58.9(rollup@3.29.5)(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.62.1)(terser@5.39.0))
 
   '@uni-helper/volar-service-uni-pages@0.2.28':
     dependencies:
@@ -6979,13 +6822,13 @@ snapshots:
     optionalDependencies:
       '@unocss/core': 66.0.0
 
-  '@unocss/astro@0.58.9(rollup@3.29.5)(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.86.3)(terser@5.39.0))':
+  '@unocss/astro@0.58.9(rollup@3.29.5)(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.62.1)(terser@5.39.0))':
     dependencies:
       '@unocss/core': 0.58.9
       '@unocss/reset': 0.58.9
-      '@unocss/vite': 0.58.9(rollup@3.29.5)(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.86.3)(terser@5.39.0))
+      '@unocss/vite': 0.58.9(rollup@3.29.5)(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.62.1)(terser@5.39.0))
     optionalDependencies:
-      vite: 4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.86.3)(terser@5.39.0)
+      vite: 4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.62.1)(terser@5.39.0)
     transitivePeerDependencies:
       - rollup
 
@@ -7127,7 +6970,7 @@ snapshots:
     dependencies:
       '@unocss/core': 0.58.9
 
-  '@unocss/vite@0.58.9(rollup@3.29.5)(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.86.3)(terser@5.39.0))':
+  '@unocss/vite@0.58.9(rollup@3.29.5)(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.62.1)(terser@5.39.0))':
     dependencies:
       '@ampproject/remapping': 2.3.0
       '@rollup/pluginutils': 5.1.4(rollup@3.29.5)
@@ -7139,11 +6982,11 @@ snapshots:
       chokidar: 3.6.0
       fast-glob: 3.3.3
       magic-string: 0.30.17
-      vite: 4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.86.3)(terser@5.39.0)
+      vite: 4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.62.1)(terser@5.39.0)
     transitivePeerDependencies:
       - rollup
 
-  '@vitejs/plugin-legacy@4.1.1(terser@5.39.0)(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.86.3)(terser@5.39.0))':
+  '@vitejs/plugin-legacy@4.1.1(terser@5.39.0)(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.62.1)(terser@5.39.0))':
     dependencies:
       '@babel/core': 7.26.10
       '@babel/preset-env': 7.26.9(@babel/core@7.26.10)
@@ -7153,23 +6996,23 @@ snapshots:
       regenerator-runtime: 0.13.11
       systemjs: 6.15.1
       terser: 5.39.0
-      vite: 4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.86.3)(terser@5.39.0)
+      vite: 4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.62.1)(terser@5.39.0)
     transitivePeerDependencies:
       - supports-color
 
-  '@vitejs/plugin-vue-jsx@3.1.0(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.86.3)(terser@5.39.0))(vue@3.5.13(typescript@5.8.3))':
+  '@vitejs/plugin-vue-jsx@3.1.0(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.62.1)(terser@5.39.0))(vue@3.5.13(typescript@5.8.3))':
     dependencies:
       '@babel/core': 7.26.10
       '@babel/plugin-transform-typescript': 7.27.0(@babel/core@7.26.10)
       '@vue/babel-plugin-jsx': 1.4.0(@babel/core@7.26.10)
-      vite: 4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.86.3)(terser@5.39.0)
+      vite: 4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.62.1)(terser@5.39.0)
       vue: 3.5.13(typescript@5.8.3)
     transitivePeerDependencies:
       - supports-color
 
-  '@vitejs/plugin-vue@4.6.2(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.86.3)(terser@5.39.0))(vue@3.5.13(typescript@5.8.3))':
+  '@vitejs/plugin-vue@4.6.2(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.62.1)(terser@5.39.0))(vue@3.5.13(typescript@5.8.3))':
     dependencies:
-      vite: 4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.86.3)(terser@5.39.0)
+      vite: 4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.62.1)(terser@5.39.0)
       vue: 3.5.13(typescript@5.8.3)
 
   '@volar/language-core@1.11.1':
@@ -7877,9 +7720,6 @@ snapshots:
 
   destroy@1.2.0: {}
 
-  detect-libc@1.0.3:
-    optional: true
-
   detect-newline@3.1.0: {}
 
   detect-port@1.6.1:
@@ -8381,7 +8221,7 @@ snapshots:
   image-size@0.5.5:
     optional: true
 
-  immutable@5.1.1: {}
+  immutable@4.3.7: {}
 
   import-local@3.2.0:
     dependencies:
@@ -9179,9 +9019,6 @@ snapshots:
 
   negotiator@0.6.3: {}
 
-  node-addon-api@7.1.1:
-    optional: true
-
   node-fetch-native@1.6.6: {}
 
   node-int64@0.4.0: {}
@@ -9651,13 +9488,11 @@ snapshots:
 
   safer-buffer@2.1.2: {}
 
-  sass@1.86.3:
+  sass@1.62.1:
     dependencies:
-      chokidar: 4.0.3
-      immutable: 5.1.1
+      chokidar: 3.6.0
+      immutable: 4.3.7
       source-map-js: 1.2.1
-    optionalDependencies:
-      '@parcel/watcher': 2.5.1
 
   sax@1.4.1: {}
 
@@ -10041,19 +9876,19 @@ snapshots:
 
   universalify@2.0.1: {}
 
-  unocss-applet@0.8.5(@unocss/core@66.0.0)(unocss@0.58.9(postcss@8.5.3)(rollup@3.29.5)(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.86.3)(terser@5.39.0))):
+  unocss-applet@0.8.5(@unocss/core@66.0.0)(unocss@0.58.9(postcss@8.5.3)(rollup@3.29.5)(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.62.1)(terser@5.39.0))):
     dependencies:
       '@unocss-applet/preset-applet': 0.8.5(@unocss/core@66.0.0)
       '@unocss-applet/preset-rem-rpx': 0.8.5(@unocss/core@66.0.0)
       '@unocss-applet/transformer-attributify': 0.8.5(@unocss/core@66.0.0)
-      unocss: 0.58.9(postcss@8.5.3)(rollup@3.29.5)(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.86.3)(terser@5.39.0))
+      unocss: 0.58.9(postcss@8.5.3)(rollup@3.29.5)(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.62.1)(terser@5.39.0))
     transitivePeerDependencies:
       - '@unocss/core'
       - '@unocss/preset-mini'
 
-  unocss@0.58.9(postcss@8.5.3)(rollup@3.29.5)(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.86.3)(terser@5.39.0)):
+  unocss@0.58.9(postcss@8.5.3)(rollup@3.29.5)(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.62.1)(terser@5.39.0)):
     dependencies:
-      '@unocss/astro': 0.58.9(rollup@3.29.5)(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.86.3)(terser@5.39.0))
+      '@unocss/astro': 0.58.9(rollup@3.29.5)(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.62.1)(terser@5.39.0))
       '@unocss/cli': 0.58.9(rollup@3.29.5)
       '@unocss/core': 0.58.9
       '@unocss/extractor-arbitrary-variants': 0.58.9
@@ -10072,9 +9907,9 @@ snapshots:
       '@unocss/transformer-compile-class': 0.58.9
       '@unocss/transformer-directives': 0.58.9
       '@unocss/transformer-variant-group': 0.58.9
-      '@unocss/vite': 0.58.9(rollup@3.29.5)(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.86.3)(terser@5.39.0))
+      '@unocss/vite': 0.58.9(rollup@3.29.5)(vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.62.1)(terser@5.39.0))
     optionalDependencies:
-      vite: 4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.86.3)(terser@5.39.0)
+      vite: 4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.62.1)(terser@5.39.0)
     transitivePeerDependencies:
       - postcss
       - rollup
@@ -10192,7 +10027,7 @@ snapshots:
       evtd: 0.2.4
       vue: 3.5.13(typescript@5.8.3)
 
-  vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.86.3)(terser@5.39.0):
+  vite@4.5.1(@types/node@20.17.30)(less@4.3.0)(sass@1.62.1)(terser@5.39.0):
     dependencies:
       esbuild: 0.18.20
       postcss: 8.5.3
@@ -10201,7 +10036,7 @@ snapshots:
       '@types/node': 20.17.30
       fsevents: 2.3.3
       less: 4.3.0
-      sass: 1.86.3
+      sass: 1.62.1
       terser: 5.39.0
 
   vooks@0.2.12(vue@3.5.13(typescript@5.8.3)):
diff --git a/src/pages/dialog/index.vue b/src/pages/dialog/index.vue
index b346266..0a772d0 100644
--- a/src/pages/dialog/index.vue
+++ b/src/pages/dialog/index.vue
@@ -255,6 +255,13 @@
             <div
               class="pt-[16rpx] ml-[32rpx] mr-[32rpx] flex items-start justify-between"
             >
+              <tm-image
+                :width="52"
+                :height="52"
+                :src="state.isUseSpeech ? keyboardIcon : microphoneIcon"
+                @click="changeEditorMode"
+                style="align-self: center;"
+              ></tm-image>
               <div class="flex-1 quillBox" style="">
                 <QuillEditor
                   ref="editor"
@@ -536,6 +543,8 @@
   </div>
 </template>
 <script setup>
+import microphoneIcon from '@/static/image/record/voiceIcon.png'
+import keyboardIcon from '@/static/image/record/keyboardIcon.png'
 import allSpeech from '@/uni_modules/all-speech/components/all-speech/all-speech.vue'
 import selectMemberByAlphabet from '../chatSettings/components/selectMemberByAlphabet.vue'
 import {
@@ -710,10 +719,12 @@ uniOnUnload(() => {
 })
 const handleEmojiPanel = () => {
   state.value.isOpenFilePanel = false
+  state.value.isUseSpeech = false
   state.value.isOpenEmojiPanel = !state.value.isOpenEmojiPanel
 }
 const handleFilePanel = () => {
   state.value.isOpenEmojiPanel = false
+  state.value.isUseSpeech = false
   state.value.isOpenFilePanel = !state.value.isOpenFilePanel
 }
 
@@ -723,6 +734,12 @@ const handleHidePanel = () => {
   state.value.isOpenEmojiPanel = false
 }
 
+//切换键盘输入/语音输入
+const changeEditorMode = () => {
+  state.value.isUseSpeech = !state.value.isUseSpeech
+  handleHidePanel()
+}
+
 //点击编辑区聚焦输入框
 const onEditorClick = () => {
   handleHidePanel()
@@ -982,7 +999,7 @@ const onEmoticonEvent = (data) => {
       quill.insertText(index, data.value)
     }
 
-      quill.setSelection(index + 1, 0, 'user')
+    quill.setSelection(index + 1, 0, 'user')
   } else {
     let fn = emitCall('emoticon_event', data.value, () => {})
     emit('editor-event', fn)
@@ -990,7 +1007,7 @@ const onEmoticonEvent = (data) => {
 }
 let calcDelta = false
 const onEditorChange = () => {
-  if(calcDelta){
+  if (calcDelta) {
     calcDelta = false
     return
   }
@@ -1003,8 +1020,8 @@ const onEditorChange = () => {
     const ops = delta.ops || []
     if (ops[0].insert === '\n') {
       ops.splice(0, 1)
-        getQuill().setContents(delta)
-        getQuill().setSelection(getQuill().getText().length, 0)
+      getQuill().setContents(delta)
+      getQuill().setSelection(getQuill().getText().length, 0)
     }
     // for (let i = 0; i < ops.length; i++) {
     //   if (ops[i].insert === '\n') {
@@ -1498,7 +1515,7 @@ const clearMultiSelect = () => {
 const initData = async () => {
   const dialogueList = getDialogueList(talkParams.index_name)
   let doLocalPaging = false
-  if(dialogueList?.records?.length > 0){
+  if (dialogueList?.records?.length > 0) {
     doLocalPaging = true
   }
   console.error('dialogueList', dialogueList)
@@ -1512,7 +1529,7 @@ const initData = async () => {
     no_limit: dialogueList ? 1 : 0,
   }
   await onLoad({ ...objT })
-  if(doLocalPaging){
+  if (doLocalPaging) {
     zpagingRef.value?.setLocalPaging(records.value)
   }
 }
@@ -2226,7 +2243,7 @@ const onTextAreaMention = (user) => {
   :deep(.ql-clipboard) {
     position: relative;
     opacity: 0;
-    height: 1rpx;
+    height: 0rpx;
     overflow: auto;
     display: none;
   }
@@ -2250,6 +2267,7 @@ const onTextAreaMention = (user) => {
 
   :deep(.round-3) {
     max-height: 320rpx;
+    margin: 0 0 0 16rpx!important;
     overflow-y: scroll;
   }
 }
diff --git a/src/static/image/record/keyboardIcon.png b/src/static/image/record/keyboardIcon.png
new file mode 100644
index 0000000..bfcce8a
Binary files /dev/null and b/src/static/image/record/keyboardIcon.png differ
diff --git a/src/static/image/record/voiceIcon.png b/src/static/image/record/voiceIcon.png
new file mode 100644
index 0000000..333d1d9
Binary files /dev/null and b/src/static/image/record/voiceIcon.png differ
diff --git a/src/uni_modules/all-speech/components/all-speech/all-speech.vue b/src/uni_modules/all-speech/components/all-speech/all-speech.vue
index fc2f3fe..a0dacbd 100644
--- a/src/uni_modules/all-speech/components/all-speech/all-speech.vue
+++ b/src/uni_modules/all-speech/components/all-speech/all-speech.vue
@@ -182,19 +182,19 @@ export default {
     },
     chatInputHeight: {
       type: String,
-      default: '42px', // 单位为px
+      default: '32px', // 单位为px
     },
     btnStyle: {
       type: Object,
       default() {
         return {
-          width: 'calc(100% - 10rpx)',
-          height: '42px',
+          width: 'calc(100% - 26rpx)',
+          height: '32px',
           borderRadius: '8rpx',
           backgroundColor: '#F9F9F9',
           border: '1rpx solid whitesmoke',
           permisionState: false,
-          margin: '0 10rpx 0 0',
+          margin: '0 10rpx 0 16rpx',
           // boxShadow: '0rpx 6rpx 12rpx 2rpx rgba(0, 0, 0, 0.08)',
         }
       },
@@ -365,6 +365,8 @@ export default {
           if (isUserNotAllow) {
             //用户拒绝了录音权限
             //这里你应当编写代码进行引导用户给录音权限,不同平台分别进行编写
+          } else {
+            message.error('似乎没检测到您的麦克风哦')
           }
           console.error('请求录音权限失败:' + msg)
         },