!47 修复在编辑项目之前加载数据异常,自动保存导致项目数据清空问题。

Merge pull request !47 from 秋名山路霸/master-fetch
This commit is contained in:
奔跑的面条 2022-09-18 07:53:47 +00:00 committed by Gitee
commit a67cc9f876
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
3 changed files with 21 additions and 5 deletions

View File

@ -15,6 +15,8 @@ import type { ChartColorsNameType, GlobalThemeJsonType } from '@/settings/chartT
// 项目数据枚举
export enum ProjectInfoEnum {
// ID
PROJECT_ID = "projectId",
// 名称
PROJECT_NAME = 'projectName',
// 描述
@ -27,6 +29,7 @@ export enum ProjectInfoEnum {
// 项目数据
export type ProjectInfoType = {
[ProjectInfoEnum.PROJECT_ID]: string,
[ProjectInfoEnum.PROJECT_NAME]: string,
[ProjectInfoEnum.REMARKS]: string,
[ProjectInfoEnum.THUMBNAIL]: string,
@ -84,6 +87,8 @@ export enum EditCanvasConfigEnum {
// 画布属性(需保存)
export type EditCanvasConfigType = {
// ID
[EditCanvasConfigEnum.PROJECT_ID]: string,
// 项目名称
[EditCanvasConfigEnum.PROJECT_NAME]: string,
// 项目描述

View File

@ -15,7 +15,7 @@ import { HistoryActionTypeEnum, HistoryItemType, HistoryTargetTypeEnum } from '@
// 画布枚举
import { MenuEnum, SyncEnum } from '@/enums/editPageEnum'
import {
import {
getUUID,
loadingStart,
loadingFinish,
@ -46,6 +46,7 @@ export const useChartEditStore = defineStore({
state: (): ChartEditStoreType => ({
// 项目数据
projectInfo: {
projectId: '',
projectName: '',
remarks: '',
thumbnail: '',

View File

@ -120,7 +120,7 @@ export const useSync = () => {
/**
* *
* @param projectData
* @returns
* @returns
*/
const updateStoreInfo = (projectData: {
id: string,
@ -129,7 +129,9 @@ export const useSync = () => {
remarks: string,
state: number
}) => {
const { projectName, remarks, indexImage, state } = projectData
const { id, projectName, remarks, indexImage, state } = projectData
// ID
chartEditStore.setProjectInfo(ProjectInfoEnum.PROJECT_ID, id)
// 名称
chartEditStore.setProjectInfo(ProjectInfoEnum.PROJECT_NAME, projectName)
// 描述
@ -151,6 +153,8 @@ export const useSync = () => {
// 更新全局数据
await updateComponent(JSON.parse(res.data.content))
return
}else {
chartEditStore.setProjectInfo(ProjectInfoEnum.PROJECT_ID, fetchRouteParamsLocation())
}
setTimeout(() => {
chartEditStore.setEditCanvas(EditCanvasTypeEnum.SAVE_STATUS, SyncEnum.SUCCESS)
@ -173,6 +177,12 @@ export const useSync = () => {
return
}
let projectId = chartEditStore.getProjectInfo[ProjectInfoEnum.PROJECT_ID];
if(projectId === null || projectId === ''){
window['$message'].error('数据初未始化成功,请刷新页面!')
return
}
chartEditStore.setEditCanvas(EditCanvasTypeEnum.SAVE_STATUS, SyncEnum.START)
// 获取缩略图片
@ -183,7 +193,7 @@ export const useSync = () => {
allowTaint: true,
useCORS: true
})
// 上传预览图
let uploadParams = new FormData()
uploadParams.append('object', base64toFile(canvasImage.toDataURL(), `${fetchRouteParamsLocation()}_index_preview.png`))
@ -198,7 +208,7 @@ export const useSync = () => {
// 保存数据
let params = new FormData()
params.append('projectId', fetchRouteParamsLocation())
params.append('projectId', projectId)
params.append('content', JSON.stringify(chartEditStore.getStorageInfo || {}))
const res= await saveProjectApi(params) as unknown as MyResponseType