画布内容储存,pose等入参回显

This commit is contained in:
X1627315083
2025-07-22 18:16:33 +08:00
parent c06fd06d82
commit 3652e0a384
22 changed files with 429 additions and 322 deletions

View File

@@ -50,7 +50,10 @@
<poseTransfer v-if="openType == 'poseTransfer'" :source="source" :isDesignPage="true" @setLike="designLike" ref="poseTransfer"></poseTransfer>
<div v-if="openType == 'editCanvas'" class="canvasBox" :class="{editCanvas:openType == 'editCanvas'}">
<div class="canvas" ref="canvasBox">
<editCanvas @changeCanvas="changeCanvas" ref="editCanvas">
<editCanvas
@changeCanvas="changeCanvas"
:canvasJSON="canvasJSON"
ref="editCanvas">
<template #existsImageList>
<ExistsImageList :list="canvasSelectList" @select="handleImageSelect" />
</template>
@@ -75,6 +78,7 @@ import { defineComponent,computed,ref,provide,nextTick,inject,toRefs, reactive,
import { ExclamationCircleOutlined } from '@ant-design/icons-vue';
import { Https } from "@/tool/https";
import { useStore } from "vuex";
import { downloadIamge,getMinioUrl } from "@/tool/util";
import { useI18n } from 'vue-i18n'
import toProductRelight from '../tools/toProduct/index.vue'
import poseTransfer from '../tools/poseTransfer/index.vue'
@@ -101,6 +105,7 @@ export default defineComponent({
isShowMark:false,
openType:'',
selectObject:computed(()=>store.state.Workspace.probjects),//选择的项目
canvasJSON:computed(()=>store.state.HomeStoreModule.canvasData.canvas),
createProbject:inject('createProbject',()=>{}) as any,
likeDesignList:[],
canvasSelectList:[] as any,
@@ -256,15 +261,19 @@ export default defineComponent({
if(list.length > 0){
data.canvasSelectList.push(obj)
}
console.log(mannquinList)
}
const handleImageSelect = (value:any)=>{
dataDom.editCanvas.addImageToLayer(value.url)
}
const saveCanvas = ()=>{
let canvasJSON = dataDom.editCanvas.getJSON()
if(!canvasJSON)return
let blob = new Blob([canvasJSON], { type: "application/json" });
let canvasData = JSON.parse(canvasJSON)
if(!canvasData)return
canvasData.canvas.objects.forEach((objectsItem:any) => {
if(objectsItem.type == 'image')objectsItem.minioUrl = getMinioUrl(objectsItem.src)
});
console.log(canvasData)
let blob = new Blob([JSON.stringify(canvasData)], { type: "application/json" });
let formData = new FormData();
formData.append("file", blob, "data.json");
formData.append("module", "canvas");