Explorar o código

feat: 添加alova HTTP请求库及其uniapp适配器

feige996 hai 10 meses
pai
achega
26f96bfbf5
Modificáronse 3 ficheiros con 48 adicións e 0 borrados
  1. 3 0
      package.json
  2. 38 0
      pnpm-lock.yaml
  3. 7 0
      src/utils/request/alova.ts

+ 3 - 0
package.json

@@ -76,6 +76,8 @@
     "lint:fix": "eslint --fix"
   },
   "dependencies": {
+    "@alova/adapter-uniapp": "^2.0.14",
+    "@alova/shared": "^1.3.1",
     "@dcloudio/uni-app": "3.0.0-4060620250520001",
     "@dcloudio/uni-app-harmony": "3.0.0-4060620250520001",
     "@dcloudio/uni-app-plus": "3.0.0-4060620250520001",
@@ -94,6 +96,7 @@
     "@dcloudio/uni-quickapp-webview": "3.0.0-4060620250520001",
     "@tanstack/vue-query": "^5.62.16",
     "abortcontroller-polyfill": "^1.7.8",
+    "alova": "^3.3.3",
     "dayjs": "1.11.10",
     "js-cookie": "^3.0.5",
     "pinia": "2.0.36",

+ 38 - 0
pnpm-lock.yaml

@@ -16,6 +16,12 @@ importers:
 
   .:
     dependencies:
+      '@alova/adapter-uniapp':
+        specifier: ^2.0.14
+        version: 2.0.14(alova@3.3.3)
+      '@alova/shared':
+        specifier: ^1.3.1
+        version: 1.3.1
       '@dcloudio/uni-app':
         specifier: 3.0.0-4060620250520001
         version: 3.0.0-4060620250520001(@dcloudio/types@3.4.14)(postcss@8.4.49)(rollup@4.41.1)(vue@3.5.15(typescript@5.7.2))
@@ -70,6 +76,9 @@ importers:
       abortcontroller-polyfill:
         specifier: ^1.7.8
         version: 1.7.8
+      alova:
+        specifier: ^3.3.3
+        version: 3.3.3
       dayjs:
         specifier: 1.11.10
         version: 1.11.10
@@ -233,6 +242,14 @@ importers:
 
 packages:
 
+  '@alova/adapter-uniapp@2.0.14':
+    resolution: {integrity: sha512-AHrS/evdhONySkmtYHs6Sh1D+a0+zjBeOltcYY2/az/KEPN9p/l4H9Nvy+ghLhzMzfKfnITxeeMOi5ANyERimw==}
+    peerDependencies:
+      alova: ^3.0.20
+
+  '@alova/shared@1.3.1':
+    resolution: {integrity: sha512-ijSOaFLUFcVzMKSY3avoEE5C03/p9atjMDPBwvNkwnzaCrhv6/m4A121NdadF8YlHCRuifyYfz90IyEdMXTsJg==}
+
   '@ampproject/remapping@2.3.0':
     resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
     engines: {node: '>=6.0.0'}
@@ -2741,6 +2758,10 @@ packages:
   alien-signals@1.0.13:
     resolution: {integrity: sha512-OGj9yyTnJEttvzhTUWuscOvtqxq5vrhF7vL9oS0xJ2mK0ItPYP1/y+vCFebfxoEyAz0++1AIwJ5CMr+Fk3nDmg==}
 
+  alova@3.3.3:
+    resolution: {integrity: sha512-DB1t2qpQUERVaymz+u9bS71kcN5PzZ+G5LawHm9grabv++tfHOeYsKaW+LCpgMIJ/V7lQqFyqwOvTHGDph43Jw==}
+    engines: {node: '>= 18.0.0'}
+
   ansi-escapes@4.3.2:
     resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==}
     engines: {node: '>=8'}
@@ -5461,6 +5482,9 @@ packages:
     resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}
     engines: {node: '>= 0.6'}
 
+  rate-limiter-flexible@5.0.5:
+    resolution: {integrity: sha512-+/dSQfo+3FYwYygUs/V2BBdwGa9nFtakDwKt4l0bnvNB53TNT++QSFewwHX9qXrZJuMe9j+TUaU21lm5ARgqdQ==}
+
   raw-body@2.5.2:
     resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==}
     engines: {node: '>= 0.8'}
@@ -6433,6 +6457,13 @@ packages:
 
 snapshots:
 
+  '@alova/adapter-uniapp@2.0.14(alova@3.3.3)':
+    dependencies:
+      '@alova/shared': 1.3.1
+      alova: 3.3.3
+
+  '@alova/shared@1.3.1': {}
+
   '@ampproject/remapping@2.3.0':
     dependencies:
       '@jridgewell/gen-mapping': 0.3.5
@@ -10030,6 +10061,11 @@ snapshots:
 
   alien-signals@1.0.13: {}
 
+  alova@3.3.3:
+    dependencies:
+      '@alova/shared': 1.3.1
+      rate-limiter-flexible: 5.0.5
+
   ansi-escapes@4.3.2:
     dependencies:
       type-fest: 0.21.3
@@ -13269,6 +13305,8 @@ snapshots:
 
   range-parser@1.2.1: {}
 
+  rate-limiter-flexible@5.0.5: {}
+
   raw-body@2.5.2:
     dependencies:
       bytes: 3.1.2

+ 7 - 0
src/utils/request/alova.ts

@@ -0,0 +1,7 @@
+import AdapterUniapp from '@alova/adapter-uniapp'
+import { createAlova } from 'alova'
+
+const http = createAlova({
+  baseURL: import.meta.env.VITE_APP_PROXY_PREFIX,
+  ...AdapterUniapp(),
+})