import type { EnterpriseAuthRoutes } from '@d8d/server'; import { createRpcClient } from '@d8d/mini-shared-ui-components'; export class EnterpriseAuthClientManager { private static instance: EnterpriseAuthClientManager; private client: ReturnType> | null = null; private constructor() {} public static getInstance(): EnterpriseAuthClientManager { if (!EnterpriseAuthClientManager.instance) { EnterpriseAuthClientManager.instance = new EnterpriseAuthClientManager(); } return EnterpriseAuthClientManager.instance; } // 初始化客户端 public init(baseUrl: string = '/'): ReturnType> { return this.client = createRpcClient({ apiBaseUrl: baseUrl }); } // 获取客户端实例 public get(): ReturnType> { if (!this.client) { return this.init() } return this.client; } // 重置客户端(用于测试或重新初始化) public reset(): void { this.client = null; } } // 导出单例实例 const enterpriseAuthClientManager = EnterpriseAuthClientManager.getInstance(); // 导出默认客户端实例(延迟初始化) export const enterpriseAuthClient = enterpriseAuthClientManager.get() export { enterpriseAuthClientManager }