Skip to content

新增画布导入功能 - #145

Open
lamgience wants to merge 1 commit into
hero8152:mainfrom
lamgience:feature/canvas-import
Open

新增画布导入功能#145
lamgience wants to merge 1 commit into
hero8152:mainfrom
lamgience:feature/canvas-import

Conversation

@lamgience

Copy link
Copy Markdown

说明

这个提交为画布列表页增加独立的画布导入能力,方便用户把已有画布文件恢复到当前项目中。

功能

  • 在画布列表页顶部增加“导入画布”按钮,支持选择 .json / .zip 文件。
  • 支持把 .json / .zip 文件拖拽到画布列表区域导入。
  • 新增 /api/canvases/import 后端接口,导入时生成新的画布 ID,不覆盖已有画布。
  • zip 导入会读取 canvas.jsonresources-manifest.json,并恢复资源引用。
  • 导入资源时按文件名、大小和 SHA-256 哈希复用已存在资源,减少重复写入。
  • 导入后的画布会放置到当前项目视图附近的空白位置。
  • 增加导入进度、成功/失败状态提示,以及 README 使用说明。

修改范围

  • main.py
  • static/canvas-list.html
  • static/css/canvas-list.css
  • static/js/canvas-list.js
  • README.md

验证

  • python -m py_compile main.py
  • node --check static/js/canvas-list.js
  • git diff --check

新增画布导入能力:

- 在画布列表页顶部增加导入按钮,支持选择 .json / .zip 文件。
- 支持将 .json / .zip 文件拖拽到画布列表区域导入。
- 新增 /api/canvases/import 后端接口,导入时生成新的画布 ID,避免覆盖已有画布。
- zip 导入会读取 canvas.json 和 resources-manifest.json,恢复资源引用。
- 资源导入时按文件名、大小和 SHA-256 哈希复用已存在资源,减少重复写入。
- 导入后的画布会放置到当前项目视图附近的空白位置。
- 增加导入进度、成功/失败状态提示,以及 README 使用说明。

验证:

- python -m py_compile main.py
- node --check static/js/canvas-list.js
- git diff --check
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant