22 lines
631 B
TypeScript
22 lines
631 B
TypeScript
import { HCesiumManager } from './managers/HCesiumManager';
|
|
|
|
/**
|
|
* 管理 HCesiumViewerManager 实例的生命周期。
|
|
*/
|
|
export function useHCesiumManager(containerId: string) {
|
|
const hCesiumViewerManager = ref(new HCesiumManager());
|
|
// 可以在开发模式下暴露 manager 实例,方便调试
|
|
if ($__DEV__) Object.assign(globalThis, { hCesiumViewerManager });
|
|
|
|
onMounted(() => {
|
|
hCesiumViewerManager.value.init(containerId);
|
|
});
|
|
|
|
onBeforeUnmount(() => {
|
|
hCesiumViewerManager.value.destroy();
|
|
});
|
|
|
|
// 返回 Manager 实例,供其他 Composable 或组件使用
|
|
return { hCesiumViewerManager };
|
|
}
|