feat(canvas): 画布工作区 - 整合侧栏与风格预设并修复提示词回填
选择性整合 #547,保留主分支节点与工具条设计。新增默认折叠的节点、资产、任务和历史面板,风格与预设保留在节点内,移除重复入口。 补齐工具权限、提示词解析、资源引用保护及数据库迁移,修复提示词清空和连续编辑后的生成配置同步。 验证:前端全量 1925 项测试、构建、类型检查及 lint 通过;后端 go test ./... 通过。真实模型、PostgreSQL 实库与登录态页面验收仍待进行。 Refs #547 Co-authored-by: bensharp <bensharp@qq.com>
This commit is contained in:
1 parent
0ea9f7d94b
commit
9148ceab66
66 files changed
+6127
-97
No files matched your search
@@ -1,7 +1,9 @@
|
||||
package repository
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"slices"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
@@ -100,6 +102,23 @@ func (r *Repository) ResourceReferenceSnapshot(userID string, excludingAssetID s
|
||||
snapshot.Direct = append(snapshot.Direct, ResourceDirectReference{Kind: "Agent 待执行引用", ID: lease.OwnerID, Title: "已准备的生成输入", ResourceID: lease.ResourceID})
|
||||
}
|
||||
|
||||
var toolRecords []model.Tool
|
||||
if err := r.db.Where("owner_id = ?", userID).Find(&toolRecords).Error; err != nil {
|
||||
return snapshot, err
|
||||
}
|
||||
for _, tool := range toolRecords {
|
||||
var extra []string
|
||||
if tool.ExtraInfoJSON != "" {
|
||||
if err := json.Unmarshal([]byte(tool.ExtraInfoJSON), &extra); err != nil {
|
||||
return snapshot, err
|
||||
}
|
||||
}
|
||||
payload, err := json.Marshal(map[string]any{"coverUrl": tool.Cover, "url": tool.MediaURL, "referenceUrls": extra})
|
||||
if err != nil {
|
||||
return snapshot, err
|
||||
}
|
||||
snapshot.Documents = append(snapshot.Documents, ResourceReferenceDocument{Kind: "工具", ID: strconv.FormatInt(tool.ID, 10), Title: tool.Label, PrimaryJSON: string(payload)})
|
||||
}
|
||||
var assets []model.Asset
|
||||
assetQuery := r.db.Where("user_id = ? AND id <> ?", userID, excludingAssetID)
|
||||
if err := assetQuery.Find(&assets).Error; err != nil {
|
||||
|
||||
Reference in new issue
Block a user