@qigy/requestor
TypeScript icon, indicating that this package has built-in type declarations

0.0.8 • Public • Published

requestor

快速开始

安装

npm install @qigy/requestor--save

yarn install @qigy/requestor --save

pnpm install @qigy/requestor --save

导入

/* 方式一 */
import Http from '@qigy/requestor';
/* 方式二 */
import {...} from '@qigy/requestor';

注册

axios 的注册方式,大家应该都知道的。为了进一步减少代码,加强语义化,。重新设计了注册方式。

获取 Register

/* 方式一 */
import Http from '@qigy/requestor';
Http.Register;
/* 方式二 */
import { Register } from '@qigy/requestor';

使用

复合方式
import { Register } from '@qigy/requestor';

const options = {
  baseUrl: '/bs/protal',
  timeOut: 0,
  headers: {
    get: {},
    post: {}
  },
  defaultFilename: 'demo.md',
  requestInterceptor() {},
  requestInterceptorCatch() {},
  responseInterceptor() {},
  responseInterceptorCatch() {},
};
Register(options)
独立方式
import { Register } from '@qigy/requestor';

Register.baseUrl('/bs/protal');
Register.timeOut(100);
Register.headers({});
Register.defaultFilename('demo.md');
Register.requestInterceptor(
  () => {},
  () => {}
);
Register.responseInterceptor(
  () => {},
  () => {}
);
备注

其中请求拦截器与响应拦截器只能注册一次。其余属性均可多次注册进行覆盖。

API

Get

说明

get 请求封装。

获取
/* 方式一 */
import Http from '@qigy/requestor';
Http.Get;
/* 方式二 */
import { Get } from '@qigy/requestor';
使用
import { Get } from '@qigy/requestor';

Get('/get/user/info', { id: '9527' })
  .then((res) => {})
  .catch((err) => {});

Post

说明

post 请求封装。

获取
/* 方式一 */
import Http from '@qigy/requestor';
Http.Post;
/* 方式二 */
import { Post } from '@qigy/requestor';
使用
import { Post } from '@qigy/requestor';

Post('/set/user/info', { id: '9527' })
  .then((res) => {})
  .catch((err) => {});

Put

说明

put 请求封装。

获取
/* 方式一 */
import Http from '@qigy/requestor';
Http.Put;
/* 方式二 */
import { Put } from '@qigy/requestor';
使用
import { Put } from '@qigy/requestor';

Put('/put/user/info', { id: '9527' })
  .then((res) => {})
  .catch((err) => {});

Patch

说明

patch 请求封装。

获取
/* 方式一 */
import Http from '@qigy/requestor';
Http.Patch;
/* 方式二 */
import { Patch } from '@qigy/requestor';
使用
import { Patch } from '@qigy/requestor';

Patch('/patch/user/info', { id: '9527' })
  .then((res) => {})
  .catch((err) => {});

Delete

说明

delete 请求封装。

获取
/* 方式一 */
import Http from '@qigy/requestor';
Http.Delete;
/* 方式二 */
import { Delete } from '@qigy/requestor';
使用
import { Delete } from '@qigy/requestor';

Delete('/delete/user/info', { id: '9527' })
  .then((res) => {})
  .catch((err) => {});

Download

说明

下载功能功能封装。

获取
/* 方式一 */
import Http from '@qigy/requestor';
Http.Download;
/* 方式二 */
import { Download } from '@qigy/requestor';
使用
import { Download } from '@qigy/requestor';

Download('/download/user/info', { method: 'POST' })
  .then((res) => {})
  .catch((err) => {});
备注

自定义响应拦截器将会失效。

Request

说明

请求通用实例。

获取
/* 方式一 */
import Http from '@qigy/requestor';
Http.Request;
/* 方式二 */
import { Request } from '@qigy/requestor';
使用
import { Request } from '@qigy/requestor';

Request('/set/user/info', { method: 'POST' data:{ id:‘9527’ } })
.then((res) => {})
.catch((err) => {});

自定义拦截器

定义

interface RequestInterceptor{
  (res:any): any
}

interface ResponseInterceptor{
  (err:any): any
}

interface Interceptors {
  requestInterceptor: RequestInterceptor
  responseInterceptor: ResponseInterceptor
}

interface Config {
  interceptors: Interceptors
  ....
}

使用

import { Get } from '@qigy/requestor';

const interceptors = {
  requestInterceptor(res) {
    return res;
  },
  responseInterceptor(err) {
    return err;
  }
};
Get('/get/user/info', {}, { interceptors })
  .then((res) => {})
  .catch((err) => {});

Readme

Keywords

Package Sidebar

Install

npm i @qigy/requestor

Weekly Downloads

1

Version

0.0.8

License

MIT

Unpacked Size

51.4 kB

Total Files

23

Last publish

Collaborators

  • qigy