12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- import axios, { AxiosInstance } from "axios";
- import { layer } from "@layui/layui-vue";
- const BASEURL = import.meta.env.VITE_API_BASE_URL;
- const checkStatus = (response: any) => {
- if (response.status >= 200 && response.status < 300) {
- if (response.data.code === 200 || !response.data.code) {
- return response.data;
- } else {
- layer.msg(`${response.data.msg}`, { time: 1000, icon: 2 });
- return response.data;
- }
- }
- };
- class HttpRequest {
- // 请求拦截
- interceptors(instance: AxiosInstance) {
- instance.interceptors.request.use(
- (config) => {
- console.log(config);
- // 添加全局的loading..
- // 请求头携带token
- return config;
- },
- (error: any) => {
- return Promise.reject(error);
- }
- );
- //响应拦截
- instance.interceptors.response.use(
- (res) => {
- //返回数据
- const { data } = res;
- console.log("返回数据处理", res);
- return data;
- },
- (error: any) => {
- console.log("error==>", error);
- return Promise.reject(error);
- }
- );
- }
- request(url: string, method: string, data: any, responseType?: any) {
- // const token = window.sessionStorage.getItem("_4L_TOKEN") || "";
- switch (method) {
- case "get":
- data = { params: data };
- break;
- default:
- data = { data };
- }
- const instance = axios.create({
- headers: {
- Accept: "application/json",
- "Content-Type": "application/json;charset=UTF-8",
- auth: "43626546liangjiang",
- },
- timeout: 50000,
- baseURL: BASEURL,
- responseType: responseType,
- });
- return instance({ url, method, ...data })
- .then(checkStatus)
- .then((data) => data)
- .catch((err) => {
- console.log(err);
- });
- }
- }
- const http = new HttpRequest();
- export default http;
|