/** * 模式类型 */ export enum ModeType { Look = "Look",//查看模式 Edit = "Edit",//编辑模式 } /** * 模式管理器 */ export class ModeManager { /** * 当前模式的类型 * 外部使用 currentMode 属性访问和修改 */ private static s_currentMode: ModeType = ModeType.Edit; /** * 制作模式代表内部编辑人员,可新增单位、上传模型,查看模式代表交付的模式 */ public static s_isMakeMode = true; /** * 调试模式 */ public static isDebug = true; //#region 演示单单位 //未指定演示单位,正常打开 static readonly c_demoKey_null = null; // 上海国际会议中心 测试 static readonly c_demoKey_shanghai = "shanghai"; //测试 static readonly c_demoKey_test = "test"; /** * 演示单位的key */ public static institutionDemoKey = ModeManager.c_demoKey_null; //#endregion /** * 获取当前模式的类型(查看或编辑,用户权限有关) */ static get currentMode(): ModeType { return ModeManager.s_currentMode; } /** * 改变模式类型 */ static set currentMode(modeType: ModeType) { ModeManager.s_currentMode = modeType; ModeManager.log("currentMode" + modeType); } //封装打印 static log(data: any, ...optionalParams: any[]) { if (ModeManager.isDebug) { console.log(data, optionalParams); } } /** * 封装的打印堆栈 */ static trace(message?: any, ...optionalParams: any[]) { if (ModeManager.isDebug) { console.trace(message, optionalParams); } } }