提交 42b3977d 作者: 方治民

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

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