import { IRedisConfig } from '@easy-front-core-sdk/cache'; import { JsApiType } from './Enums'; export interface IApiConfig { appId: string; appScrect: string; token?: string; encodingAesKey?: string; isStable?: boolean; } export declare class WXCoreFactory { private static CORE_MAP; static putCore(apiConfig: IApiConfig, redisConfig: IRedisConfig): WXCore; static getCore(appId?: string): WXCore; static removeCore(appId: string): boolean; } export declare class WXCore { private _accesstokenUrl; private _accessStabletokenUrl; private ticketUrl; private _cache; private _http; private _apiConfig; constructor(apiConfig: IApiConfig, redisConfig: IRedisConfig); /** * 获取 acces_token * 1、先从redis缓存中获取,如果可用就直接返回 * 2、如果缓存中的已过期就调用刷新接口来获取新的 acces_token,并存入redis */ getAccessToken(): Promise; getStableAccessToken(): Promise; /** * 通过 appId 从缓存中获取 acces_token * @param apiConfig */ private getAvailableAccessToken; private getAvailableStableAccessToken; /** * 通过 appId 从缓存中获取 acces_token过期时间 * @param apiConfig */ getAccessTokenExpiresIn(): Promise; getStableAccessTokenExpiresIn(): Promise; /** * 获取新的 acces_token 并设置缓存 * @param apiConfig */ refreshAccessToken(): Promise; /** * 稳定版接口使用post json * @returns */ refreshStableAccessToken(): Promise; /** * 获取api_ticket * @param type */ getTicket(type: JsApiType): Promise; /** * 获取新的 apiConfig */ getApiConfig(): IApiConfig; }