UNPKG

@shencom/api

Version:
36 lines (31 loc) 981 B
import type { Http } from './type'; interface ApiConfigStore { http?: Http; url?: string; initialized: boolean; } // 使用一个不可导出的内部变量来存储配置 const globalApiConfig: ApiConfigStore = { initialized: false, }; /** * 初始化 API 配置。此函数应在应用启动时调用一次。 * @param http Http 实例 * @param url API 基础 URL */ export function init(http: Http, url: string): void { globalApiConfig.http = http; globalApiConfig.url = url; globalApiConfig.initialized = true; } /** * 获取已初始化的配置。 * 如果未初始化,将抛出错误。 * @internal 仅供包内部API函数使用 */ export function getInitializedApiConfig(): { http: Http; url: string } { if (!globalApiConfig.initialized || !globalApiConfig.http) { throw new Error('API not initialized. Call init(http, url) before using any API functions.'); } return { http: globalApiConfig.http, url: globalApiConfig.url || '' }; }