/** 单例模式 * 确保一个类只有一个实例,并提供一个全局访问点 * @param constructor * @constructor */ export function Singleton(constructor: T): T { let instance: any; return new Proxy(constructor, { construct(target, argsList, newTarget) { if (!instance) { instance = Reflect.construct(target, argsList, newTarget); } return instance; }, }); }