提交 42b3977d 作者: 方治民

feat: 升级依赖包、网络请求异常适配

上级 36f1b902
# API 接口地址
VITE_GLOB_API_URL=http://localhost:8181
VITE_GLOB_API_URL=http://192.168.0.151:8181
# API 接口地址前缀
VITE_GLOB_API_URL_PREFIX=/api
......@@ -32,4 +32,5 @@ pnpm-debug.log*
.hbuilderx
unpackage
.mocks/
\ No newline at end of file
.mocks/
.pnpm-debug.log
......@@ -26,7 +26,7 @@
<!-- prettier-ignore -->
- [uni.request](https://uniapp.dcloud.net.cn/api/request/request.html)
- [uni-ajax](https://uniajax.ponjs.com/)
- [axios](https://github.com/axios/axios)
### 图表
......@@ -47,5 +47,6 @@
- [ESLint](https://eslint.org) 代码规范检查工具
- [stylelint](https://stylelint.io) CSS 规范检查工具
- [commitizen](https://github.com/commitizen) Git 提交规范工具
- [lint-staged](https://github.com/okonet/lint-staged)
- [lint-staged](https://github.com/okonet/lint-staged) Lint 工具
- [pont-engine](https://github.com/alibaba/pont) 接口自动化工具
- ...
......@@ -62,18 +62,18 @@
}
},
"dependencies": {
"@dcloudio/uni-app": "^3.0.0-alpha-3040220220310005",
"@dcloudio/uni-app-plus": "^3.0.0-alpha-3040220220310005",
"@dcloudio/uni-components": "^3.0.0-alpha-3040220220310005",
"@dcloudio/uni-h5": "^3.0.0-alpha-3040220220310005",
"@dcloudio/uni-mp-alipay": "^3.0.0-alpha-3040220220310005",
"@dcloudio/uni-mp-baidu": "^3.0.0-alpha-3040220220310005",
"@dcloudio/uni-mp-kuaishou": "^3.0.0-alpha-3040220220310005",
"@dcloudio/uni-mp-lark": "^3.0.0-alpha-3040220220310005",
"@dcloudio/uni-mp-qq": "^3.0.0-alpha-3040220220310005",
"@dcloudio/uni-mp-toutiao": "^3.0.0-alpha-3040220220310005",
"@dcloudio/uni-mp-weixin": "^3.0.0-alpha-3040220220310005",
"@dcloudio/uni-quickapp-webview": "^3.0.0-alpha-3040220220310005",
"@dcloudio/uni-app": "^3.0.0-alpha-3040320220325006",
"@dcloudio/uni-app-plus": "^3.0.0-alpha-3040320220325006",
"@dcloudio/uni-components": "^3.0.0-alpha-3040320220325006",
"@dcloudio/uni-h5": "^3.0.0-alpha-3040320220325006",
"@dcloudio/uni-mp-alipay": "^3.0.0-alpha-3040320220325006",
"@dcloudio/uni-mp-baidu": "^3.0.0-alpha-3040320220325006",
"@dcloudio/uni-mp-kuaishou": "^3.0.0-alpha-3040320220325006",
"@dcloudio/uni-mp-lark": "^3.0.0-alpha-3040320220325006",
"@dcloudio/uni-mp-qq": "^3.0.0-alpha-3040320220325006",
"@dcloudio/uni-mp-toutiao": "^3.0.0-alpha-3040320220325006",
"@dcloudio/uni-mp-weixin": "^3.0.0-alpha-3040320220325006",
"@dcloudio/uni-quickapp-webview": "^3.0.0-alpha-3040320220325006",
"@vueuse/core": "^8.1.2",
"axios": "^0.26.1",
"dayjs": "^1.11.0",
......@@ -86,10 +86,10 @@
"@commitlint/cli": "^16.2.3",
"@commitlint/config-conventional": "^16.2.1",
"@dcloudio/types": "^2.5.18",
"@dcloudio/uni-automator": "^3.0.0-alpha-3040220220310005",
"@dcloudio/uni-cli-shared": "^3.0.0-alpha-3040220220310005",
"@dcloudio/uni-automator": "^3.0.0-alpha-3040320220325006",
"@dcloudio/uni-cli-shared": "^3.0.0-alpha-3040320220325006",
"@dcloudio/uni-helper-json": "^1.0.13",
"@dcloudio/vite-plugin-uni": "^3.0.0-alpha-3040220220310005",
"@dcloudio/vite-plugin-uni": "^3.0.0-alpha-3040320220325006",
"@types/lodash-es": "^4.17.6",
"@types/mockjs": "^1.0.6",
"@types/prettier": "^2.4.4",
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -5,14 +5,6 @@
API.hello.hello.request().then((body) => {
console.log(body)
})
API.hello.page
.request({
pageNo: 1,
pageSize: 10,
})
.then((body) => {
console.log(body)
})
</script>
<template>
......
import type { AxiosRequestConfig, AxiosInstance, AxiosResponse, AxiosError, AxiosPromise } from 'axios'
import type { AxiosRequestConfig, AxiosInstance, AxiosResponse, AxiosPromise, AxiosError } from 'axios'
import type { RequestOptions, Result, UploadFileParams } from '/#/axios'
import type { CreateAxiosOptions } from './axiosTransform'
import axios from 'axios'
import createError from 'axios/lib/core/createError'
import qs from 'qs'
import { AxiosCanceler } from './axiosCancel'
import { isFunction } from '/@/utils/is'
......@@ -16,7 +17,7 @@ import { RequestEnum } from '/@/enums/httpEnum'
*/
axios.defaults.adapter = function (config: CreateAxiosOptions): AxiosPromise<any> {
return new Promise((resolve, reject) => {
uni.request({
const request = uni.request({
method: config.method.toUpperCase() as RequestEnum,
url: config.url,
data: config.data || config.params,
......@@ -34,10 +35,16 @@ axios.defaults.adapter = function (config: CreateAxiosOptions): AxiosPromise<any
})
},
fail: (response) => {
reject({
// @ts-ignore
const { errMsg, statusCode } = response
const error = createError(errMsg, config, statusCode, request, {
config,
response: response.errMsg,
message: errMsg,
data: undefined,
...response,
})
reject(error)
},
})
})
......@@ -241,7 +248,7 @@ export class VAxios {
.then((res: AxiosResponse<Result>) => {
if (transformRequestHook && isFunction(transformRequestHook)) {
try {
const ret = transformRequestHook(res, opt)
const ret = transformRequestHook(res || ({} as AxiosResponse<Result>), opt)
resolve(ret)
} catch (err) {
reject(err || new Error('request error!'))
......
......@@ -5,7 +5,7 @@ import * as HTTP from '/@/api/types'
const { createMessage, createErrorModal } = useMessage()
export function checkStatus(status: number, _msg: string, errorMessageMode: ErrorMessageMode = 'message'): void {
const errMessage = HTTP.toMessage(status)
const errMessage = status === undefined ? '网络异常' : HTTP.toMessage(status)
if (errMessage) {
if (errorMessageMode === 'modal') {
......
......@@ -181,7 +181,6 @@ const transform: AxiosTransform = {
throw new Error(error as unknown as string)
}
console.warn(config)
checkStatus(error?.response?.status, msg, errorMessageMode)
// 添加自动重试机制 保险起见 只针对GET请求
......@@ -237,7 +236,7 @@ function createAxios(opt?: Partial<CreateAxiosOptions>) {
// 是否携带token
withToken: true,
retryRequest: {
isOpenRetry: true,
isOpenRetry: false,
count: 5,
waitTime: 100,
},
......
......@@ -4,7 +4,7 @@ import type { ConfigEnv, UserConfig } from 'vite'
import dayjs from 'dayjs'
import pkg from './package.json'
import { createVitePlugins } from './build/vite'
import { getRootPath, wrapperEnv } from './build/utils'
import { getRootPath, wrapperEnv, isDevFn } from './build/utils'
// https://vitejs.dev/config/
export default ({ mode }: ConfigEnv): UserConfig => {
......@@ -31,7 +31,7 @@ export default ({ mode }: ConfigEnv): UserConfig => {
include: ['lodash-es', '@vueuse/core'],
},
build: {
sourcemap: true,
sourcemap: isDevFn(mode) ? true : false,
},
define: {
__APP__: {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论