From c6800e537ffef7241a085c24888076936ae94393 Mon Sep 17 00:00:00 2001 From: jiangx Date: Fri, 30 Aug 2024 09:08:36 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E2=99=BB=EF=B8=8F=20=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E6=95=B0=E6=8D=AE=E9=87=8D=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package-lock.json | 23 +++++++++++++++++++++++ package.json | 1 + src/App.vue | 16 +++++++++++----- src/http/http.ts | 3 +++ 4 files changed, 38 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index d155106..152243d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,6 +12,7 @@ "@better-scroll/observe-image": "^2.5.1", "@better-scroll/scroll-bar": "^2.5.1", "axios": "^1.6.7", + "axios-retry": "^4.5.0", "lodash-es": "^4.17.21", "pinia": "^2.2.0", "swiper": "^11.1.1", @@ -2263,6 +2264,17 @@ "proxy-from-env": "^1.1.0" } }, + "node_modules/axios-retry": { + "version": "4.5.0", + "resolved": "https://registry.npmmirror.com/axios-retry/-/axios-retry-4.5.0.tgz", + "integrity": "sha512-aR99oXhpEDGo0UuAlYcn2iGRds30k366Zfa05XWScR9QaQD4JYiP3/1Qt1u7YlefUOK+cn0CcwoL1oefavQUlQ==", + "dependencies": { + "is-retry-allowed": "^2.2.0" + }, + "peerDependencies": { + "axios": "0.x || 1.x" + } + }, "node_modules/babel-code-frame": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", @@ -4879,6 +4891,17 @@ "node": ">=0.10.0" } }, + "node_modules/is-retry-allowed": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/is-retry-allowed/-/is-retry-allowed-2.2.0.tgz", + "integrity": "sha512-XVm7LOeLpTW4jV19QSH38vkswxoLud8sQ57YwJVTPWdiaI9I8keEhGFpBlslyVsgdQy4Opg8QOLb8YRgsyZiQg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-stream": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", diff --git a/package.json b/package.json index ea414eb..1606c5b 100644 --- a/package.json +++ b/package.json @@ -23,6 +23,7 @@ "@better-scroll/observe-image": "^2.5.1", "@better-scroll/scroll-bar": "^2.5.1", "axios": "^1.6.7", + "axios-retry": "^4.5.0", "lodash-es": "^4.17.21", "pinia": "^2.2.0", "swiper": "^11.1.1", diff --git a/src/App.vue b/src/App.vue index 5bb27a2..ce98589 100644 --- a/src/App.vue +++ b/src/App.vue @@ -29,11 +29,17 @@ const list = computed(() => { })) : [] }) -getCustomerList(device.value.projectCode).then(res => { - if (res.code === HTTP_CODE.ERR_OK) { - customerInfo.value = res.data - } -}) +getCustomerList(device.value.projectCode) + .then(res => { + if (res.code === HTTP_CODE.ERR_OK) { + customerInfo.value = res.data + } else { + console.log(res.code) + } + }) + .catch(err => { + console.log(err) + }) const { checkHandleScreen } = useHandleScreen(handleScreen) diff --git a/src/http/http.ts b/src/http/http.ts index 4b0e026..f25bd36 100644 --- a/src/http/http.ts +++ b/src/http/http.ts @@ -3,6 +3,7 @@ import type { AxiosResponse, AxiosInstance, InternalAxiosRequestConfig } from 'a import { addPrefixByRecursive } from '@/utils/utils' import type { RequestConfig, RequestInterceptors, CreateRequestConfig } from './types' import { useRootStore } from '@/stores/root' +import axiosRetry from 'axios-retry' export default class Request { // axios 实例 @@ -14,6 +15,8 @@ export default class Request { constructor(config: CreateRequestConfig) { this.instance = axios.create(config) + axiosRetry(this.instance, { retries: 3 }) + //取消请求控制器Map this.abortControllerMap = new Map() this.interceptorsObj = config.interceptors -- 2.30.2