网络

配置

通过 connect 方法配置 request 请求初始配置,其内部底层网络请求采用axiosopen in new window库实现;

tacos.connect({
    appCode: "",
    request: {
      baseURL: "/",
      interceptor: {
        request: { handle, error },
        response: { handle, error }
      }
    },
    ...
})
  • baseURL: 根路径 url

  • interceptor:拦截器

requestConfig: 更多配置参考请求配置 | Axios 中文文档 | Axios 中文网open in new window

拦截

网络拦截支持 全局拦截局部拦截

全局拦截

通过 connect 初始化连接时,通过 core 对象注册全局拦截函数

tacos.connect({ ... }).then(core => {
    // 获取当前上下文Context对象的ajax请求拦截器对象
    const interceptor = core.interceptor("ajax");
    // 注入请求拦截回调函数
    interceptor.request(handle);
    // 注入响应拦截回调函数
    interceptor.response(handle);
})

更多参数细节:RequestConfig

局部拦截

SDK 模块内注册网络请求拦截函数

defineSDK({
  setup(){
      // 获取当前模块对象的ajax请求拦截器
      const interceptor = this.interceptor("ajax");
      // 注入请求拦截回调函数
      interceptor.request(handle);
      // 注入响应拦截回调函数
      interceptor.response(handle);
      ...
      this.createRequest(api, config);
      ...
  }
})
上次更新:
贡献者: zhengqian, jiangtao, yangxun