红绿图导出问题

This commit is contained in:
李志鹏
2026-04-13 11:20:26 +08:00
parent f16aa6ea14
commit c6b1bdbdf1
4 changed files with 1074 additions and 1067 deletions

View File

@@ -55,6 +55,7 @@ commandManager.setChangeCallback((info) => {
emit("undo-redo-status-changed", {
canUndo: canUndo.value,
canRedo: canRedo.value,
type: info.type,
commandManager,
});
});

View File

@@ -907,7 +907,8 @@
}
emit("changeCanvas", commandData)
canvasManager.changeCanvas()
if ((command.canUndo || command.canRedo) && props.enabledRedGreenMode) {
const type = command.type
if (props.enabledRedGreenMode && (type === "undo" || type === "redo")) {
setTimeout(async () => {
try {
const imageData = await canvasManager.exportImage({
@@ -1057,7 +1058,7 @@
} = {}) => {
loading.value = true
canvasManager?.canvas?.discardActiveObject()
if(isFrontBackUpdata)await canvasManager?.changeCanvas()
if (isFrontBackUpdata) await canvasManager?.changeCanvas()
var base64 = await canvasManager.exportImage({
isContainBg,
isContainFixed,

File diff suppressed because it is too large Load Diff

View File

@@ -180,7 +180,7 @@ export class CommandManager {
this._recordPerformance("execute", command.constructor.name, duration);
// 通知状态变化
this._notifyStateChange();
this._notifyStateChange("execute");
console.log(`✅ 命令执行成功: ${command.constructor.name}`);
return result;
@@ -219,7 +219,7 @@ export class CommandManager {
this._recordPerformance("undo", command.constructor.name, duration);
// 通知状态变化
this._notifyStateChange();
this._notifyStateChange("undo");
console.log(`✅ 命令撤销成功: ${command.constructor.name}`);
return result;
@@ -258,7 +258,7 @@ export class CommandManager {
this._recordPerformance("redo", command.constructor.name, duration);
// 通知状态变化
this._notifyStateChange();
this._notifyStateChange("redo");
console.log(`✅ 命令重做成功: ${command.constructor.name}`);
return result;
@@ -298,7 +298,7 @@ export class CommandManager {
this.undoStack = [];
this.redoStack = [];
this._notifyStateChange();
this._notifyStateChange("clear");
// console.log("📝 命令历史已清空");
}
@@ -417,10 +417,12 @@ export class CommandManager {
* 通知状态变化
* @private
*/
_notifyStateChange() {
_notifyStateChange(type) {
if (this.onStateChange) {
try {
this.onStateChange(this.getState());
const obj = this.getState();
obj.type = type;
this.onStateChange(obj);
} catch (error) {
console.error("状态变化回调执行失败:", error);
}