package models import "go.mongodb.org/mongo-driver/v2/bson" // Site 站点 type Site struct { ID bson.ObjectID `bson:"_id,omitempty" json:"id"` Name string `bson:"name" json:"name"` Domain string `bson:"domain" json:"domain"` Description string `bson:"description,omitempty" json:"description,omitempty"` CreatedAt string `bson:"created_at" json:"created_at"` } // Page 网页(属于某站点) type Page struct { ID bson.ObjectID `bson:"_id,omitempty" json:"id"` SiteID string `bson:"site_id" json:"site_id"` Slug string `bson:"slug" json:"slug"` // index, about, ... Title string `bson:"title" json:"title"` Type string `bson:"type" json:"type"` // homepage, page Content string `bson:"content" json:"content"` // HTML 或 JSON 字符串 UpdatedAt string `bson:"updated_at" json:"updated_at"` } // HomepageData 首页可编辑数据(与 yuheng-download-space 对应) type HomepageData struct { LogoText string `json:"logo_text"` // YUHENG ONE NavLinks []NavLink `json:"nav_links"` // MISSION, DOWNLOAD, CONTACT Title string `json:"title"` // 宇恒一号 Subtitle string `json:"subtitle"` // INTERSTELLAR EXPLORER EDITION Description string `json:"description"` // 跨越星际的智能伙伴... DownloadText string `json:"download_text"` // START EXPLORING DownloadURL string `json:"download_url"` // # Platforms []PlatformItem `json:"platforms"` // Windows, macOS, ... Version string `json:"version"` // VERSION 3.2.1 LaunchYear string `json:"launch_year"` // LAUNCH: 2024 BadgeText string `json:"badge_text"` // FREE ACCESS Features []FeatureItem `json:"features"` // 星际导航等 FooterText string `json:"footer_text"` // © 2024 YUHENG ONE } type NavLink struct { Label string `json:"label"` URL string `json:"url"` } type PlatformItem struct { Name string `json:"name"` // WINDOWS, MACOS, ... URL string `json:"url"` } type FeatureItem struct { Title string `json:"title"` Desc string `json:"desc"` } // SiteAsset 站点功能模块/上传文件 type SiteAsset struct { ID bson.ObjectID `bson:"_id,omitempty" json:"id"` SiteID string `bson:"site_id" json:"site_id"` Name string `bson:"name" json:"name"` FilePath string `bson:"file_path" json:"file_path"` // 相对路径 Size int64 `bson:"size" json:"size"` ContentType string `bson:"content_type" json:"content_type"` CreatedAt string `bson:"created_at" json:"created_at"` }