import { defineStore } from 'pinia'; import { ref } from 'vue'; export const useUiStore = defineStore('ui', () => { // 右侧抽屉状态 const drawerOpen = ref(true); const mapType = ref('2D'); const mapSwitchCompletedTick = ref(0); // 3d 流域三维漫游 const isRoaming = ref(false); // dim 切换时跳过漫游相机还原(由地图模式切换自行处理) const skipRoamCameraRestore = ref(false); // 搜索抽屉状态 const searchDrawerOpen = ref(false); // 全局兜底抽屉状态(AppMain 通用抽屉,给未自带抽屉的页面用) const globalDrawerOpen = ref(false); // 切换抽屉状态 const toggleDrawer = () => { drawerOpen.value = !drawerOpen.value; }; // 设置抽屉状态 const setDrawerOpen = (open: boolean) => { drawerOpen.value = open; }; // 设置搜索抽屉状态 const setSearchDrawerOpen = (open: boolean) => { searchDrawerOpen.value = open; }; // 设置全局兜底抽屉状态 const setGlobalDrawerOpen = (open: boolean) => { globalDrawerOpen.value = open; }; const markMapSwitchCompleted = () => { mapSwitchCompletedTick.value += 1; }; return { drawerOpen, isRoaming, skipRoamCameraRestore, toggleDrawer, setDrawerOpen, setSearchDrawerOpen, searchDrawerOpen, globalDrawerOpen, setGlobalDrawerOpen, mapType, mapSwitchCompletedTick, markMapSwitchCompleted }; });