upgrade: adopt V8.21.3 (V8.13→8.21.3: P5 SFTP/S3, P6 multilingual, editor overhaul, enterprise hardening)
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>
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
# 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 与真实发布环境验收。
|
||||
|
||||
## 四、运行方法
|
||||
|
||||
```bash
|
||||
# 运行原 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。
|
||||
|
||||
## 五、仍需产品验收的体验问题
|
||||
|
||||
1. 真实 PC/移动端浏览器中验证侧栏展开、点击画布选中、键盘和焦点移动。
|
||||
2. 对复杂 `layout` 嵌套子组件实现更细的画布选中与属性编辑(当前点击子组件会定位其父布局区块)。
|
||||
3. 对图片上传和媒体选择增加直观的缩略图与拖拽;当前仍沿用旧媒体库交互。
|
||||
4. 组织非技术同事完成一次创建区块→修改→保存→发布的实操测试,依据其反馈再做收敛。
|
||||
5. 后续将本版业务页面真正装入 Art Design Pro 官方工程并执行 `pnpm build` 与浏览器集成。
|
||||
Reference in New Issue
Block a user