服务端媒体源导入/保存/客户端输出链路修复:支持 snake/camel、subcategories/sources,默认客户端可见,保存后发布兼容 media-types.json。
build-winui / winui (push) Waiting to run

新增数据库同步 Job API、持久化状态、实时输出、最新任务恢复,以及系统日志聚合接口。
管理端优化:日志中心、运维实时状态框、同步输出自动滚动、仪表盘“输出”列、真实延迟空态、本地 favicon/avatar。
新增 server/unified-management/assets/favicon.ico 和 developer-avatar.png,并接好 /favicon.ico、/admin/favicon.ico、/setup/favicon.ico、/assets/*。
WinUI 随机放映室卡片优先显示子接口原始 Description。
Inno 安装器输出框改为选区末尾 + SendMessage 滚动到底部。
This commit is contained in:
QWQLwToo
2026-06-29 22:28:58 +08:00
parent f00124c1c0
commit 7745e7a2d4
36 changed files with 1482 additions and 153 deletions
+56 -11
View File
@@ -20,17 +20,20 @@ type adminRow struct {
}
type DatabaseStatus struct {
ActiveProvider string `json:"activeProvider"`
ConfigProvider string `json:"configProvider"`
SchemaVersion string `json:"schemaVersion"`
SQLiteReady bool `json:"sqliteReady"`
RemoteReady bool `json:"remoteReady"`
FailoverActive bool `json:"failoverActive"`
LastError string `json:"lastError"`
LastFailoverAt string `json:"lastFailoverAt"`
LastRecoveredAt string `json:"lastRecoveredAt"`
LastSyncAt string `json:"lastSyncAt"`
LastSyncError string `json:"lastSyncError"`
ActiveProvider string `json:"activeProvider"`
ConfigProvider string `json:"configProvider"`
SchemaVersion string `json:"schemaVersion"`
SQLiteReady bool `json:"sqliteReady"`
RemoteReady bool `json:"remoteReady"`
FailoverActive bool `json:"failoverActive"`
LastError string `json:"lastError"`
LastFailoverAt string `json:"lastFailoverAt"`
LastRecoveredAt string `json:"lastRecoveredAt"`
LastSyncAt string `json:"lastSyncAt"`
LastSyncError string `json:"lastSyncError"`
LastHealthCheckedAt string `json:"lastHealthCheckedAt"`
LastHealthStatus string `json:"lastHealthStatus"`
CurrentSyncJob *DatabaseSyncJob `json:"currentSyncJob,omitempty"`
}
type SyncResult struct {
@@ -38,10 +41,25 @@ type SyncResult struct {
Status string `json:"status"`
Skipped bool `json:"skipped"`
Warnings []string `json:"warnings,omitempty"`
Errors []string `json:"errors,omitempty"`
Output []string `json:"output,omitempty"`
StartedAt string `json:"startedAt,omitempty"`
Tables map[string]int `json:"tables"`
FinishedAt string `json:"finishedAt"`
}
type DatabaseSyncJob struct {
ID int64 `json:"id"`
Direction string `json:"direction"`
Status string `json:"status"`
Output []string `json:"output"`
Warnings []string `json:"warnings"`
Errors []string `json:"errors"`
Tables map[string]int `json:"tables"`
StartedAt string `json:"startedAt"`
FinishedAt string `json:"finishedAt"`
}
type AdminUser struct {
ID int64 `json:"id"`
Username string `json:"username"`
@@ -246,6 +264,8 @@ type Source struct {
ConsecutiveFailure int `json:"consecutiveFailure"`
CreatedAt string `json:"createdAt"`
UpdatedAt string `json:"updatedAt"`
EnabledSet bool `json:"-"`
ClientVisibleSet bool `json:"-"`
}
type SourceCheck struct {
@@ -301,3 +321,28 @@ type LegacyJsonRevision struct {
CreatedBy string `json:"createdBy"`
CreatedAt string `json:"createdAt"`
}
type SystemLogItem struct {
ID int64 `json:"id"`
Category string `json:"category"`
Type string `json:"type"`
Target string `json:"target"`
Status string `json:"status"`
Message string `json:"message"`
Detail string `json:"detail"`
CreatedAt string `json:"createdAt"`
}
type SystemLogPage struct {
Items []SystemLogItem `json:"items"`
Total int `json:"total"`
Page int `json:"page"`
PerPage int `json:"perPage"`
}
type SystemLogFilters struct {
Page int
PerPage int
Category string
Query string
}