feat: 完善版本管理功能
后端改进: - 新增版本发布状态管理 (draft/published/deprecated/superseded) - 新增发布/废弃/回滚 API 接口 - 新增增量包生成功能 (仅包含差异文件) - 新增删除版本时的依赖检查 - 数据库字段: publish_status, superseded_by, delta_package_* 前端改进: - 版本列表新增发布状态列和增量包大小列 - 新增发布/废弃/回滚操作按钮 - 新增增量包下载功能 - 更新国际化翻译 修复: - 修复 announcements 页面 typeOptions 未定义问题 - 修复 echarts 模块导入类型问题 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -234,17 +234,24 @@ type Version struct {
|
||||
FullPackagePath string `gorm:"size:255" json:"full_package_path"`
|
||||
FullPackageSize int64 `json:"full_package_size"`
|
||||
FullPackageHash string `gorm:"size:64" json:"full_package_hash"`
|
||||
DeltaPackagePath string `gorm:"size:255" json:"delta_package_path"`
|
||||
DeltaPackageSize int64 `json:"delta_package_size"`
|
||||
DeltaPackageHash string `gorm:"size:64" json:"delta_package_hash"`
|
||||
Description string `gorm:"type:text" json:"description"`
|
||||
Changelog string `gorm:"type:text" json:"changelog"`
|
||||
Status string `gorm:"size:20;default:active" json:"status"`
|
||||
PublishStatus string `gorm:"size:20;default:draft;index" json:"publish_status"` // draft, published, deprecated, superseded
|
||||
SupersededBy *uint `json:"superseded_by"`
|
||||
PublishedAt *time.Time `json:"published_at"`
|
||||
DeprecatedAt *time.Time `json:"deprecated_at"`
|
||||
BaseVersionID *uint `json:"base_version_id"`
|
||||
CreatedAt time.Time `json:"created_at"`
|
||||
UpdatedAt time.Time `json:"updated_at"`
|
||||
DeletedAt gorm.DeletedAt `gorm:"index" json:"-"`
|
||||
|
||||
Application Application `gorm:"foreignKey:ApplicationID" json:"application,omitempty"`
|
||||
Files []VersionFile `gorm:"foreignKey:VersionID" json:"files,omitempty"`
|
||||
BaseVersion *Version `gorm:"foreignKey:BaseVersionID" json:"base_version,omitempty"`
|
||||
Application Application `gorm:"foreignKey:ApplicationID" json:"application,omitempty"`
|
||||
Files []VersionFile `gorm:"foreignKey:VersionID" json:"files,omitempty"`
|
||||
BaseVersion *Version `gorm:"foreignKey:BaseVersionID" json:"base_version,omitempty"`
|
||||
Superseder *Version `gorm:"foreignKey:SupersededBy" json:"superseder,omitempty"`
|
||||
}
|
||||
|
||||
// VersionFile 版本文件模型
|
||||
|
||||
Reference in New Issue
Block a user