usePreview.ts 1.07 KB
import { fetchRouteParamsLocation, JSONParse, } from '@/utils'
import { getDataView } from '@/api/external/contentSave/content'
import { ChartEditStorageType } from '..'
import { useChartEditStore } from '@/store/modules/chartEditStore/chartEditStore'
import { useRoute } from 'vue-router'
import { ShareEnum } from '@/enums/external/pageEnum'


const isSharePageMode = () => {
  const ROUTE = useRoute()
  return ROUTE.matched.find(item => item.path === ShareEnum.SHARE_PATH)
}

export const getSessionStorageInfo = async () => {
  if (isSharePageMode()) return
  const id = fetchRouteParamsLocation()
  const chartEditStore = useChartEditStore()
  const res = await getDataView(id)
  if (res) {
    const { dataViewContent } = res
    const content = JSONParse(dataViewContent.content) as ChartEditStorageType
    if (content) {
      const { editCanvasConfig, requestGlobalConfig, componentList } = content
      chartEditStore.editCanvasConfig = editCanvasConfig
      chartEditStore.requestGlobalConfig = requestGlobalConfig
      chartEditStore.componentList = componentList
    }
  }
}