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
}
}
}