Files
tk-mini-program-PC/src/utils/axios.js
2025-04-03 16:41:54 +08:00

127 lines
3.2 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* axios请求封装
* https://rudon.blog.csdn.net/
*/
import axios from 'axios'
import { getToken, getUser } from '@/utils/storage'
import { useRouter } from 'vue-router';
import { ElMessage } from 'element-plus';
const router = useRouter();
// 请求地址前缀
let baseURL = ''
console.log(process.env.NODE_ENV)
if (process.env.NODE_ENV === 'development') {
// 生产环境
baseURL = "http://192.168.0.119:8080/api/"
} else {
// 开发环境
baseURL = ""
}
// 请求拦截器
axios.interceptors.request.use((config) => {
// if (getToken()) {
// config.headers['token'] = getToken();
// }
// 请求超时时间 - 毫秒
config.timeout = 60000
config.baseURL = baseURL
// 自定义Content-type
config.headers['Content-type'] = 'application/json'
return config;
}, (error) => {
return Promise.reject(error)
})
// 响应拦截器
axios.interceptors.response.use((response) => {
/**
* 可添加请求响应的处理逻辑, 例如接口自定义的response.data.code不是200代表失败。
* 错误的话 return Promise.reject(response)
* 正确的话 return response
*/
return response
}, (error) => {
// 可添加请求失败后的处理逻辑
return Promise.reject(error)
})
// axios的get请求
// 导出一个函数用于发送GET请求
// 返回一个Promise对象
export function getAxios({ url, params }) {
// 使用axios发送GET请求
return new Promise((resolve, reject) => {
axios.get(url, {
params
// 请求成功将返回的数据传递给resolve函数
}).then(res => {
resolve(res.data)
// 请求失败将错误信息传递给reject函数
}).catch(err => {
console.log(err)
reject(err)
})
})
}
// axios的post请求
export function postAxios({ url, data }) {
if (url != 'account/login') {
axios.post('account/cheekalive', {
userId: getUser().userId,
currcode: getToken(),
},
{
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
}
).then(res => {
console.log(res)
}).catch(err => {
if (err.message == "Network Error") {
// alert("网络错误,请检查网络连接")
ElMessage.error('网络连接错误');
} else {
ElMessage.error(err.message);
}
// console.log(err)
// reject(err)
})
}
return new Promise((resolve, reject) => {
axios.post(
url,
data,
{
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
}
).then(res => {
resolve(res.data)
}).catch(err => {
if (err.message == "Network Error") {
// alert("网络错误,请检查网络连接")
ElMessage.error('网络连接错误');
} else {
ElMessage.error(err.message);
}
// console.log(err)
// reject(err)
})
})
}
export default axios