You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1.1 KiB
1.1 KiB
删除剧本时同步删除关联子项目
日期: 2026-02-08
类型: 功能增强
变更说明
在剧本目录中删除剧本时,现已同时将关联的子项目移至回收站。
背景
根据子项目架构(RFC 141),一个剧本对应一个子项目。删除剧本后,原先仅清空子项目的 screenplay_id 关联,子项目仍保留在侧边栏,造成数据不一致。
实现
后端 (screenplay_service.py)
- 变更前:删除剧本后,将子项目的
screenplay_id置为None - 变更后:删除剧本后,调用
project_repo.move_to_trash()将关联子项目移至回收站 - 条件:仅当
screenplay.project_id指向的项目为子项目(parent_project_id非空)且screenplay_id匹配时执行
前端 (useScreenplays.ts)
- 删除剧本成功后,增加
projectKeys.lists()和folderKeys.trees()的缓存失效,确保项目列表与文件夹树刷新,子项目从侧边栏消失
影响范围
server/app/services/screenplay_service.py-delete_screenplayclient/src/hooks/api/useScreenplays.ts-useDeleteScreenplay的onSuccess