import { Observable } from 'rxjs'; import { Result } from '../response/result'; import { HttpContentType } from "../http/http-content-type"; import { HttpRequest } from "../http/http-request"; import { WebApiHandleOptions } from "./web-api-handle-options"; import { Meow } from "../meow"; /** * WebApi请求操作 */ export declare class WebApiRequest { private request?; private meow?; /** * 按钮 */ private btn; /** * 是否显示进度条 */ private isShowLoading?; /** * 初始化WebApi请求操作 * @param request Http请求操作 * @param message 消息操作 */ constructor(request?: HttpRequest>, meow?: Meow); /** * 设置请求重试次数 * @param value 请求重试次数,默认值: 3 */ retry(value: number): WebApiRequest; /** * 设置跨域是否允许携带cookie * @param value 设置为true则允许携带,默认值: true */ withCredentials(value?: boolean): WebApiRequest; /** * 添加Http头 * @param headers Http头集合 */ header(headers?: { name: string; value: any; }[]): WebApiRequest; /** * 添加Http头 * @param name 名称 * @param value 值 */ header(name: string, value: any): WebApiRequest; /** * 设置Content-Language请求头 * @param culture 语言文化代码 */ contentLanguage(culture: any): void; /** * 添加Http头 */ private addHeaders; /** * 设置响应类型 * @param responseType 响应类型 */ responseType(responseType: any): WebApiRequest; /** * 设置内容类型 * @param contentType 内容类型 */ contentType(contentType: HttpContentType): WebApiRequest; /** * 添加Http参数,添加到url查询字符串 * @param data 参数对象 */ param(data: any): WebApiRequest; /** * 添加Http参数,添加到url查询字符串 * @param name 名称 * @param value 值 */ param(name: string, value: string): WebApiRequest; /** * 根据条件添加http参数 * @param name 名称 * @param value 值 */ paramIf(data: any, value: string, condition: boolean): WebApiRequest; /** * 设置按钮 * @param btn 按钮实例 */ button(btn: any): WebApiRequest; /** * 请求时显示进度条 */ loading(isShowLoading?: boolean): WebApiRequest; /** * 配置请求客户端 * @param handler 请求客户端配置操作 */ configClient(handler: (client: Observable) => Observable): WebApiRequest; /** * 获取请求客户端 */ getClient(): Observable>; /** * 发送客户端请求 * @param client Http客户端 * @param options 响应处理器配置 */ sendClient(client: Observable, options: WebApiHandleOptions): void; /** * 处理响应 * @param options 响应处理器配置 */ handle(options: WebApiHandleOptions): void; /** * 处理响应 * @param options 响应处理器配置 */ handleAsync(options: WebApiHandleOptions): Promise; /** * 处理成功响应 */ private handleOk; /** * 处理未授权响应 */ private handleUnauthorize; /** * 处理失败响应 */ private handleFail; /** * 处理Http异常 */ private handleHttpException; /** * 获取Http异常消息 */ private getHttpExceptionMessage; /** * 处理业务异常 */ private handleBusinessException; /** * 发送前操作 */ private handleBefore; /** * 显示加载状态 */ private showLoading; /** * 完成操作 */ private handleComplete; /** * 关闭加载状态 */ private closeLoading; /** * 下载文件 * @param fileName 文件名,包含扩展名,范例: a.png */ download(fileName?: any): void; }