no message
This commit is contained in:
110
utils/http.js
110
utils/http.js
@@ -1,54 +1,74 @@
|
||||
import axios from 'axios';
|
||||
import QS from 'qs';
|
||||
import { ElMessage } from "element-plus";
|
||||
|
||||
const baseUrl = "https://interviewexperience.gter.net";
|
||||
// 指定后端返回的基本数据类型
|
||||
|
||||
const fetch = async (url, options) => {
|
||||
await nextTick(); //解决刷新页面useFetch无返回
|
||||
url = url.indexOf('https://') > -1 ? url : baseUrl + url;
|
||||
axios.defaults.baseURL = 'https://interviewexperience.gter.net'
|
||||
axios.defaults.emulateJSON = true
|
||||
axios.defaults.withCredentials = true
|
||||
|
||||
options['headers'] = {
|
||||
authorization: "7a89997c2ccd8cb5ed8cb20d843dafdd"
|
||||
axios.interceptors.request.use( //响应拦截
|
||||
async config => {
|
||||
// 开发时登录用的,可以直接替换小程序的 authorization
|
||||
config['headers']['authorization'] = "pa5o1v493ed5mahrcio66267e2"
|
||||
return config;
|
||||
},
|
||||
error => {
|
||||
return Promise.error(error);
|
||||
})
|
||||
// 响应拦截器
|
||||
axios.interceptors.response.use(response => {
|
||||
if (response.status === 200) return Promise.resolve(response); //进行中
|
||||
else return Promise.reject(response); //失败
|
||||
}, error => { // 服务器状态码不是200的情况
|
||||
if (error.response.status) {
|
||||
switch (error.response.status) {
|
||||
// 401: 未登录
|
||||
case 401:
|
||||
// goTologin() // 跳转登录页面
|
||||
break
|
||||
default:
|
||||
}
|
||||
return Promise.reject(error.response);
|
||||
}
|
||||
// 9c92af854f552bbd2aab43230bcf8438 headers authorization
|
||||
});
|
||||
|
||||
/**
|
||||
* get方法,对应get请求
|
||||
* @param {String} url [请求的url地址]
|
||||
* @param {Object} params [请求时携带的参数]
|
||||
*/
|
||||
const get = (url, params) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
useFetch(url, { ...options })
|
||||
.then(({ data, error }) => {
|
||||
if (error.value) {
|
||||
reject(error.value);
|
||||
return;
|
||||
}
|
||||
const value = data.value;
|
||||
if (value.code === 201) {
|
||||
ElMessage({
|
||||
message: value.message,
|
||||
type: "error",
|
||||
});
|
||||
}
|
||||
resolve(value);
|
||||
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err);
|
||||
});
|
||||
axios.get(url, {
|
||||
params,
|
||||
}).then(res => {
|
||||
resolve(res.data);
|
||||
}).catch(err => {
|
||||
reject(err.data)
|
||||
})
|
||||
});
|
||||
};
|
||||
}
|
||||
/**
|
||||
* post方法,对应post请求
|
||||
* @param {String} url [请求的url地址]
|
||||
* @param {Object} params [请求时携带的参数]
|
||||
*/
|
||||
const post = (url, params) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
//是将对象 序列化成URL的形式,以&进行拼接
|
||||
axios.post(url, QS.stringify(params)).then(res => {
|
||||
resolve(res.data);
|
||||
}).catch(err => {
|
||||
if (err.data.code == 401) {
|
||||
resolve(err.data);
|
||||
} else reject(err.data)
|
||||
|
||||
export default new (class Http {
|
||||
get(url, params) {
|
||||
return fetch(url, { method: "get", params });
|
||||
}
|
||||
|
||||
post(url, body) {
|
||||
return fetch(url, { method: "post", body });
|
||||
}
|
||||
|
||||
put(url, body) {
|
||||
return fetch(url, { method: "put", body });
|
||||
}
|
||||
|
||||
delete(url, body) {
|
||||
return fetch(url, { method: "delete", body });
|
||||
}
|
||||
})();
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
export default {
|
||||
get,
|
||||
post,
|
||||
}
|
||||
Reference in New Issue
Block a user