feat(*): 短剧创作工作台 - 完善章节分镜、资产管理、技能运行与生成任务恢复

This commit is contained in:
ddCat
2026-08-29 23:34:46 +08:00
parent 4f07daae9e
commit 2f6832f99c
113 changed files with 7016 additions and 723 deletions

View File

@@ -1,6 +1,19 @@
package model
import "time"
import (
"html"
"regexp"
"strings"
"time"
"unicode/utf8"
)
var projectUnitHTMLTagPattern = regexp.MustCompile(`<[^>]+>`)
func ProjectUnitWordCount(sourceText string) int {
plainText := projectUnitHTMLTagPattern.ReplaceAllString(sourceText, "")
return utf8.RuneCountInString(strings.TrimSpace(html.UnescapeString(plainText)))
}
const AssetIDMaxLength = 80
@@ -164,6 +177,7 @@ type Project struct {
AspectRatio string `json:"aspectRatio" gorm:"size:16"`
SourceType string `json:"sourceType" gorm:"size:32"`
Description string `json:"description" gorm:"type:text"`
CoverResourceID string `json:"coverResourceId,omitempty" gorm:"index;size:36"`
StylePresetID string `json:"stylePresetId" gorm:"size:64"`
StyleProfileJSON string `json:"styleProfileJson" gorm:"type:text"`
Status ProjectStatus `json:"status" gorm:"index;size:24"`
@@ -195,6 +209,7 @@ type ProjectUnit struct {
Kind ProjectUnitKind `json:"kind" gorm:"index;size:24"`
Title string `json:"title" gorm:"size:240"`
SourceText string `json:"sourceText" gorm:"type:text"`
WordCount int `json:"wordCount"`
Status ProjectUnitStatus `json:"status" gorm:"index;size:24"`
Position int `json:"position"`
CreatedAt time.Time `json:"createdAt"`