index.d.ts 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import { IErrorMessage, ICallbackOption, ICommonAPI, IJSBridge, IInvokeAPIConfigMap, IAPIConfig, IJSBridgeMap, IInvokeAPIConfigMapByMethod, IUNCore, ILogFn, IDevConfigParams, ILog, IConfigCoreMap, IENV, APP_TYPE, IPlatformConfig, LogLevel, isFunction, compareVersion, ENV_ENUM, ENV_ENUM_SUB, IApiMiddlewareFn } from './sdkLib';
  2. export { IErrorMessage, ICallbackOption, ICommonAPI, IJSBridge, IPlatformConfig, ENV_ENUM, ENV_ENUM_SUB, IENV, compareVersion, isFunction, APP_TYPE, ILogFn, IUNCore, LogLevel, ILog, IInvokeAPIConfigMap, IAPIConfig, IJSBridgeMap, IInvokeAPIConfigMapByMethod, };
  3. export declare function getTargetApiConfigVS(apiConfig: IAPIConfig | undefined, env: IENV): string | undefined;
  4. export declare class Sdk {
  5. bridgeInitFn: () => Promise<IJSBridge>;
  6. protected configJsApiList: string[];
  7. protected hadConfig: boolean;
  8. protected isReady: undefined | boolean;
  9. protected devConfig: IDevConfigParams;
  10. protected env: IENV;
  11. protected invokeAPIConfigMapByMethod: IInvokeAPIConfigMapByMethod;
  12. protected p: any;
  13. protected config$: Promise<unknown>;
  14. private bridgeInitFnPromise;
  15. private exportSdk;
  16. private apiHandler;
  17. private platformConfigMap;
  18. private isBridgeDrity;
  19. constructor(env: IENV);
  20. getExportSdk: () => IUNCore;
  21. setAPI: (method: string, config: IInvokeAPIConfigMap) => void;
  22. setPlatform: (core: IPlatformConfig) => void;
  23. getPlatformConfigMap: () => IConfigCoreMap;
  24. deleteApiConfig: (method: string, platform: string) => void;
  25. /**
  26. * 配置中间件,最晚加入的中间件最先被调用,并最后返回
  27. * @param fn 中间件函数
  28. * @remark
  29. * context 中携带接口请求的参数和传递中间变量
  30. * 1. 总是存在的字段代表入口参数,可以读取,请勿修改
  31. * 2. 可选的字段代表内部中间件可能产生的中间变量,请勿依赖和改动
  32. * 3. 尽可能不要使用 context 传递中间变量
  33. *
  34. * next 是一个异步函数,代表下一个中间件,Promise 的结果代表调用的结果。
  35. * 同理,当前中间件需要返回内容(or 抛出异常)作为结果,不可不返回任何内容。
  36. *
  37. * 若需要获取 sdk 的 protected 字段,可以参考 src/lib/sdk/middlewares/ 目录
  38. * 下的内部中间件的函数 this 参数声明,使用时记得通过 fn.bind(sdk) 绑定 this 变量
  39. */
  40. useApiMiddleware(fn: IApiMiddlewareFn): void;
  41. invokeAPI: (method: string, params?: any, isAuthApi?: boolean) => Promise<any>;
  42. private withDefaultEvent;
  43. private initApiMiddleware;
  44. }