提交 61769566 作者: 方治民

chore: 常规依赖升级,axios 升级到 1.x

上级 f2a7cbfb
......@@ -66,24 +66,24 @@
}
},
"dependencies": {
"@dcloudio/uni-app": "3.0.0-alpha-3080120230425001",
"@dcloudio/uni-app-plus": "3.0.0-alpha-3080120230425001",
"@dcloudio/uni-components": "3.0.0-alpha-3080120230425001",
"@dcloudio/uni-h5": "3.0.0-alpha-3080120230425001",
"@dcloudio/uni-mp-alipay": "3.0.0-alpha-3080120230425001",
"@dcloudio/uni-mp-baidu": "3.0.0-alpha-3080120230425001",
"@dcloudio/uni-mp-jd": "3.0.0-alpha-3080120230425001",
"@dcloudio/uni-mp-kuaishou": "3.0.0-alpha-3080120230425001",
"@dcloudio/uni-mp-lark": "3.0.0-alpha-3080120230425001",
"@dcloudio/uni-mp-qq": "3.0.0-alpha-3080120230425001",
"@dcloudio/uni-mp-toutiao": "3.0.0-alpha-3080120230425001",
"@dcloudio/uni-mp-weixin": "3.0.0-alpha-3080120230425001",
"@dcloudio/uni-quickapp-webview": "3.0.0-alpha-3080120230425001",
"@dcloudio/uni-app": "3.0.0-alpha-3080220230428001",
"@dcloudio/uni-app-plus": "3.0.0-alpha-3080220230428001",
"@dcloudio/uni-components": "3.0.0-alpha-3080220230428001",
"@dcloudio/uni-h5": "3.0.0-alpha-3080220230428001",
"@dcloudio/uni-mp-alipay": "3.0.0-alpha-3080220230428001",
"@dcloudio/uni-mp-baidu": "3.0.0-alpha-3080220230428001",
"@dcloudio/uni-mp-jd": "3.0.0-alpha-3080220230428001",
"@dcloudio/uni-mp-kuaishou": "3.0.0-alpha-3080220230428001",
"@dcloudio/uni-mp-lark": "3.0.0-alpha-3080220230428001",
"@dcloudio/uni-mp-qq": "3.0.0-alpha-3080220230428001",
"@dcloudio/uni-mp-toutiao": "3.0.0-alpha-3080220230428001",
"@dcloudio/uni-mp-weixin": "3.0.0-alpha-3080220230428001",
"@dcloudio/uni-quickapp-webview": "3.0.0-alpha-3080220230428001",
"@dcloudio/uni-ui": "^1.4.27",
"@faker-js/faker": "^7.6.0",
"@vue/runtime-core": "^3.2.47",
"@vueuse/core": "^10.1.0",
"axios": "^0.26.1",
"@vueuse/core": "^10.1.2",
"axios": "^1.4.0",
"crypto-js": "^4.1.1",
"dayjs": "^1.11.7",
"lodash-es": "^4.17.21",
......@@ -99,24 +99,24 @@
},
"devDependencies": {
"@antfu/eslint-config": "^0.38.5",
"@commitlint/cli": "^17.6.1",
"@commitlint/config-conventional": "^17.6.1",
"@commitlint/cli": "^17.6.3",
"@commitlint/config-conventional": "^17.6.3",
"@dcloudio/types": "^3.3.3",
"@dcloudio/uni-automator": "3.0.0-alpha-3080120230425001",
"@dcloudio/uni-cli-shared": "3.0.0-alpha-3080120230425001",
"@dcloudio/uni-automator": "3.0.0-alpha-3080220230428001",
"@dcloudio/uni-cli-shared": "3.0.0-alpha-3080220230428001",
"@dcloudio/uni-helper-json": "^1.0.13",
"@dcloudio/uni-stacktracey": "3.0.0-alpha-3080120230425001",
"@dcloudio/vite-plugin-uni": "3.0.0-alpha-3080120230425001",
"@iconify/json": "^2.2.56",
"@dcloudio/uni-stacktracey": "3.0.0-alpha-3080220230428001",
"@dcloudio/vite-plugin-uni": "3.0.0-alpha-3080220230428001",
"@iconify/json": "^2.2.60",
"@types/crypto-js": "^4.1.1",
"@types/lodash-es": "^4.17.7",
"@types/node": "^18.16.2",
"@types/node": "^18.16.3",
"@types/prettier": "^2.7.2",
"@types/qs": "^6.9.7",
"@types/stompjs": "^2.3.5",
"@types/urijs": "^1.19.19",
"@typescript-eslint/eslint-plugin": "^5.59.1",
"@typescript-eslint/parser": "^5.59.1",
"@typescript-eslint/eslint-plugin": "^5.59.2",
"@typescript-eslint/parser": "^5.59.2",
"commitizen": "^4.3.0",
"conventional-changelog-cli": "^2.2.2",
"cz-conventional-changelog": "^3.3.0",
......@@ -143,18 +143,18 @@
"rimraf": "^5.0.0",
"sass": "^1.62.1",
"sort-package-json": "^2.4.1",
"stylelint": "^15.6.0",
"stylelint": "^15.6.1",
"stylelint-config-html": "^1.1.0",
"stylelint-config-recommended": "^12.0.0",
"stylelint-config-standard": "^33.0.0",
"stylelint-order": "^6.0.3",
"typescript": "^5.0.4",
"unocss": "^0.50.8",
"unocss-preset-weapp": "^0.5.3",
"unocss": "^0.51.8",
"unocss-preset-weapp": "^0.6.0",
"unplugin-auto-import": "^0.15.3",
"unplugin-vue-components": "^0.24.1",
"vite": "^4.3.3",
"vue-eslint-parser": "^9.1.1"
"vite": "^4.3.4",
"vue-eslint-parser": "^9.2.0"
},
"engines": {
"node": ">=16",
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -10,12 +10,17 @@
onMounted(() => {
// test API
API.example.hello.request().then((body) => {
title.value = body
API.example.hello
.request()
.then((body) => {
title.value = body
console.log('[API]', body, $app.name, $app.version)
Message.toast(body)
})
console.log('[API]', body, $app.name, $app.version)
Message.toast(body)
})
.catch((err) => {
console.error('[API]', err)
})
})
function surprise() {
......
import type { AxiosError, AxiosInstance, AxiosPromise, AxiosRequestConfig, AxiosResponse } from 'axios'
import type { AxiosInstance, AxiosPromise, AxiosResponse, InternalAxiosRequestConfig } from 'axios'
import axios, { 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'
......@@ -34,16 +33,19 @@ axios.defaults.adapter = function (config: CreateAxiosOptions): AxiosPromise<any
})
},
fail: (response) => {
// @ts-expect-error
const { errMsg, statusCode } = response
const error = createError(errMsg, config, statusCode, request, {
config,
message: errMsg,
data: undefined,
...response,
})
reject(error)
try {
const { errMsg } = response
const isTimeout = errMsg.includes('timeout')
const error = AxiosError.from(
errMsg,
isTimeout ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,
config,
request,
)
reject(error)
} catch (error) {
reject(error)
}
},
})
})
......@@ -114,7 +116,7 @@ export class VAxios {
const axiosCanceler = new AxiosCanceler()
// Request interceptor configuration processing
this.axiosInstance.interceptors.request.use((config: AxiosRequestConfig) => {
this.axiosInstance.interceptors.request.use((config: InternalAxiosRequestConfig) => {
// If cancel repeat request is turned on, then cancel repeat request is prohibited
// @ts-expect-error
const { ignoreCancelToken } = config.requestOptions
......@@ -154,7 +156,7 @@ export class VAxios {
/**
* @description: File Upload
*/
uploadFile<T = any>(config: AxiosRequestConfig, params: UploadFileParams) {
uploadFile<T = any>(config: InternalAxiosRequestConfig, params: UploadFileParams) {
const formData = new window.FormData()
const customFilename = params.name || 'file'
......@@ -219,7 +221,7 @@ export class VAxios {
}
// support form-data
supportFormData(config: AxiosRequestConfig) {
supportFormData(config: InternalAxiosRequestConfig) {
const headers = config.headers || this.options.headers
const contentType = headers?.['Content-Type'] || headers?.['Content-Type']
......@@ -237,23 +239,23 @@ export class VAxios {
}
}
get<T = any>(config: AxiosRequestConfig, options?: RequestOptions): Promise<T> {
get<T = any>(config: InternalAxiosRequestConfig, options?: RequestOptions): Promise<T> {
return this.request({ ...config, method: 'GET' }, options)
}
post<T = any>(config: AxiosRequestConfig, options?: RequestOptions): Promise<T> {
post<T = any>(config: InternalAxiosRequestConfig, options?: RequestOptions): Promise<T> {
return this.request({ ...config, method: 'POST' }, options)
}
put<T = any>(config: AxiosRequestConfig, options?: RequestOptions): Promise<T> {
put<T = any>(config: InternalAxiosRequestConfig, options?: RequestOptions): Promise<T> {
return this.request({ ...config, method: 'PUT' }, options)
}
delete<T = any>(config: AxiosRequestConfig, options?: RequestOptions): Promise<T> {
delete<T = any>(config: InternalAxiosRequestConfig, options?: RequestOptions): Promise<T> {
return this.request({ ...config, method: 'DELETE' }, options)
}
request<T = any>(config: AxiosRequestConfig, options?: RequestOptions): Promise<T> {
request<T = any>(config: InternalAxiosRequestConfig, options?: RequestOptions): Promise<T> {
let conf: CreateAxiosOptions = cloneDeep(config)
const transform = this.getTransform()
......
import type { AxiosRequestConfig, Canceler } from 'axios'
import type { Canceler, InternalAxiosRequestConfig } from 'axios'
import axios from 'axios'
import { isFunction } from '/@/utils/is'
// Used to store the identification and cancellation function of each request
let pendingMap = new Map<string, Canceler>()
export function getPendingUrl(config: AxiosRequestConfig) {
export function getPendingUrl(config: InternalAxiosRequestConfig) {
return [config.method, config.url].join('&')
}
......@@ -14,7 +14,7 @@ export class AxiosCanceler {
* Add request
* @param {Object} config
*/
addPending(config: AxiosRequestConfig) {
addPending(config: InternalAxiosRequestConfig) {
this.removePending(config)
const url = getPendingUrl(config)
config.cancelToken =
......@@ -41,7 +41,7 @@ export class AxiosCanceler {
* Removal request
* @param {Object} config
*/
removePending(config: AxiosRequestConfig) {
removePending(config: InternalAxiosRequestConfig) {
const url = getPendingUrl(config)
if (pendingMap.has(url)) {
......
/**
* Data processing class, can be configured according to the project
*/
import type { AxiosRequestConfig, AxiosResponse } from 'axios'
import type { AxiosResponse, InternalAxiosRequestConfig } from 'axios'
import type { RequestOptions, Result } from '/#/axios'
export interface CreateAxiosOptions extends AxiosRequestConfig {
export interface CreateAxiosOptions extends InternalAxiosRequestConfig {
authenticationScheme?: string
transform?: AxiosTransform
requestOptions?: RequestOptions
......@@ -16,15 +16,15 @@ export abstract class AxiosTransform {
* 允许动态修改本次请求的 config 和 options
*/
inject?: (
config: AxiosRequestConfig,
config: InternalAxiosRequestConfig,
options: RequestOptions,
) => { config: AxiosRequestConfig; options: RequestOptions }
) => { config: InternalAxiosRequestConfig; options: RequestOptions }
/**
* @description: Process configuration before request
* @description: Process configuration before request
*/
beforeRequestHook?: (config: AxiosRequestConfig, options: RequestOptions) => AxiosRequestConfig
beforeRequestHook?: (config: InternalAxiosRequestConfig, options: RequestOptions) => InternalAxiosRequestConfig
/**
* @description: Request successfully processed
......@@ -39,7 +39,10 @@ export abstract class AxiosTransform {
/**
* @description: 请求之前的拦截器
*/
requestInterceptors?: (config: AxiosRequestConfig, options: CreateAxiosOptions) => AxiosRequestConfig
requestInterceptors?: (
config: InternalAxiosRequestConfig,
options: CreateAxiosOptions,
) => InternalAxiosRequestConfig
/**
* @description: 请求之后的拦截器
......
......@@ -268,7 +268,7 @@ export const defHttp = createAxios({
// other api url
// export const otherHttp = createAxios({
// transform: {
// inject: (config: AxiosRequestConfig<any>, options: http.RequestOptions) => {
// inject: (config: InternalAxiosRequestConfig<any>, options: http.RequestOptions) => {
// // TODO: 根据实际项目配置
// return { config, options }
// },
......
......@@ -68,11 +68,13 @@ declare module '@vue/runtime-core' {
FuiLandscape: typeof import('./../src/components/firstui/fui-landscape/fui-landscape.vue')['default']
FuiLazyload: typeof import('./../src/components/firstui/fui-lazyload/fui-lazyload.vue')['default']
FuiLicensePlate: typeof import('./../src/components/firstui/fui-license-plate/fui-license-plate.vue')['default']
FuiLink: typeof import('./../src/components/firstui/fui-link/fui-link.vue')['default']
FuiList: typeof import('./../src/components/firstui/fui-list/fui-list.vue')['default']
FuiListCell: typeof import('./../src/components/firstui/fui-list-cell/fui-list-cell.vue')['default']
FuiLoadAni: typeof import('./../src/components/firstui/fui-load-ani/fui-load-ani.vue')['default']
FuiLoading: typeof import('./../src/components/firstui/fui-loading/fui-loading.vue')['default']
FuiLoadmore: typeof import('./../src/components/firstui/fui-loadmore/fui-loadmore.vue')['default']
FuiLottie: typeof import('./../src/components/firstui/fui-lottie/fui-lottie.vue')['default']
FuiMessage: typeof import('./../src/components/firstui/fui-message/fui-message.vue')['default']
FuiModal: typeof import('./../src/components/firstui/fui-modal/fui-modal.vue')['default']
FuiNavBar: typeof import('./../src/components/firstui/fui-nav-bar/fui-nav-bar.vue')['default']
......
import type { AxiosRequestConfig } from 'axios'
import type { InternalAxiosRequestConfig } from 'axios'
declare global {
type Recordable<T = any> = Record<string, T>
......@@ -49,7 +49,7 @@ declare global {
retryRequest?: RetryRequest
}
type RequestConfig<T = any> = AxiosRequestConfig<T>
type RequestConfig<T = any> = InternalAxiosRequestConfig<T>
}
}
......
......@@ -31,7 +31,7 @@ export default ({ mode }: ConfigEnv): UserConfig => {
include: ['lodash-es', '@vueuse/core'],
},
esbuild: {
drop: ['console', 'debugger'],
drop: isDevFn(mode) ? [] : ['console', 'debugger'],
},
build: {
target: 'es2015',
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论