Browse Source

refactor: ♻️ 添加数据重试

pull/17/head
姜鑫 2 years ago
parent
commit
c6800e537f
  1. 23
      package-lock.json
  2. 1
      package.json
  3. 16
      src/App.vue
  4. 3
      src/http/http.ts

23
package-lock.json

@ -12,6 +12,7 @@
"@better-scroll/observe-image": "^2.5.1", "@better-scroll/observe-image": "^2.5.1",
"@better-scroll/scroll-bar": "^2.5.1", "@better-scroll/scroll-bar": "^2.5.1",
"axios": "^1.6.7", "axios": "^1.6.7",
"axios-retry": "^4.5.0",
"lodash-es": "^4.17.21", "lodash-es": "^4.17.21",
"pinia": "^2.2.0", "pinia": "^2.2.0",
"swiper": "^11.1.1", "swiper": "^11.1.1",
@ -2263,6 +2264,17 @@
"proxy-from-env": "^1.1.0" "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": { "node_modules/babel-code-frame": {
"version": "6.26.0", "version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
@ -4879,6 +4891,17 @@
"node": ">=0.10.0" "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": { "node_modules/is-stream": {
"version": "2.0.1", "version": "2.0.1",
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",

1
package.json

@ -23,6 +23,7 @@
"@better-scroll/observe-image": "^2.5.1", "@better-scroll/observe-image": "^2.5.1",
"@better-scroll/scroll-bar": "^2.5.1", "@better-scroll/scroll-bar": "^2.5.1",
"axios": "^1.6.7", "axios": "^1.6.7",
"axios-retry": "^4.5.0",
"lodash-es": "^4.17.21", "lodash-es": "^4.17.21",
"pinia": "^2.2.0", "pinia": "^2.2.0",
"swiper": "^11.1.1", "swiper": "^11.1.1",

16
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) const { checkHandleScreen } = useHandleScreen(handleScreen)

3
src/http/http.ts

@ -3,6 +3,7 @@ import type { AxiosResponse, AxiosInstance, InternalAxiosRequestConfig } from 'a
import { addPrefixByRecursive } from '@/utils/utils' import { addPrefixByRecursive } from '@/utils/utils'
import type { RequestConfig, RequestInterceptors, CreateRequestConfig } from './types' import type { RequestConfig, RequestInterceptors, CreateRequestConfig } from './types'
import { useRootStore } from '@/stores/root' import { useRootStore } from '@/stores/root'
import axiosRetry from 'axios-retry'
export default class Request { export default class Request {
// axios 实例 // axios 实例
@ -14,6 +15,8 @@ export default class Request {
constructor(config: CreateRequestConfig) { constructor(config: CreateRequestConfig) {
this.instance = axios.create(config) this.instance = axios.create(config)
axiosRetry(this.instance, { retries: 3 })
//取消请求控制器Map //取消请求控制器Map
this.abortControllerMap = new Map() this.abortControllerMap = new Map()
this.interceptorsObj = config.interceptors this.interceptorsObj = config.interceptors

Loading…
Cancel
Save