mirror of
https://gitee.com/dromara/go-view.git
synced 2025-10-13 22:12:11 +08:00
52 lines
1.9 KiB
TypeScript
52 lines
1.9 KiB
TypeScript
import { getSessionStorage, fetchRouteParamsLocation, httpErrorHandle, JSONParse } from '@/utils'
|
|
import { ResultEnum } from '@/enums/httpEnum'
|
|
import { StorageEnum } from '@/enums/storageEnum'
|
|
import { ChartEditStorage } from '@/store/modules/chartEditStore/chartEditStore.d'
|
|
import { fetchProjectApi } from '@/api/path'
|
|
import { useChartEditStore } from '@/store/modules/chartEditStore/chartEditStore'
|
|
|
|
const chartEditStore = useChartEditStore()
|
|
|
|
export interface ChartEditStorageType extends ChartEditStorage {
|
|
id: string
|
|
}
|
|
|
|
// 根据路由 id 获取存储数据的信息
|
|
export const getSessionStorageInfo = async () => {
|
|
const id = fetchRouteParamsLocation()
|
|
const storageList: ChartEditStorageType[] = getSessionStorage(StorageEnum.GO_CHART_STORAGE_LIST)
|
|
|
|
// 是否本地预览
|
|
if (!storageList || storageList.findIndex(e => e.id === id.toString()) === -1) {
|
|
// 接口调用
|
|
const res = await fetchProjectApi({ projectId: id })
|
|
if (res && res.code === ResultEnum.SUCCESS) {
|
|
const { content, state } = res.data
|
|
if (state === -1) {
|
|
// 跳转未发布页
|
|
return { isRelease: false }
|
|
}
|
|
console.log(content)
|
|
const parseData = { ...JSONParse(content), id }
|
|
const { editCanvasConfig, requestGlobalConfig, componentList } = parseData
|
|
chartEditStore.editCanvasConfig = editCanvasConfig
|
|
chartEditStore.requestGlobalConfig = requestGlobalConfig
|
|
chartEditStore.componentList = componentList
|
|
return parseData
|
|
} else {
|
|
httpErrorHandle()
|
|
}
|
|
} else {
|
|
// 本地读取
|
|
for (let i = 0; i < storageList.length; i++) {
|
|
if (id.toString() === storageList[i]['id']) {
|
|
const { editCanvasConfig, requestGlobalConfig, componentList } = storageList[i]
|
|
chartEditStore.editCanvasConfig = editCanvasConfig
|
|
chartEditStore.requestGlobalConfig = requestGlobalConfig
|
|
chartEditStore.componentList = componentList
|
|
return storageList[i]
|
|
}
|
|
}
|
|
}
|
|
}
|