54 lines
1.3 KiB
TypeScript
54 lines
1.3 KiB
TypeScript
import axios from "axios"
|
|
import { message as Message } from "ant-design-vue"
|
|
import { removeToken } from "@/utils/auth"
|
|
import { useRouter } from "vue-router";
|
|
|
|
const router = useRouter()
|
|
|
|
const instance = axios.create({
|
|
baseURL:'/user_center',
|
|
timeout:5000,
|
|
})
|
|
|
|
instance.interceptors.request.use(
|
|
(config) => config,
|
|
(err) => Promise.reject(err)
|
|
)
|
|
|
|
instance.interceptors.response.use(
|
|
(response) =>{
|
|
let message = ''
|
|
const data = response.data as Response<any>;
|
|
if (!data.result){
|
|
message = data.msg
|
|
Message.error(message)
|
|
}else {
|
|
if (data.code === 400){
|
|
message = "400 bad request"
|
|
Message.error(message)
|
|
}else if (data.code === 401){
|
|
// 没有权限则删除token,跳转登陆页面
|
|
removeToken()
|
|
router.push("/login")
|
|
}else if (data.code === 403){
|
|
message = "权限错误"
|
|
Message.error(message)
|
|
}else if (data.code === 500){
|
|
message = "内部错误"
|
|
Message.error(message)
|
|
}else if (data.code === 200){
|
|
return response.data
|
|
}else{
|
|
message = "请求错误,错误码: " + response.data.code
|
|
Message.error(message)
|
|
}
|
|
}
|
|
},
|
|
(err) =>{
|
|
Message.error( "请求失败,错误信息: "+ err.message)
|
|
Promise.reject(err)
|
|
}
|
|
)
|
|
|
|
export default instance;
|