1.0.7 • Published 4 years ago

saas-fetch-choice v1.0.7

Weekly downloads
-
License
MIT
Repository
-
Last release
4 years ago

必看内容

1. saas-fetch标准规范

2. saas-fetch-x请求库规范

封装

中间件功能简介

承载着之前项目内request.js的功能,按照saas-fetch的规范进行组装数据,所有接口仅有两种状态: 1. 业务成功

return Promise.resolve({
        success: true,
        status: `${response.status}`,
        response,
        data: response,
      });
  1. 业务失败
  return Promise.resolve({
    success: false,
    status: response.status,
    response,
    error: data.msg,
  });

结果返回给saas-fetch 后,success:true会通过Promise.resolve返回;success:false会通过Promise.reject返回。不再统一处理message.err。业务中使用try catch或者then catch的方法处理saas-fetch返回值。

封装思路

核心层中间件做数据组装,将后端返回的数据按规范组装,交给saas-fetch。仅当业务成功时返回success: true,其他情况下均为false。 1. 包装请求头,发出fetch请求。 2. 接收响应数据,按规范组装数据。

  • 是文件流,直接下载文件,并抛出success: true,
  • 是普通接口
    • http status是否以2开头
      • 业务成功返回success:true
      • 业务失败返回success:false
    • http status是否为401,token无效
    • 其他情况返回success:fasle

注:接口返回401后,会执行刷新token的方法,刷新成功后重新调用接口。

使用

使用文档

import Fetch from '@ali/saas-fetch';
import MChoiceBoh from '@/common/middlewares/saas-fetch-choiceBoh/index';

const config = {
  typeName: 'MChoiceBoh',
};
const fetch = Fetch.create();
fetch.registerFetcher('MChoiceBoh', MChoiceBoh);
fetch.setupConfig(config);
fetch.request({url: '/choice-cloud-report/basic/queryArea', param: { id: 1 }}).then(res => console.log('业务成功', res)).catch(err => console.log('业务失败', err));
1.0.7

4 years ago

1.0.6

4 years ago

1.0.4

4 years ago

1.0.5

4 years ago

1.1.0

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago