问题描述

vue3 + ts 项目中,使用axios库调接口时报了如下错误:

Property 'code' does not exist on type 'AxiosResponse<any, any>'.ts(2339)

或者遇到 Property 'xxx' does not exist on type 'AxiosResponse<any, any>'.ts(2339) 类型问题我们该如何解决呢?

解决方法

新建一个axios.d.ts文件,内容如下:

// 定义接口返回数据类型,这里根据后端返回去定义

interface resPage {
page: number
pageSize: number
total: number
hasNextPage: boolean
pageTotal: number
}

interface itfRes<T = {}[] | {} | []> {
code: number
message: string | undefined
data: T
reason?: string
page?: resPage
}

import * as axios from 'axios'

declare module 'axios' {
interface AxiosResponse extends itfRes
}

加上之后的效果: