import { HttpClient, HttpParams, HttpHeaders } from '@angular/common/http'; import { Observable } from 'rxjs'; import { BaseEntity } from '../model/baseentity'; import { AppConfig } from '../meta/appconfig'; /** * 对HTTP的访问封装,所有的REST-API访问均需要通过本工具类完成访问。 * 本工具在访问的时候会根据情况对地址进行包装,以适应不同的运行环境。 * * @export */ export declare class AppRest { http: HttpClient; appConfig: AppConfig; /** * Creates an instance of AppRest. * @param HttpClient http * @param AppConfig appConfig */ constructor(http: HttpClient, appConfig: AppConfig); /** * 动态配置REST-API地址,一般不需要调用 * 在EXE版本中需要在应用初始化的时候进行调用 * @param AppConfig appConfig * @memberof AppRest */ init(appConfig: AppConfig): void; getUrl(res: string, id?: string): string; getById(res: string, id: string, params?: object): Observable; private _get; get(res: string, params?: string | object, options?: any): Observable; getList(res: string, params?: object, options?: any): Observable; postFile(url: string, fieldName: string, file: File, fileName?: string): Observable; post(res: string, obj?: object, asForm?: boolean): Observable; postForm(res: string, formData: FormData, headers?: HttpHeaders | { [header: string]: string | string[]; }): Observable; postForm(res: string, formData: HttpParams, headers?: HttpHeaders | { [header: string]: string | string[]; }): Observable; delete(res: string, params?: object): Observable; delete(res: string, form?: FormData): Observable; delete(res: string, id: string, params?: object): Observable; save(res: string, entity: BaseEntity): Observable; uploadFile(url: string, file: File, params?: { [prop: string]: any; }): Observable; downloadFile(url: string): Observable; ajaxDownload(url: string, callbak: (ev: ProgressInfo) => void): void; ajaxUpload(url: string, file: File, params?: { [prop: string]: any; }): Observable; } export declare function jqParams(a: any, encode?: boolean): string; export interface ProgressInfo { filename?: string; progress?: number; loaded?: number; total?: number; done?: boolean; blob?: Blob; error?: string; response?: any; abort?: () => void; }