import { config, View, Logic } from '.'; import { BusinessCode } from './enum'; export async function refreshInterfaces() { await config.defaultApp?.firstMicroService?.loadInterfaces(false); config.defaultApp?.firstMicroService?.emit('interfacesChange'); config.defaultApp?.emit('cache.refreshed'); config.defaultApp?.emit('cleanDesigners'); } export async function refreshPages() { await config.defaultApp?.firstWebService.loadPages(false); await config.defaultApp?._loadViewsDetail(); config.defaultApp?.firstWebService.emit('pageTreeChange'); config.defaultApp?.emit('cache.refreshed'); config.defaultApp?.emit('cleanDesigners'); } export async function refreshView(view: View) { try { await view.loadAll(false); view.emit('change'); config.defaultApp?.emit('cache.refreshed'); config.defaultApp?.emit('cleanDesigners'); } catch(err: any) { const code = err?.code; if(code === BusinessCode.ElementNotExist) // 节点不存在 await refreshPages(); } } export async function refreshHtml(view: View) { try { await view.$html?.load(); view.emit('change'); config.defaultApp?.emit('cache.refreshed'); } catch(err: any) { const code = err?.code; if(code === BusinessCode.ElementNotExist) // 节点不存在 await refreshView(view); } } export async function refreshLogic(logic: Logic) { await logic.load(); // logic.load() 会根据后端返回的code, 调用 refreshView, refreshPages 或 refreshInterfaces logic.emit('change'); config.defaultApp?.emit('cache.refreshed'); }