1.0.4 • Published 2 years ago

yangtze-request v1.0.4

Weekly downloads
-
License
ISC
Repository
-
Last release
2 years ago

yangtze-request

长江大数据前端通用请求方法,基于 umi-request 封装

基础功能

  1. 通用接口请求
  2. 统一错误提示方案封装
  3. 默认超时时间:3s

使用方法

  1. 引入
    npm i yangtze-request --saveyarn add yangtze-request
  2. 使用

    • 在 initRequest 方法调用前注册错误处理函数,否则仅 console.log 提示错误信息
    • 注册错误处理函数时 common 属性提供的方法即通用错误处理函数,可抛出除特殊处理方案外的全部错误信息

      import { registerErrorHandler } from 'yangtze-request';
      registerErrorHandler({
        common: ({ statusCode, statusMessage, data }) => {
          message.error(
            `${statusCode ? statusCode : '未知错误'} : ${statusMessage ? statusMessage : '请刷新页面重试'}`
          );
        },
        401: ({ statusCode, statusMessage, data }) => {
          history.push('/login');
        },
        403: () => {
          history.push('/403');
        },
      });
    • 通用实例 initRequest,传入参数

      initRequest(url, options, entendOptions)

      // get 方法
      import { initRequest } from 'yangtze-request';
      const url = '/api/user/info';
      const result = await initRequest(url, {
        method: 'get',
        params: { id: 1 },
      });
      // post 方法
      import { initRequest } from 'yangtze-request';
      const url = '/api/user/add';
      const result = await initRequest(url, {
        method: 'post',
        data: { name: 'oo' },
      });
      // 通用文件上传
      import { initRequest } from 'yangtze-request';
      const url = '/api/upload';
      const formData = new FormData();
      formData.append('file', file);
      const result = await initRequest(url, {
        method: 'post',
        requestType: 'form',
        data: formData,
      });
      // 二进制流
      import { initRequest } from 'yangtze-request';
      const url = '/api/download';
      const result = await initRequest(url, {
        method: 'get',
        params: { bucketName: '', filename: '' },
        responseType: 'blob',
      });
    • 如有扩展请求实例通用配置的需要

      • 1、使用 initRequest.extendOptions 方法补充默认实例配置
      import { initRequest } from 'yangtze-request';
      initRequest.extendOptions({
        headers: {
          platform: 'macOS',
        },
        timeout: 5000,
      });
      export default initRequest;
      • 2、使用 createInstance 创建新实例
      import { createInstance } from 'yangtze-request';
      const extendOptions = {
        headers: {
          platform: 'macOS',
        },
        timeout: 5000,
      };
      const request = createInstance(extendOptions);
      export default request;
    • 更多功能拓展请参考 umi-request

版本信息

版本号更新日期更新内容
v0.1.02022-08-04封装统一错误处理逻辑的统一请求方案
v0.2.02022-08-30增加文件上传下载
v0.3.02022-08-30增加文件流默认处理
v1.0.02022-09-05调整统一数据格式
v1.0.22022-09-15调整扩展配置方案
v1.0.32022-09-20增加扩展实例
v1.0.42022-09-22下载文件名解码
1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

0.3.0

2 years ago

0.2.0

2 years ago

0.5.0

2 years ago

0.4.0

2 years ago

0.5.2

2 years ago

0.5.1

2 years ago

0.1.0

2 years ago