2 changed files with 92 additions and 92 deletions
@ -1,92 +0,0 @@ |
|||
import axios from 'axios' |
|||
import { FtMessage } from 'libs/message' |
|||
import { getToken } from 'libs/token' |
|||
import { HEADER_TOKEN_KEY } from '@/libs/constant' |
|||
|
|||
const http = axios.create({ |
|||
baseURL: import.meta.env.FT_API_BASE, |
|||
timeout: 1000 * 60, |
|||
}) |
|||
|
|||
// 请求拦截器
|
|||
http.interceptors.request.use( |
|||
(config) => { |
|||
if (getToken()) { |
|||
config.headers![HEADER_TOKEN_KEY] = getToken() |
|||
} |
|||
return config |
|||
}, |
|||
(error: any) => { |
|||
return Promise.reject(error) |
|||
}, |
|||
) |
|||
|
|||
// 响应拦截器
|
|||
http.interceptors.response.use( |
|||
(response) => { |
|||
if ( |
|||
response.status === 200 |
|||
&& response.data.code !== '0' |
|||
) { |
|||
// 返回错误拦截
|
|||
FtMessage.error(response.data.msg) |
|||
return Promise.reject(response) |
|||
} |
|||
else if ( |
|||
response.config.url?.includes('/files/download') |
|||
|| response.config.url?.includes('downloadStream') |
|||
) { |
|||
return response.data |
|||
} |
|||
else if (response.data instanceof Blob) { |
|||
return response.data |
|||
} |
|||
return response.data.data // 返回数据体
|
|||
}, |
|||
(error: any) => { |
|||
console.log(error) |
|||
if (error.response && error.response.status === 401) { |
|||
FtMessage.error('账号权限过期') |
|||
// TODO 登出
|
|||
} |
|||
else { |
|||
if (error.message.includes('timeout')) { |
|||
FtMessage.error('请求超时') |
|||
} |
|||
else if (error.message.includes('Network')) { |
|||
FtMessage.error('网络连接错误') |
|||
} |
|||
else { |
|||
FtMessage.error('接口请求失败') |
|||
} |
|||
error.response = { |
|||
data: { |
|||
res: false, |
|||
}, |
|||
} |
|||
return Promise.reject(error.response) |
|||
} |
|||
}, |
|||
) |
|||
|
|||
// 封装 GET 请求
|
|||
export function get<T>(url: string, params?: any): Promise<T> { |
|||
return http.get(url, { params }) |
|||
} |
|||
|
|||
// 封装 POST 请求
|
|||
export function post<T>(url: string, data?: any): Promise<T> { |
|||
return http.post(url, data) |
|||
} |
|||
|
|||
// 封装 PUT 请求
|
|||
export function put<T>(url: string, data?: any): Promise<T> { |
|||
return http.put(url, data) |
|||
} |
|||
|
|||
// 封装 DELETE 请求
|
|||
export function del<T>(url: string, params?: any): Promise<T> { |
|||
return http.delete(url, { params }) |
|||
} |
|||
|
|||
export default http |
@ -0,0 +1,92 @@ |
|||
import axios from 'axios' |
|||
import { FtMessage } from 'libs/message' |
|||
import { getToken } from 'libs/token' |
|||
import { HEADER_TOKEN_KEY } from '@/libs/constant' |
|||
|
|||
const http = axios.create({ |
|||
baseURL: import.meta.env.FT_API_BASE, |
|||
timeout: 1000 * 60, |
|||
}) |
|||
|
|||
// 请求拦截器
|
|||
http.interceptors.request.use( |
|||
(config) => { |
|||
if (getToken()) { |
|||
config.headers![HEADER_TOKEN_KEY] = getToken() |
|||
} |
|||
return config |
|||
}, |
|||
(error: any) => { |
|||
return Promise.reject(error) |
|||
}, |
|||
) |
|||
|
|||
// 响应拦截器
|
|||
http.interceptors.response.use( |
|||
(response) => { |
|||
if ( |
|||
response.status === 200 |
|||
&& response.data.code !== '0' |
|||
) { |
|||
// 返回错误拦截
|
|||
FtMessage.error(response.data.msg) |
|||
return Promise.reject(response) |
|||
} |
|||
else if ( |
|||
response.config.url?.includes('/files/download') |
|||
|| response.config.url?.includes('downloadStream') |
|||
) { |
|||
return response.data |
|||
} |
|||
else if (response.data instanceof Blob) { |
|||
return response.data |
|||
} |
|||
return response.data.data // 返回数据体
|
|||
}, |
|||
(error: any) => { |
|||
console.log(error) |
|||
if (error.response && error.response.status === 401) { |
|||
FtMessage.error('账号权限过期') |
|||
// TODO 登出
|
|||
} |
|||
else { |
|||
if (error.message.includes('timeout')) { |
|||
FtMessage.error('请求超时') |
|||
} |
|||
else if (error.message.includes('Network')) { |
|||
FtMessage.error('网络连接错误') |
|||
} |
|||
else { |
|||
FtMessage.error('接口请求失败') |
|||
} |
|||
error.response = { |
|||
data: { |
|||
res: false, |
|||
}, |
|||
} |
|||
return Promise.reject(error.response) |
|||
} |
|||
}, |
|||
) |
|||
|
|||
// 封装 GET 请求
|
|||
export function get<T>(url: string, params?: any): Promise<T> { |
|||
return http.get(url, { params }) |
|||
} |
|||
|
|||
// 封装 POST 请求
|
|||
export function post<T>(url: string, data?: any): Promise<T> { |
|||
return http.post(url, data) |
|||
} |
|||
|
|||
// 封装 PUT 请求
|
|||
export function put<T>(url: string, data?: any): Promise<T> { |
|||
return http.put(url, data) |
|||
} |
|||
|
|||
// 封装 DELETE 请求
|
|||
export function del<T>(url: string, params?: any): Promise<T> { |
|||
return http.delete(url, { params }) |
|||
} |
|||
|
|||
export default http |
Write
Preview
Loading…
Cancel
Save
Reference in new issue