添加生产导出log, 画布图层工具图层顺序问题

This commit is contained in:
李志鹏
2025-11-06 11:27:12 +08:00
parent ccedd00ea7
commit 21bfe5ef8f
7 changed files with 111 additions and 3 deletions

View File

@@ -2059,7 +2059,7 @@ export class LayerObjectsToGroupCommand extends Command {
}
try {
await optimizeCanvasRendering(this.canvas, () => {
await optimizeCanvasRendering(this.canvas, async () => {
if (existingGroup) {
// 向现有组添加对象
this._addObjectsToExistingGroup(existingGroup, newObjectsToAdd);
@@ -2070,8 +2070,8 @@ export class LayerObjectsToGroupCommand extends Command {
this._createNewGroupWithAllObjects(newObjectsToAdd);
this.groupObjectId = this.newGroupId;
this.wasGroupCreated = true;
await this.layerManager?.layerSort?.rearrangeObjects();
}
// 更新交互性
this.layerManager?.updateLayersObjectsInteractivity?.(false).then(()=>{
// 更新缩略图

View File

@@ -255,6 +255,8 @@ export class AddObjectToLayerCommand extends Command {
);
// 标记为非首次执行
this.isFirstExecution = false;
// 重新排序图层对象
await this.layerManager?.layerSort?.rearrangeObjects();
console.log(
`✅ 对象已添加到图层 "${layer.name}",位置: (${this.fabricObject.left}, ${this.fabricObject.top})`
);

View File

@@ -359,7 +359,8 @@ export class RasterizeLayerCommand extends Command {
// 设置为活动图层
this.activeLayerId.value = this.rasterizedLayerId;
// 重新排序图层对象
await this.layerManager?.layerSort?.rearrangeObjects();
await this.layerManager?.updateLayersObjectsInteractivity(false);
console.log(`🎨 组合图层 ${this.rasterizedLayer.name} 创建完成`);

View File

@@ -409,6 +409,9 @@ export class CreateTextCommand extends Command {
// 现在可以安全地设置为活动图层
this.layerManager.setActiveLayer(this.layerId);
// 重新排序图层对象
await this.layerManager?.layerSort?.rearrangeObjects();
// 更新对象交互性
await this.layerManager?.updateLayersObjectsInteractivity?.(false);

View File

@@ -946,6 +946,14 @@ export class LayerManager {
return false;
}
// 检查是否是唯一的普通图层
const normalLayers = this.layers.value.filter((l) => !l.isBackground && !l.isFixed);
console.log("普通图层:", normalLayers)
if (normalLayers.length === 1) {
console.warn("不能删除唯一的普通图层");
message.warning("不能删除唯一的普通图层");
return false;
}
// // 如果图层有子图层,提示确认
// if (layer && layer.children && layer.children.length > 0) {
// console.warn("该图层包含子图层,删除将同时删除所有子图层");