2026-04-02 08:56:49 +08:00
|
|
|
|
import { defineStore } from 'pinia';
|
|
|
|
|
|
import { ref } from 'vue';
|
|
|
|
|
|
|
|
|
|
|
|
export const useUiStore = defineStore('ui', () => {
|
|
|
|
|
|
// 右侧抽屉状态
|
|
|
|
|
|
const drawerOpen = ref(true);
|
2026-05-18 09:03:20 +08:00
|
|
|
|
const mapType = ref('2D');
|
2026-07-10 17:56:16 +08:00
|
|
|
|
const mapSwitchCompletedTick = ref(0);
|
2026-07-16 17:58:11 +08:00
|
|
|
|
// 3d 流域三维漫游
|
|
|
|
|
|
const isRoaming = ref(false);
|
2026-08-20 16:55:09 +08:00
|
|
|
|
// 智慧装备
|
|
|
|
|
|
const isSmartEquipment = ref(false);
|
2026-07-22 16:23:10 +08:00
|
|
|
|
// dim 切换时跳过漫游相机还原(由地图模式切换自行处理)
|
|
|
|
|
|
const skipRoamCameraRestore = ref(false);
|
2026-08-07 17:55:27 +08:00
|
|
|
|
// 搜索抽屉状态
|
|
|
|
|
|
const searchDrawerOpen = ref(false);
|
2026-08-11 16:24:41 +08:00
|
|
|
|
// 全局兜底抽屉状态(AppMain 通用抽屉,给未自带抽屉的页面用)
|
|
|
|
|
|
const globalDrawerOpen = ref(false);
|
2026-08-20 16:55:09 +08:00
|
|
|
|
// 是否处于锚点搜索状态(选中命中 DRAWER_STTP_CODES 的锚点时 true;清空/切页等 false)
|
|
|
|
|
|
const isSearchActive = ref(false);
|
2026-04-02 08:56:49 +08:00
|
|
|
|
|
|
|
|
|
|
// 切换抽屉状态
|
|
|
|
|
|
const toggleDrawer = () => {
|
|
|
|
|
|
drawerOpen.value = !drawerOpen.value;
|
|
|
|
|
|
};
|
|
|
|
|
|
// 设置抽屉状态
|
|
|
|
|
|
const setDrawerOpen = (open: boolean) => {
|
|
|
|
|
|
drawerOpen.value = open;
|
|
|
|
|
|
};
|
2026-08-07 17:55:27 +08:00
|
|
|
|
// 设置搜索抽屉状态
|
|
|
|
|
|
const setSearchDrawerOpen = (open: boolean) => {
|
|
|
|
|
|
searchDrawerOpen.value = open;
|
|
|
|
|
|
};
|
2026-08-11 16:24:41 +08:00
|
|
|
|
// 设置全局兜底抽屉状态
|
|
|
|
|
|
const setGlobalDrawerOpen = (open: boolean) => {
|
|
|
|
|
|
globalDrawerOpen.value = open;
|
|
|
|
|
|
};
|
2026-08-20 16:55:09 +08:00
|
|
|
|
// 设置锚点搜索状态
|
|
|
|
|
|
const setIsSearchActive = (active: boolean) => {
|
|
|
|
|
|
isSearchActive.value = active;
|
|
|
|
|
|
};
|
2026-04-02 08:56:49 +08:00
|
|
|
|
|
2026-07-10 17:56:16 +08:00
|
|
|
|
const markMapSwitchCompleted = () => {
|
|
|
|
|
|
mapSwitchCompletedTick.value += 1;
|
|
|
|
|
|
};
|
|
|
|
|
|
|
2026-04-02 08:56:49 +08:00
|
|
|
|
return {
|
|
|
|
|
|
drawerOpen,
|
2026-07-16 17:58:11 +08:00
|
|
|
|
isRoaming,
|
2026-08-20 16:55:09 +08:00
|
|
|
|
isSmartEquipment,
|
2026-07-22 16:23:10 +08:00
|
|
|
|
skipRoamCameraRestore,
|
2026-04-02 08:56:49 +08:00
|
|
|
|
toggleDrawer,
|
|
|
|
|
|
setDrawerOpen,
|
2026-08-07 17:55:27 +08:00
|
|
|
|
setSearchDrawerOpen,
|
|
|
|
|
|
searchDrawerOpen,
|
2026-08-11 16:24:41 +08:00
|
|
|
|
globalDrawerOpen,
|
|
|
|
|
|
setGlobalDrawerOpen,
|
2026-08-20 16:55:09 +08:00
|
|
|
|
isSearchActive,
|
|
|
|
|
|
setIsSearchActive,
|
2026-07-10 17:56:16 +08:00
|
|
|
|
mapType,
|
|
|
|
|
|
mapSwitchCompletedTick,
|
|
|
|
|
|
markMapSwitchCompleted
|
2026-04-02 08:56:49 +08:00
|
|
|
|
};
|
2026-05-18 09:03:20 +08:00
|
|
|
|
});
|