taro项目--使用axios

axios-taro-adapter

 基于axios支持自定义适配器,只需要针对不同环境下的http请求api进行适配进行替换,axios可以使用在任意平台。

由于axios在其他项目中大量使用,本项目实现Taro框架下的适配器,可以在Taroa项目中完美使用原汁原味的axios,统一团队前端技术栈,统一http请求类库。

采用此方式对项目零侵入,开发者专注于axios的api即可。

git clone GitHub - SpringHgui/axios-taro-adapter: axios adaptor for taro.request

GitHub - SpringHgui/axios-taro-adapter: axios adaptor for taro.request

Quick start

  1. npm i [email protected]
  2. npm i axios-taro-adapter
  3. create axios instance

仅需2行代码,完美使用axios替换Taro.request

// api.js
import axios from "axios";
import { TaroAdapter } from "axios-taro-adapter";

const API_URL = "https://api.xxxx.com/";
const instance = axios.create({
  baseURL: API_URL,
  timeout: 10000,
  adapter: TaroAdapter, // add this line,添加这一行使用taroAdapter
});

export const postData = data => {
    return instance.post("/api/test", data);
}

例如: 原汁原味的拦截器

// interceptors for request
instance.interceptors.request.use(
  function (config) {
    return config;
  },
  function (error) {
    return Promise.reject(error);
  }
);

// interceptors for response
instance.interceptors.response.use(
  function (response) {
    if (response.data.code !== 0) {
      return Promise.reject(response.data);
    } else {
      return response.data;
    }
  },
  function (error) {
    return Promise.reject(error.message);
  }
);

你可能感兴趣的:(taro,taro,javascript,前端)