Skip to content

http节点

可以通过此节点发起http请求

注意

maotu是以插件形式嵌入到您的项目里的

但通常情况下您的项目都会有权限校验登录验证等,还有像是通用的响应拦截,比如说401登录过期403没有权限

这些处理如果都在maotu里面配置会很繁琐

所以maotu允许您将您项目封装的request依赖注入到maotu

注入自定义request

在引用mt-preview的页面使用以下代码注入即可

vue
provide('mt-request', request);

注入之后,maotuhttp节点的请求都由您项目的request发出

若您不进行注入,maotu将使用默认的request发起请求

通常一个request的封装类似如下代码:

ts
import axios from 'axios';
const service = axios.create({
  baseURL: '/',
  timeout: 30000
});

//拦截器
service.interceptors.request.use(
  (config) => {
    return config;
  },
  (error) => {
    Promise.reject(error);
  }
);

// 响应拦截器
service.interceptors.response.use(
  (res): any => {
    // 未设置状态码则默认成功状态
    const code = res.data.code || 200;
    if (code === 401) {
      console.log('登录信息过期');
    } else {
      return Promise.resolve(res.data);
    }
  },
  (error) => {
    console.log('err' + error);
    return Promise.reject(error);
  }
);
export default service;