no message

This commit is contained in:
A1300399510
2023-12-25 18:39:49 +08:00
parent 4607702bdc
commit c80cee6eb0
11 changed files with 879 additions and 389 deletions

View File

@@ -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,
}