mirror of
https://gitee.com/ulthon/ulthon_information.git
synced 2026-07-01 16:22:49 +08:00
feat(phoneimage): 三列布局重构 - 添加渲染预览区并改造渲染管线
- 增加中间渲染预览列(540px),三列布局:编辑器 | 预览 | 缩略图 - CSS作用域迁移:排版样式从#editor-text-area迁移到#render-preview - 编辑器恢复干净默认样式,消除表格/图片间隙和溢出问题 - 新增syncPreview()实时同步编辑器内容到预览区(300ms防抖) - captureEditorBlocks()改为从预览区DOM测高,不再克隆编辑器DOM - render()改为从预览区读取已预处理HTML,所见即所得
This commit is contained in:
@@ -70,6 +70,31 @@
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.render-preview-area {
|
||||
width: 540px;
|
||||
overflow-y: auto;
|
||||
border-right: 1px solid #e8e8e8;
|
||||
background: #fff;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.render-preview-area .preview-header {
|
||||
padding: 8px 15px;
|
||||
background: #fafafa;
|
||||
border-bottom: 1px solid #e8e8e8;
|
||||
font-size: 13px;
|
||||
color: #999;
|
||||
position: sticky;
|
||||
top: 0;
|
||||
z-index: 5;
|
||||
}
|
||||
|
||||
#render-preview {
|
||||
min-height: 300px;
|
||||
padding: 10px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.paginated-preview-area {
|
||||
flex: 1;
|
||||
overflow-x: auto;
|
||||
@@ -137,6 +162,12 @@
|
||||
<div id="editor-text-area"></div>
|
||||
</div>
|
||||
|
||||
<!-- 中间:渲染预览区 -->
|
||||
<div class="render-preview-area">
|
||||
<div class="preview-header">渲染预览</div>
|
||||
<div id="render-preview"></div>
|
||||
</div>
|
||||
|
||||
<!-- 右侧:分页排版预览 -->
|
||||
<div class="paginated-preview-area">
|
||||
<div id="paginated-preview" class="preview-thumbnails"></div>
|
||||
@@ -214,6 +245,12 @@
|
||||
autoSaveTimer = setTimeout(function () {
|
||||
doAutoSave();
|
||||
}, 2600);
|
||||
|
||||
// 预览同步:300ms 防抖(独立于自动保存)
|
||||
clearTimeout(window._previewSyncTimer);
|
||||
window._previewSyncTimer = setTimeout(function () {
|
||||
PhoneImageEngine.syncPreview();
|
||||
}, 300);
|
||||
};
|
||||
|
||||
// 粘贴处理:处理外部图片下载
|
||||
@@ -289,6 +326,9 @@
|
||||
|
||||
PhoneImageEngine.init(postData, initConfig);
|
||||
|
||||
// 初始同步预览区
|
||||
PhoneImageEngine.syncPreview();
|
||||
|
||||
// ========== 设置弹框 ==========
|
||||
$('#btn-settings').click(function () {
|
||||
var settingsHtml = '<div class="settings-form" style="padding:20px 20px 0;">';
|
||||
|
||||
Reference in New Issue
Block a user