package models import "time" // UserScenario 用户自建情景。 type UserScenario struct { ID string `json:"id"` UserID string `json:"user_id"` Name string `json:"name"` Icon string `json:"icon"` Description string `json:"description"` Prompt string `json:"prompt"` Greeting string `json:"greeting,omitempty"` Language string `json:"language"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } // CreateUserScenarioRequest 创建用户情景请求。 type CreateUserScenarioRequest struct { Name string `json:"name" binding:"required,min=2,max=50"` Icon string `json:"icon,omitempty"` Description string `json:"description,omitempty" binding:"omitempty,max=100"` Prompt string `json:"prompt" binding:"required,min=10,max=2000"` Greeting string `json:"greeting,omitempty" binding:"omitempty,max=500"` Language string `json:"language,omitempty"` } // UpdateUserScenarioRequest 更新用户情景请求。 type UpdateUserScenarioRequest struct { Name *string `json:"name,omitempty" binding:"omitempty,min=2,max=50"` Icon *string `json:"icon,omitempty"` Description *string `json:"description,omitempty" binding:"omitempty,max=100"` Prompt *string `json:"prompt,omitempty" binding:"omitempty,min=10,max=2000"` Greeting *string `json:"greeting,omitempty" binding:"omitempty,max=500"` Language *string `json:"language,omitempty"` } // UserScenarioListResponse 用户情景列表响应。 type UserScenarioListResponse struct { Scenarios []*UserScenario `json:"scenarios"` Total int `json:"total"` }