UNPKG

dingtalk-jsapi

Version:

钉钉 模块化 多端统一 API

45 lines (44 loc) 2.61 kB
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'; export { IErrorMessage, ICallbackOption, ICommonAPI, IJSBridge, IPlatformConfig, ENV_ENUM, ENV_ENUM_SUB, IENV, compareVersion, isFunction, APP_TYPE, ILogFn, IUNCore, LogLevel, ILog, IInvokeAPIConfigMap, IAPIConfig, IJSBridgeMap, IInvokeAPIConfigMapByMethod, }; export declare function getTargetApiConfigVS(apiConfig: IAPIConfig | undefined, env: IENV): string | undefined; export declare class Sdk { bridgeInitFn: () => Promise<IJSBridge>; protected configJsApiList: string[]; protected hadConfig: boolean; protected isReady: undefined | boolean; protected devConfig: IDevConfigParams; protected env: IENV; protected invokeAPIConfigMapByMethod: IInvokeAPIConfigMapByMethod; protected p: any; protected config$: Promise<unknown>; private bridgeInitFnPromise; private exportSdk; private apiHandler; private platformConfigMap; private isBridgeDrity; constructor(env: IENV); getExportSdk: () => IUNCore; setAPI: (method: string, config: IInvokeAPIConfigMap) => void; setPlatform: (core: IPlatformConfig) => void; getPlatformConfigMap: () => IConfigCoreMap; deleteApiConfig: (method: string, platform: string) => void; /** * 配置中间件,最晚加入的中间件最先被调用,并最后返回 * @param fn 中间件函数 * @remark * context 中携带接口请求的参数和传递中间变量 * 1. 总是存在的字段代表入口参数,可以读取,请勿修改 * 2. 可选的字段代表内部中间件可能产生的中间变量,请勿依赖和改动 * 3. 尽可能不要使用 context 传递中间变量 * * next 是一个异步函数,代表下一个中间件,Promise 的结果代表调用的结果。 * 同理,当前中间件需要返回内容(or 抛出异常)作为结果,不可不返回任何内容。 * * 若需要获取 sdk 的 protected 字段,可以参考 src/lib/sdk/middlewares/ 目录 * 下的内部中间件的函数 this 参数声明,使用时记得通过 fn.bind(sdk) 绑定 this 变量 */ useApiMiddleware(fn: IApiMiddlewareFn): void; invokeAPI: (method: string, params?: any, isAuthApi?: boolean) => Promise<any>; private withDefaultEvent; private initApiMiddleware; }