深度画布测试保存
This commit is contained in:
@@ -178,7 +178,8 @@
|
||||
}
|
||||
const onWorkbench = async () => {
|
||||
exportCanvasToImage(canvasManager.canvas).then((url) => {
|
||||
emit('workbench', { url })
|
||||
const json = canvasManager.getCanvasJSON()
|
||||
emit('workbench', { url, json })
|
||||
})
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -99,7 +99,7 @@
|
||||
canvasHeight: props.config.height || 600,
|
||||
url: json ? '' : url
|
||||
})
|
||||
if (!url && json) await canvasManager.loadJSON(json)
|
||||
if (json) await canvasManager.loadJSON(json)
|
||||
|
||||
stateManager.onMounted()
|
||||
canvasManager.onMounted()
|
||||
@@ -185,7 +185,7 @@
|
||||
const importCanvasFromLocalStorage = () => {
|
||||
const json = localStorage.getItem('canvasJSON')
|
||||
if (!json) return
|
||||
canvasManager.loadJSON(json, (success) => {
|
||||
canvasManager.loadJSON(json).then((success) => {
|
||||
if (success) {
|
||||
console.log('导入成功')
|
||||
} else {
|
||||
|
||||
@@ -19,12 +19,16 @@
|
||||
|
||||
const open = (options) => {
|
||||
config.value = options
|
||||
console.log(config.value)
|
||||
config.value.json = sessionStorage.getItem('canvasJson_' + config.value.id)
|
||||
dialogVisible.value = true
|
||||
}
|
||||
// 工作区
|
||||
const onWorkbench = (options) => {
|
||||
dialogVisible.value = false
|
||||
config.value.onWorkbench?.(options)
|
||||
const json = options.json
|
||||
sessionStorage.setItem('canvasJson_' + config.value.id, json)
|
||||
config.value.onWorkbench?.({ url: options.url, json })
|
||||
}
|
||||
// 关闭
|
||||
const onClose = () => {
|
||||
|
||||
@@ -343,10 +343,11 @@ export class LayerManager {
|
||||
const index = this.canvasManager.getObjects().indexOf(targetLayer);
|
||||
this.deleteLayerById(targetLayer.info.id, false)
|
||||
this.setActiveID(mergedImage.info.id, false)
|
||||
await this.canvasManager.add(mergedImage);
|
||||
await this.canvasManager.add(mergedImage, false);
|
||||
this.canvasManager.canvas.moveTo(mergedImage, index);
|
||||
this.canvasManager.renderAll()
|
||||
this.updateLayers()
|
||||
this.stateManager.recordState()
|
||||
return true;
|
||||
}
|
||||
/** 设置激活对象可擦除 */
|
||||
|
||||
@@ -92,7 +92,7 @@ export class StateManager {
|
||||
if (!state) return
|
||||
this.running.value = true
|
||||
this.historyIndex.value = index
|
||||
this.canvasManager.loadJSON(state.canvas, () => {
|
||||
this.canvasManager.loadJSON(state.canvas).then(() => {
|
||||
this.event.emit('canvas:undo', state)
|
||||
this.running.value = false
|
||||
})
|
||||
@@ -105,7 +105,7 @@ export class StateManager {
|
||||
if (!state) return
|
||||
this.running.value = true
|
||||
this.historyIndex.value = index
|
||||
this.canvasManager.loadJSON(state.canvas, () => {
|
||||
this.canvasManager.loadJSON(state.canvas).then(() => {
|
||||
this.event.emit('canvas:redo', state)
|
||||
this.running.value = false
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user