fix: 素材库新建自动获取/创建默认项目以提供 project_id #94
Reference in New Issue
Block a user
Delete Branch "fix/asset-library-project-id"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
问题
P0:新建素材库点击确定无响应。
根因
后端
POST /api/v1/asset-libraries要求project_id(必填),但前端只发送{ name, kind },导致 422 Unprocessable Entity。修复
api/projects.ts— 项目 API 模块,含getOrCreateDefaultProject()辅助函数createAssetLibrary— 自动获取或创建默认项目,将project_id加入请求体变更文件
apps/web/src/api/projects.ts(新增)apps/web/src/api/assets.ts(修改createAssetLibrary)测试
🤖 Generated with Claude Code
代码审计结果:❌ 不通过(1 个 P0)
P0 —
getProjects响应解析错误apps/web/src/api/projects.ts第 35-37 行:后端
GET /api/v1/projects返回{ items: [...] }(ListProjectsResponse),不是数组。对对象调用.map()会抛 TypeError,导致createAssetLibrary整体失败。修复:
与
getAssetLibraries中正确写法一致:return response.data.items || [];P2 — 无错误处理(可后续优化)
修复 P0 后请通知代码审计复审。