fix
This commit is contained in:
@@ -1330,7 +1330,7 @@ backgroundObject.scaleY,'CanvasManager resetCanvasSizeByFixedLayer')
|
||||
}
|
||||
// 解析JSON字符串
|
||||
try {
|
||||
const parsedJson = JSON.parse(json);
|
||||
const parsedJson = window.testCanvasJson || JSON.parse(json);
|
||||
console.log("加载画布JSON数据:", parsedJson);
|
||||
this.FixJsonIdLoss(parsedJson);
|
||||
this.canvasWidth.value = parsedJson.canvasWidth || this.width;
|
||||
@@ -1411,7 +1411,7 @@ backgroundObject.scaleY,'CanvasManager resetCanvasSizeByFixedLayer')
|
||||
// console.log("图层关联验证结果:", isValidate);
|
||||
// 排序
|
||||
// 使用LayerSort工具重新排列画布对象(如果可用)
|
||||
await this?.layerManager?.layerSort?.rearrangeObjects();
|
||||
await this?.layerManager?.layerSort?.rearrangeObjectsAsync();
|
||||
|
||||
this.layerManager.activeLayerId.value = this.layers.value[0]
|
||||
.children?.length
|
||||
@@ -1455,15 +1455,21 @@ backgroundObject.scaleY,'CanvasManager resetCanvasSizeByFixedLayer')
|
||||
const layers = json?.layers || [];
|
||||
const objects = json?.canvas?.objects || [];
|
||||
layers.forEach((layer) => {
|
||||
if(!layer.fabricObjects?.length && !layer.fabricObject){
|
||||
if(!layer.fabricObjects?.[0]?.id && !layer.fabricObject?.id){
|
||||
const obj = objects?.find((o) => o.layerId === layer.id);
|
||||
if(!obj) return;
|
||||
layer.fabricObjects = [{
|
||||
id: obj.id,
|
||||
type: obj.type,
|
||||
}]
|
||||
if(obj) {
|
||||
layer.fabricObjects = [{
|
||||
id: obj.id,
|
||||
type: obj.type,
|
||||
}]
|
||||
}
|
||||
}
|
||||
})
|
||||
// 排序
|
||||
objects.sort((a, b) => {
|
||||
if (a.isBackground) return -1;
|
||||
if (b.isBackground) return 1;
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1612,11 +1612,11 @@ export class LayerManager {
|
||||
* @private
|
||||
*/
|
||||
_rearrangeObjects() {
|
||||
if (this.layerSort) {
|
||||
// 使用LayerSort的高级排序
|
||||
this.layerSort.rearrangeObjects();
|
||||
return;
|
||||
}
|
||||
// if (this.layerSort) {
|
||||
// // 使用LayerSort的高级排序
|
||||
// this.layerSort.rearrangeObjects();
|
||||
// return;
|
||||
// }
|
||||
|
||||
// 传统排序逻辑(保持原有逻辑作为备用)
|
||||
if (!this.canvas) return;
|
||||
|
||||
Reference in New Issue
Block a user