perf(*): 创作工作台 - 优化首页按需加载与画布交互并修复历史迁移冲突

This commit is contained in:
ddCat
2026-09-05 13:24:10 +08:00
parent 165b4443ab
commit 58f01d1eb6
107 changed files with 3025 additions and 1089 deletions

View File

@@ -17,6 +17,27 @@ import (
)
func RegisterUserDataRoutes(r *gin.RouterGroup, svc *service.Service) {
r.POST("/assets/batch", func(c *gin.Context) {
user, err := currentUser(c, svc)
if err != nil {
failService(c, err)
return
}
c.Request.Body = http.MaxBytesReader(c.Writer, c.Request.Body, 16<<10)
var req struct {
IDs []string `json:"ids"`
}
if err := c.ShouldBindJSON(&req); err != nil {
fail(c, http.StatusBadRequest, err)
return
}
assets, err := svc.UserAssetsByIDs(user.ID, req.IDs)
if err != nil {
failService(c, err)
return
}
ok(c, gin.H{"assets": assets})
})
r.GET("/settings/prompt-templates", func(c *gin.Context) {
user, err := currentUser(c, svc)
if err != nil {
@@ -571,6 +592,17 @@ func RegisterUserDataRoutes(r *gin.RouterGroup, svc *service.Service) {
failService(c, err)
return
}
if c.Query("page") != "" {
page, _ := strconv.Atoi(c.Query("page"))
pageSize, _ := strconv.Atoi(c.Query("page_size"))
result, pageErr := svc.UserCanvasProjectsPage(user.ID, page, pageSize, c.Query("project_id"), c.Query("q"), c.Query("sort"))
if pageErr != nil {
failService(c, pageErr)
return
}
ok(c, result)
return
}
projects, err := svc.UserCanvasProjectSummaries(user.ID)
if err != nil {
failService(c, err)