PC-mj/utils/http.js

55 lines
1.4 KiB
JavaScript
Raw Normal View History

2023-12-18 03:12:07 +00:00
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;
options['headers'] = {
authorization: "7a89997c2ccd8cb5ed8cb20d843dafdd"
}
// 9c92af854f552bbd2aab43230bcf8438 headers authorization
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);
});
});
};
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 });
}
})();