1.1.1 • Published 4 years ago

data-request v1.1.1

Weekly downloads
6
License
ISC
Repository
github
Last release
4 years ago

数据请求

参数泛型:

T: params参数类型 R: 返回数据类型 D: data数据类型

参数释义:

参数名参数类型参数描述
urlstring接口url
paramsT参数
dataDbody传值
timeoutnumber | undefined超时时间

方法描述:

方法名携带泛型参数方法描述
getRequestR,Turl,params,timeoutget请求
deleteRequestR,Turl,params,timeoutdelete请求
postRequestR, D, Turl,data,params,timeoutpost请求
putRequestR, D, Turl,data,params,timeoutput请求
patchRequestR, D, Turl,data,params,timeoutpatch请求

设计描述:

1. 为什么单例中要求传入Axios实例?

源代码单例截图:

image-20200902172538792

传入的request是当前项目进行的基础的axios封装,比如拦截器,鉴于项目的不同,后期更新的不同,基础封装的axios作为参数传入。

request文件示例:

import axios from "axios";
const service = axios.create({
  baseURL: process.env.VUE_APP_BASE_API // url = base url + request url
});

// Request interceptors
service.interceptors.request.use(
  config => {
    // // Add Authorization header to every request, you can add other custom headers here
    // if (UserModule.token) {
    //   config.headers["Authorization"] = `Bearer ${UserModule.token}`;
    // }
      ...//
    return config;
  },
  error => {
    return Promise.reject(error);
  }
);

// Response interceptors
service.interceptors.response.use(
  response => {
    if (response.status === 200) {
      return response.data;
    } else {
        ...//
      console.error(`request failed error: ${response}`);
    }
  },
  error => {
    const response = error.response;
    ....//
    return Promise.reject(error);
  }
);

export default service;

2. 项目如何引用

2.1 安装插件
npm i data-request --save
2.2 引入使用

image-20200902173547131

在业务的入口管理处进行定义。

使用示例:

image-20200903140859808

1.1.1

4 years ago

1.1.0

4 years ago

1.0.9

4 years ago

1.0.8

4 years ago

1.0.7

4 years ago

1.0.6

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

5 years ago