0.3.9修复onlyoffice 的打开问题
This commit is contained in:
@@ -2176,47 +2176,53 @@ const MindmapBlockView = ({
|
||||
};
|
||||
|
||||
// 处理图片删除(将 asset 移到垃圾桶)
|
||||
const deleteImageAssets = async (assetIds: string[]) => {
|
||||
if (!assetIds.length || !docId) return;
|
||||
try {
|
||||
const response = await fetch("/api/media/batch", {
|
||||
method: "POST",
|
||||
headers: { "Content-Type": "application/json" },
|
||||
body: JSON.stringify({ action: "delete", assetIds }),
|
||||
});
|
||||
if (response.ok) {
|
||||
// 记录到已删除列表
|
||||
assetIds.forEach(id => deletedAssetIdsRef.current.add(id));
|
||||
// 通知文件树刷新,传递被删除的 assetIds
|
||||
emitAssetsChanged(docId, undefined, assetIds);
|
||||
} else {
|
||||
const payload = await response.json().catch(() => null);
|
||||
console.error("删除图片资源失败", payload?.error);
|
||||
const deleteImageAssets = useCallback(
|
||||
async (assetIds: string[]) => {
|
||||
if (!assetIds.length || !docId) return;
|
||||
try {
|
||||
const response = await fetch("/api/media/batch", {
|
||||
method: "POST",
|
||||
headers: { "Content-Type": "application/json" },
|
||||
body: JSON.stringify({ action: "delete", assetIds }),
|
||||
});
|
||||
if (response.ok) {
|
||||
// 记录到已删除列表
|
||||
assetIds.forEach((id) => deletedAssetIdsRef.current.add(id));
|
||||
// 通知文件树刷新,传递被删除的 assetIds
|
||||
emitAssetsChanged(docId, undefined, assetIds);
|
||||
} else {
|
||||
const payload = await response.json().catch(() => null);
|
||||
console.error("删除图片资源失败", payload?.error);
|
||||
}
|
||||
} catch (e) {
|
||||
console.error("删除图片资源失败", e);
|
||||
}
|
||||
} catch (e) {
|
||||
console.error("删除图片资源失败", e);
|
||||
}
|
||||
};
|
||||
},
|
||||
[docId],
|
||||
);
|
||||
|
||||
// 处理图片恢复(从垃圾桶恢复)
|
||||
const restoreImageAssets = async (assetIds: string[]) => {
|
||||
if (!assetIds.length || !docId) return;
|
||||
try {
|
||||
const response = await fetch("/api/media/batch", {
|
||||
method: "POST",
|
||||
headers: { "Content-Type": "application/json" },
|
||||
body: JSON.stringify({ action: "restore", assetIds }),
|
||||
});
|
||||
if (response.ok) {
|
||||
// 从已删除列表移除
|
||||
assetIds.forEach(id => deletedAssetIdsRef.current.delete(id));
|
||||
// 通知文件树刷新,传递恢复的 assetIds(空列表表示需要重新获取)
|
||||
emitAssetsChanged(docId);
|
||||
const restoreImageAssets = useCallback(
|
||||
async (assetIds: string[]) => {
|
||||
if (!assetIds.length || !docId) return;
|
||||
try {
|
||||
const response = await fetch("/api/media/batch", {
|
||||
method: "POST",
|
||||
headers: { "Content-Type": "application/json" },
|
||||
body: JSON.stringify({ action: "restore", assetIds }),
|
||||
});
|
||||
if (response.ok) {
|
||||
// 从已删除列表移除
|
||||
assetIds.forEach((id) => deletedAssetIdsRef.current.delete(id));
|
||||
// 通知文件树刷新,传递恢复的 assetIds(空列表表示需要重新获取)
|
||||
emitAssetsChanged(docId);
|
||||
}
|
||||
} catch (e) {
|
||||
console.error("恢复图片资源失败", e);
|
||||
}
|
||||
} catch (e) {
|
||||
console.error("恢复图片资源失败", e);
|
||||
}
|
||||
};
|
||||
},
|
||||
[docId],
|
||||
);
|
||||
const imgToolbarRef = useRef<HTMLDivElement | null>(null);
|
||||
const [imgToolbarState, setImgToolbarState] = useState({
|
||||
show: false,
|
||||
@@ -2414,7 +2420,7 @@ const MindmapBlockView = ({
|
||||
mindmap.off?.("back_forward", handleDataChange);
|
||||
mindmap.off?.("node_data_change", handleDataChange);
|
||||
};
|
||||
}, [mindmap, docId]);
|
||||
}, [deleteImageAssets, docId, mindmap, restoreImageAssets]);
|
||||
|
||||
// 悬浮图片位置工具条(参考 NodeImgPlacementToolbar.vue)
|
||||
const renderImgToolbar = () => {
|
||||
|
||||
Reference in New Issue
Block a user