601451f22b
Overlay ~150 upstream items onto our V8.12 base, preserving trade-pro
theme, registry tests, and design docs. Re-applied our patch set
(discovery/env_for/blocks.css/type-mapping/theme_color/frontend entries,
test_theme_pro_v3 mods) — all anchors survived upstream evolution.
New platform enhancement (fixes upgrade-introduced regression):
multilingual.site_locale now honors settings_json.locale, plus
PUT /api/i18n/sites/{id}/locale — standalone English sites get
<html lang='en'> under the V8.15 locale-rewrite pipeline.
compose: adopt V8.21.3 (image 8.21.3-dev.1, /api/ready probes, MySQL/S3
env) with project name pinned to siteforge-v8-10 (data volumes).
Tests: 356 passed / 11 failed — all 11 confirmed pre-existing in
pristine V8.21.3 on this host (10 upstream Windows env + our build test
now green after locale fix). Patch registry updated in plan doc.
Co-Authored-By: Claude Code <noreply@anthropic.com>
4.6 KiB
4.6 KiB
SiteForge V8.21.2 — 新手友好可视化编辑器
基于 V8.21.1 完整源码的易用性专项迭代。交付性质:开发集成版,未改动正式生产数据和已有网站区块 JSON 模型。
一、面向使用者的新操作流程
1. 选择内容:左侧选择正在编辑的页面;点击一个已有内容区块,或点击醒目的「+ 添加内容区块」。区块库在不使用时自动折叠,左侧结构支持搜索和排序。
2. 修改内容:右侧默认展示内容字段;只有需要时才点击「样式」或「手机/平板」。支持在中间预览区直接单击一个带有 data-block 的区块,自动定位到右侧属性面板;原有双击文字编辑继续保留。
3. 保存与发布:右上角固定显示「保存草稿」「发布设计」。保存草稿使用原有 CSRF 与 expected_revision 乐观锁,不会自动改变正式构建;发布设计更新内容库,网站仍需完成后续静态构建与正式部署。版本历史、全站设置、构建等较少使用的操作集中在「更多」。
页眉下方新增 3 步提示,以及自愿打开的「新手使用指南」对话框,避免强制遮挡使用者。
二、实现改动
| 文件 | 说明 |
|---|---|
app/templates/editor.html |
重排顶部主操作、三级简洁步骤、左侧页面/内容优先、结构化侧栏、帮助对话框;修复旧版更多菜单标记不清晰问题 |
app/static/editor.css |
桌面/平板/手机布局、表单可读性、强调主操作、低频内容折叠、表单列表样式 |
app/static/editor.js |
区块库显隐、步骤反馈、选择后定位属性面板、逐项编辑重复内容、预览点击区块的父页面消息处理 |
app/main.py |
对编辑器预览中的 [data-block] 添加点击选择的桥接消息,并保持 sandbox="allow-scripts"(不启用同源权限) |
tests/test_editor_easy_v8212.py |
布局唯一 ID、主操作位置、预览消息限制、后端兼容性等静态检查 |
examples/Studio_V8_21_2_新手友好版交互预览.html |
离线、模拟数据的可操作示例;不写入任何真实站点 |
对非技术人员的重大改善
features核心优势、stats数字指标、faq常见问题、gallery图片画廊、carousel轮播、tabs标签页、pricing服务方案:从 JSON 数组文本框改为「第 N 项 / 普通输入框 / 添加 / 删除 / 上下移动」。- 原有项目后台接口、页面数据结构、草稿快照及发布审批流程保持兼容;列表编辑只是前端输入方式改变。
- 中间预览可点击区块实现选中;安全边界在父窗口同时检查
event.source === frame.contentWindow与真实已加载 block ID。
三、当前测试记录
- 编辑器/设计器相关 pytest:28 项通过。
- 内容历史、核心业务、旧版流程 pytest:30 项通过。
- Node.js 编辑器工具函数:6 项通过。
- Python 源码编译和
editor.js语法检查通过;离线示例 JS 通过 Node.js 语法检查。 python scripts/http_end_to_end.py:通过 HTTP/CSRF/建站/Worker 构建/ZIP/预览。- 未执行全项目一次性回归;既有版本的回归执行器有过偶发进程停滞,需在隔离 CI 上再做全量测试。
- 未完成完整 Chromium PC/移动端操作验收:本运行环境的 Chromium 截图启动超时,故不能宣称浏览器 E2E 通过。
- 未完成官方 Art Design Pro 全工程编译、生产 PostgreSQL/Redis 与真实发布环境验收。
四、运行方法
# 运行原 SiteForge 后端(环境配置保持原项目方式)
# 编辑器入口:/editor/{site_id}/{entry_id}
python -m pytest -q tests/test_editor_easy_v8212.py tests/test_editor_ux_v8211.py tests/test_studio_v86.py tests/test_site_design_v87.py
node --test tests_js/editor_ux.test.cjs
python scripts/http_end_to_end.py
离线预览可直接双击 examples/Studio_V8_21_2_新手友好版交互预览.html。演示中的保存/发布仅改变页面临时示例状态,不会调用任何线上 API。
五、仍需产品验收的体验问题
- 真实 PC/移动端浏览器中验证侧栏展开、点击画布选中、键盘和焦点移动。
- 对复杂
layout嵌套子组件实现更细的画布选中与属性编辑(当前点击子组件会定位其父布局区块)。 - 对图片上传和媒体选择增加直观的缩略图与拖拽;当前仍沿用旧媒体库交互。
- 组织非技术同事完成一次创建区块→修改→保存→发布的实操测试,依据其反馈再做收敛。
- 后续将本版业务页面真正装入 Art Design Pro 官方工程并执行
pnpm build与浏览器集成。