UNPKG

jbzwebsdk

Version:

Shanghai jinbaozheng easy network technology Co.,Ltd sdk

48 lines (43 loc) 1.67 kB
/** * Created by cuppi on 2017/9/4. */ import CityParas from "../paras/CityParas"; import CoordinateParas from '../paras/CoordinateParas'; import {AxiosRequestConfig, AxiosResponse} from "axios"; import UrlTool from "../tool/JToolUrl"; abstract class NetworkDelegate{ globalParas: Function; globalHeaders: Function; abstract requestInterceptor(config: AxiosRequestConfig): AxiosRequestConfig; abstract requestInterceptorError(error: Error): Promise<never>; abstract responseInterceptor(response: AxiosResponse): AxiosResponse; abstract responseInterceptorError(error: Error): Promise<never>; abstract resolveInterceptor(response: AxiosResponse, data: any): boolean; abstract rejectInterceptor(response: AxiosResponse, error: Error): boolean; } export default NetworkDelegate; export const defaultInterceptor = { requestInterceptor: (config: AxiosRequestConfig): AxiosRequestConfig => { // Do something before request is sent console.log('POST ' + UrlTool.urlFromPortion(config.url, '', config.params)); return config; }, requestInterceptorError: (error: Error): Promise<never> => { // Do something with request error return Promise.reject(error); }, responseInterceptor: (response: AxiosResponse): AxiosResponse => { // Do something with response data return response; }, responseInterceptorError: (error: Error): Promise<never> => { // Do something with response error return Promise.reject(error); }, resolveInterceptor: (response: AxiosResponse, data: any): boolean => { return true; }, rejectInterceptor: (response: AxiosResponse, error: Error): boolean => { return true; } }