Files
cms-SiteForge/README_V8_32.md
T
浅念 95982fad23 upgrade: adopt V8.32.0-dev.1 (theme preview iframe fix, editor simple mode)
Overlay 46 upstream items; full patch set re-applied (all patched files
reset by overlay regardless of upstream change status — lesson recorded).
Verified: theme suites 35/35; dual-baseline 418 passed vs pristine
389+29 ours, FAILED-set diff EMPTY (same 10 Windows env fails).
Live: container 8.32.0-dev.1 healthy, hesupipe 192 entries intact,
trade-pro build 203 pages 0 errors.

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-10-26 11:18:45 +08:00

4.0 KiB
Raw Blame History

SiteForge Enterprise V8.32.0-dev.1

本版定位

在 V8.31.1 完整源码基础上,修复后台主题预览空白,并让页面编辑器对非技术使用者更加直观。保留四套主题、历史版本、公共组件、迁移、SEO、审批、Worker 构建等既有功能。

一、主题预览故障与修复

根因: 后端此前对所有非编辑器页面统一返回 X-Frame-Options: DENY,但主题图库和编辑器弹窗使用 iframe 展示 /api/factory/themes/<id>/preview。接口即使返回 HTTP 200,浏览器仍可能拒绝展示。

修复机制:

  • 只对匹配 ^/api/factory/themes/[A-Za-z0-9_-]+/preview$ 的只读预览页面返回 X-Frame-Options: SAMEORIGIN,并限定 Content-Security-Policy: frame-ancestors 'self'。其他后台页面仍保留 DENY。
  • 编辑器弹窗采用接口响应的 srcdoc 展示:iframe 继续使用 sandbox="allow-scripts",不允许 allow-same-origin,所以主题脚本无法读取编辑器页面的 DOM 或会话;同时减少重复获取完整 HTML。
  • 主题图库按主题和页面加载,并先检查 HTTP 状态;失败时显示错误码、重试按钮及“单独打开预览”。提供每张主题卡片直达其预览的入口 ?theme=automotive 等。
  • 展示预览不改变主题版本锁定,也不保存、发布网站。

二、可视化编辑器易用性

  • 默认仅显示 内容 属性;复杂的样式与平板/手机设置通过“更多设计设置”展开,随时可收回。
  • 顶部动态提示当前最应该做的动作:选区块、添加内容、编辑区块或保存草稿。
  • 图片型组件在内容编辑区直接支持“从图片素材库选择”与“上传新图片”,包含内层已选中的图片组件。
  • 小屏增加“关闭”编辑面板按钮,并验证 390px 下可操作且无横向溢出。
  • 维持保存草稿与发布设计的区别:保存/发布设计不会直接部署线上站点,上线仍需构建和部署。

三、普通使用者操作指南

  1. 登录后台,进入网站工作台的 外观与设计,在主题卡片点击 预览页面效果。亦可访问 /theme-gallery。
  2. 选择主题、页面类型、电脑/平板/手机进行比较。需要看交互功能时在完整图库中操作。
  3. 确定后回到工作台选择 使用此主题。预览本身不会应用主题。
  4. 进入 编辑页面;点击中间画布或左侧区块,在右侧改文字与图片。
  5. 更多排版参数点击 更多设计设置;完成后点击 保存草稿,核对后再 发布设计。
  6. 之后到构建/交付中心构建静态网站,完成审批及正式部署。

四、验证与已知限制

  • 400 项 Python 测试:18 个独立隔离批次覆盖全部 53 个模块;批次 15 初次因新增按钮文案断言未同步而失败,修正后 17 项重新通过;原始日志保留。
  • 39 项历史 JavaScript 测试通过;全静态脚本 node --check 及版本检查通过。
  • HTTP + Worker 路径:登录/CSRF → 创建站点和页面 → Worker 构建 → ZIP 下载 → 预览,通过。
  • Chromium 隔离交互:简洁/高级切换、主题弹窗成功/失败、390px 小屏、面板关闭和主题图库错误重试,通过,JS 错误 0。
  • 不能宣称生产上线验收完成: 当前 Chromium 运行环境无法直接访问本地 HTTP 后台地址(策略拦截),浏览器测试使用真实页面脚本配模拟接口。正式生产环境还需验证登录态、反向代理安全响应头、Art Design Pro 官方工程编译、真实 PostgreSQL/Redis 与发布回滚。

五、验收命令

python -m pytest -q tests/test_v832_preview_easy_editor.py
python -m pytest -q tests/test_theme_pro_v3.py tests/test_professional_ui_v811.py
node --test tests_js/*.test.cjs
python scripts/http_end_to_end.py
python scripts/browser_v832_editor.py
python scripts/browser_v832_gallery.py
python scripts/verify_release.py

验收记录、截图、单批次复测及安全说明位于 reports/v832/。