index.ts 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. import { stackFactory, flatStacksValue, strToParams } from '@/utils'
  2. import { reactive, ref } from 'vue'
  3. import type { FuseModel, TaggingPosition, View } from '@/store'
  4. export const viewModeStack = stackFactory(ref<'full' | 'auto'>('auto'))
  5. export const showToolbarStack = stackFactory(ref<boolean>(false))
  6. export const showHeadBarStack = stackFactory(ref<boolean>(true))
  7. export const showRightPanoStack = stackFactory(ref<boolean>(true))
  8. export const showLeftPanoStack = stackFactory(ref<boolean>(false))
  9. export const showLeftCtrlPanoStack = stackFactory(ref<boolean>(true))
  10. export const showRightCtrlPanoStack = stackFactory(ref<boolean>(true))
  11. export const showBottomBarStack = stackFactory(ref<boolean>(false), true)
  12. export const bottomBarHeightStack = stackFactory(ref<string>('60px'))
  13. export const showTaggingsStack = stackFactory(ref<boolean>(true))
  14. export const showMeasuresStack = stackFactory(ref<boolean>(true))
  15. export const currentModelStack = stackFactory(ref<FuseModel | null>(null))
  16. export const showModelsMapStack = stackFactory(ref<WeakMap<FuseModel, boolean>>(new WeakMap()), true)
  17. export const modelsChangeStoreStack = stackFactory(ref<boolean>(false))
  18. export const showTaggingPositionsStack = stackFactory(ref<WeakSet<TaggingPosition>>(new WeakSet()))
  19. export const currentViewStack = stackFactory(ref<View>())
  20. export const custom = flatStacksValue({
  21. viewMode: viewModeStack,
  22. showToolbar: showToolbarStack,
  23. showRightPano: showRightPanoStack,
  24. showLeftPano: showLeftPanoStack,
  25. showLeftCtrlPano: showLeftCtrlPanoStack,
  26. shwoRightCtrlPano: showRightCtrlPanoStack,
  27. showTaggings: showTaggingsStack,
  28. showMeasures: showMeasuresStack,
  29. currentModel: currentModelStack,
  30. showModelsMap: showModelsMapStack,
  31. modelsChangeStore: modelsChangeStoreStack,
  32. showTaggingPositions: showTaggingPositionsStack,
  33. showBottomBar: showBottomBarStack,
  34. bottomBarHeight: bottomBarHeightStack,
  35. showHeadBar: showHeadBarStack,
  36. currentView: currentViewStack
  37. })
  38. export const params = reactive(strToParams(location.search)) as unknown as Params
  39. params.caseId = Number(params.caseId)
  40. params.share = Boolean(Number(params.share))
  41. params.single = Boolean(Number(params.single))
  42. export enum appType {
  43. fire = "1",
  44. xmfire = "3",
  45. criminal = "2",
  46. police = "4",
  47. xj = "1"
  48. }
  49. export const appStyleImport = {
  50. // [appType.fire]: () => import('../assets/style/fire.less'),
  51. [appType.xmfire]: () => import('../assets/style/fire.less'),
  52. [appType.criminal]: () => import('../assets/style/criminal.less'),
  53. [appType.police]: () => import('../assets/style/criminal.less'),
  54. [appType.xj]: () => import('../assets/style/fire.less'),
  55. }
  56. export const appBackRoot = {
  57. // [appType.fire]: "/fire",
  58. [appType.xmfire]: "/xmfire",
  59. [appType.criminal]: "/criminal",
  60. [appType.police]: "/criminal",
  61. [appType.xj]: "/xj"
  62. }
  63. export const routeIncludeFire = (type: appType) =>
  64. [appType.fire, appType.xmfire].includes(type)
  65. export type Params = {
  66. caseId: number,
  67. baseURL?: string,
  68. modelId?: string,
  69. m?: string
  70. share?: boolean,
  71. single?: boolean
  72. app: appType
  73. token?: string
  74. }
  75. export const baseURL = params.baseURL ? params.baseURL : '/'
  76. export const getResource = (uri: string) => {
  77. if (~uri.indexOf('base64') || ~uri.indexOf('bolb') || ~uri.indexOf('//')) return uri
  78. return `${baseURL}/${uri}`
  79. }