Skip to content

数据模型 ​

API 请求和响应中使用的数据结构定义。

模型索引 ​

模型说明
database.LibraryStats包含 9 个字段
audioTracksResponse包含 1 个字段
AutoScanSetting包含 2 个字段
dirValidateRequest包含 1 个字段
dirValidateResponse包含 5 个字段
equalizerSetting包含 3 个字段
FingerprintStatus包含 6 个字段
githubDiscoveryTokenSetting包含 1 个字段
githubProxySetting包含 1 个字段
hlsProxySettingRequest包含 1 个字段
httpProxySetting包含 1 个字段
jsPluginBatchUpdateResponse包含 6 个字段
jsPluginBatchUpdateResult包含 8 个字段
jsPluginUploadResponse包含 5 个字段
jsPluginUploadResult包含 4 个字段
libraryBrowseSetting包含 1 个字段
libraryBrowseView包含 2 个字段
logLevelSettingRequest包含 1 个字段
MusicPathSetting包含 4 个字段
pluginAutoUpdateSetting包含 1 个字段
pluginHealthResponse包含 1 个字段
pluginKeepAliveSetting包含 1 个字段
pluginOrderSetting包含 1 个字段
pluginRegistriesSetting包含 1 个字段
pluginTabEntry包含 3 个字段
proxyAllowlistSettingRequest包含 1 个字段
registryInstallRequest包含 5 个字段
registryPluginEntry包含 16 个字段
registryRefreshRequest包含 8 个字段
registryRefreshResponse包含 5 个字段
remoteTitleSourceRequest包含 1 个字段
scanAutoCreatePlaylistsRequest包含 1 个字段
scanAutoFingerprintRequest包含 1 个字段
scanPlaylistModeRequest包含 1 个字段
scanPlaylistModeResponse包含 1 个字段
ScanRequest包含 2 个字段
scanTitleSourceRequest包含 1 个字段
songArtistsRequest包含 1 个字段
songArtistsResponse包含 1 个字段
startFingerprintRequest包含 2 个字段
tabConfigSetting包含 3 个字段
trackItem包含 4 个字段
userPreferencesSetting包含 6 个字段
volumeNormalizeRequest包含 2 个字段
WriteSongTagsRequest包含 13 个字段
JSPlugin包含 24 个字段
RegistryConfig包含 4 个字段
Artist包含 3 个字段
ArtistInput包含 3 个字段
BatchDeletePlaylistsRequest包含 2 个字段
BatchDeletePlaylistsResponse包含 2 个字段
BatchDeleteSongsRequest包含 2 个字段
BatchDeleteSongsResponse包含 1 个字段
Config包含 4 个字段
CreateConfigRequest包含 2 个字段
ErrorResponse包含 2 个字段
ImportResult包含 5 个字段
JSPluginStatusstring
LoginRequest包含 2 个字段
LoginResponse包含 4 个字段
PlayHistoryEntry包含 3 个字段
PlayHistoryListResponse包含 2 个字段
Playlist包含 13 个字段
RefreshTokenRequest包含 1 个字段
RevokeTokenRequest包含 1 个字段
SetPlaylistPinnedRequest包含 1 个字段
SetPlaylistVisibilityRequest包含 1 个字段
Song包含 35 个字段
SongArtist包含 3 个字段
SongTag包含 6 个字段
SuccessResponse包含 1 个字段
ThemePackColors包含 4 个字段
ThemePackData包含 13 个字段
UpdateConfigRequest包含 1 个字段
UpdatePlaylistRequest包含 5 个字段
UpgradeProgress包含 4 个字段
UploadedBinaryInfo包含 7 个字段
AudioTrackInfo包含 5 个字段
CacheConfig包含 4 个字段
CacheConfigResponse包含 5 个字段
CacheStats包含 3 个字段
FingerprintProgress包含 4 个字段
MetadataRefreshProgress包含 4 个字段
OrganizeItem包含 2 个字段
OrganizePreviewResult包含 5 个字段
OrganizeResult包含 4 个字段
RefreshResponse包含 4 个字段
ScanProgress包含 14 个字段
ScanStatusstring
ThemePackListItem包含 9 个字段
ThemePackResponse包含 10 个字段
HealthClassstring
Outcome包含 6 个字段
OutcomeResultstring
PluginHealthSnapshot包含 5 个字段

database.LibraryStats {#database-librarystats} ​

完整名称:database.LibraryStats

类型: object

字段类型必填说明
album_countinteger否
artist_countinteger否
genre_countinteger否
local_songsinteger否
radio_songsinteger否
remote_songsinteger否
total_durationnumber否
total_file_sizeinteger否
total_songsinteger否

audioTracksResponse {#handlers-audiotracksresponse} ​

完整名称:handlers.audioTracksResponse

类型: object

字段类型必填说明
tracksAudioTrackInfo[]否

AutoScanSetting {#handlers-autoscansetting} ​

完整名称:handlers.AutoScanSetting

类型: object

字段类型必填说明
enabledboolean否
interval_secondsinteger否

dirValidateRequest {#handlers-dirvalidaterequest} ​

完整名称:handlers.dirValidateRequest

类型: object

字段类型必填说明
pathstring否

dirValidateResponse {#handlers-dirvalidateresponse} ​

完整名称:handlers.dirValidateResponse

类型: object

字段类型必填说明
createdboolean否
errorstring否
free_sizeinteger否
total_sizeinteger否
validboolean否

equalizerSetting {#handlers-equalizersetting} ​

完整名称:handlers.equalizerSetting

类型: object

字段类型必填说明
bandsnumber[]否
enabledboolean否
presetstring否

FingerprintStatus {#handlers-fingerprintstatus} ​

完整名称:handlers.FingerprintStatus

类型: object

字段类型必填说明
auto_enabledboolean否AutoEnabled 扫描后是否自动计算指纹(config scan_auto_fingerprint)
chromaprint_availableboolean否ChromaprintAvailable ffmpeg 是否带 chromaprint muxer,false 时无法计算指纹
computedinteger否Computed 已有指纹的数量
failedinteger否Failed 尝试过但失败的数量(无音轨 / 文件损坏 / 超时),不会自动重试,
需要「重新计算全部」才会再试
missinginteger否Missing 尚未尝试过计算的数量(= total - computed - failed)
totalinteger否Total 本地歌曲总数

githubDiscoveryTokenSetting {#handlers-githubdiscoverytokensetting} ​

完整名称:handlers.githubDiscoveryTokenSetting

类型: object

字段类型必填说明
tokenstring否

githubProxySetting {#handlers-githubproxysetting} ​

完整名称:handlers.githubProxySetting

类型: object

字段类型必填说明
proxystring否

hlsProxySettingRequest {#handlers-hlsproxysettingrequest} ​

完整名称:handlers.hlsProxySettingRequest

类型: object

字段类型必填说明
enabledboolean否

httpProxySetting {#handlers-httpproxysetting} ​

完整名称:handlers.httpProxySetting

类型: object

字段类型必填说明
proxystring否

jsPluginBatchUpdateResponse {#handlers-jspluginbatchupdateresponse} ​

完整名称:handlers.jsPluginBatchUpdateResponse

类型: object

字段类型必填说明
failedinteger否
messagestring否
resultsjsPluginBatchUpdateResult[]否
skippedinteger否
totalinteger否
updatedinteger否

jsPluginBatchUpdateResult {#handlers-jspluginbatchupdateresult} ​

完整名称:handlers.jsPluginBatchUpdateResult

类型: object

字段类型必填说明
current_versionstring否
entry_pathstring否
errorstring否
has_updateboolean否
new_versionstring否
plugin_idinteger否
plugin_namestring否
successboolean否

jsPluginUploadResponse {#handlers-jspluginuploadresponse} ​

完整名称:handlers.jsPluginUploadResponse

类型: object

字段类型必填说明
failedinteger否
messagestring否
resultsjsPluginUploadResult[]否
successinteger否
totalinteger否

jsPluginUploadResult {#handlers-jspluginuploadresult} ​

完整名称:handlers.jsPluginUploadResult

类型: object

字段类型必填说明
errorstring否
file_namestring否
pluginJSPlugin否
successboolean否

libraryBrowseSetting {#handlers-librarybrowsesetting} ​

完整名称:handlers.libraryBrowseSetting

类型: object

字段类型必填说明
viewslibraryBrowseView[]否

libraryBrowseView {#handlers-librarybrowseview} ​

完整名称:handlers.libraryBrowseView

类型: object

字段类型必填说明
keystring否
visibleboolean否

logLevelSettingRequest {#handlers-loglevelsettingrequest} ​

完整名称:handlers.logLevelSettingRequest

类型: object

字段类型必填说明
levelstring否

MusicPathSetting {#handlers-musicpathsetting} ​

完整名称:handlers.MusicPathSetting

类型: object

字段类型必填说明
auto_create_exclude_dirsstring[]否
exclude_dirsstring[]否
exclude_pathsstring[]否
pathstring否

pluginAutoUpdateSetting {#handlers-pluginautoupdatesetting} ​

完整名称:handlers.pluginAutoUpdateSetting

类型: object

字段类型必填说明
enabledboolean否

pluginHealthResponse {#handlers-pluginhealthresponse} ​

完整名称:handlers.pluginHealthResponse

类型: object

字段类型必填说明
pluginsPluginHealthSnapshot[]否

pluginKeepAliveSetting {#handlers-pluginkeepalivesetting} ​

完整名称:handlers.pluginKeepAliveSetting

类型: object

字段类型必填说明
pluginsstring[]否

pluginOrderSetting {#handlers-pluginordersetting} ​

完整名称:handlers.pluginOrderSetting

类型: object

字段类型必填说明
orderstring[]否

pluginRegistriesSetting {#handlers-pluginregistriessetting} ​

完整名称:handlers.pluginRegistriesSetting

类型: object

字段类型必填说明
registriesRegistryConfig[]否

pluginTabEntry {#handlers-plugintabentry} ​

完整名称:handlers.pluginTabEntry

类型: object

字段类型必填说明
entry_pathstring否
namestring否
plugin_idinteger否

proxyAllowlistSettingRequest {#handlers-proxyallowlistsettingrequest} ​

完整名称:handlers.proxyAllowlistSettingRequest

类型: object

字段类型必填说明
allowliststring[]否

registryInstallRequest {#handlers-registryinstallrequest} ​

完整名称:handlers.registryInstallRequest

类型: object

字段类型必填说明
download_urlstring否
github_proxystring否
overwriteboolean否Overwrite 为 true 时允许覆盖掉本地已装的同 entry_path 但不同作者的插件。
默认 false:这种情况返回 409,由前端二次确认后带该字段重发。
source_urlstring否SourceURL 插件所属订阅源 URL。「全部」聚合模式安装时回传:
当未显式提供 token 时,后端据此从 plugin_registries 配置解析该源的 token。
tokenstring否

registryPluginEntry {#handlers-registrypluginentry} ​

完整名称:handlers.registryPluginEntry

类型: object

字段类型必填说明
authorstring否
conflictboolean否Conflict 为 true 表示本地已装了同 entry_path 但不同身份的插件。
此时 installed=false(这不是同一个插件),安装它会覆盖掉本地那个。
conflict_withstring否ConflictWith 描述占用该 entry_path 的本地插件,可直接展示给用户。
descriptionstring否
download_urlstring否
entry_pathstring否
has_updateboolean否
homepagestring否
iconstring否
identitystring否Identity 是 entry_path 之外的身份维度(规范化 author,或 GitHub 仓库兜底)。
entry_path 撞名时前端据 (entry_path, identity) 做稳定行标识与就地状态更新。
为空表示无法判定身份(此时仅按 entry_path 判定)。
installedboolean否
installed_versionstring否
namestring否
source_namestring否SourceName 该插件所属订阅源名称(仅「全部」聚合模式返回),
供 UI 区分 entry_path 相同的两个条目。
source_urlstring否SourceURL 该插件所属订阅源 URL(仅「全部」聚合模式返回),
安装时回传给后端以按源解析私有源 token。
versionstring否

registryRefreshRequest {#handlers-registryrefreshrequest} ​

完整名称:handlers.registryRefreshRequest

类型: object

字段类型必填说明
all_sourcesboolean否
forceboolean否Force 为 true 时绕过服务端缓存强制重新拉取。供「刷新」按钮使用;
翻页与搜索不应设置它,否则每翻一页都会重拉整棵注册表树。
github_proxystring否
pageinteger否
page_sizeinteger否
registry_urlstring否
searchstring否
tokenstring否

registryRefreshResponse {#handlers-registryrefreshresponse} ​

完整名称:handlers.registryRefreshResponse

类型: object

字段类型必填说明
pageinteger否
page_sizeinteger否
pluginsregistryPluginEntry[]否
totalinteger否
warningsstring[]否

remoteTitleSourceRequest {#handlers-remotetitlesourcerequest} ​

完整名称:handlers.remoteTitleSourceRequest

类型: object

字段类型必填说明
title_sourcestring否可选值: tag, filename 示例: "filename"

scanAutoCreatePlaylistsRequest {#handlers-scanautocreateplaylistsrequest} ​

完整名称:handlers.scanAutoCreatePlaylistsRequest

类型: object

字段类型必填说明
enabledboolean否

scanAutoFingerprintRequest {#handlers-scanautofingerprintrequest} ​

完整名称:handlers.scanAutoFingerprintRequest

类型: object

字段类型必填说明
enabledboolean否

scanPlaylistModeRequest {#handlers-scanplaylistmoderequest} ​

完整名称:handlers.scanPlaylistModeRequest

类型: object

字段类型必填说明
modestring否可选值: directory, top_level, bubble_up 示例: "directory"

scanPlaylistModeResponse {#handlers-scanplaylistmoderesponse} ​

完整名称:handlers.scanPlaylistModeResponse

类型: object

字段类型必填说明
modestring否示例: "directory"

ScanRequest {#handlers-scanrequest} ​

完整名称:handlers.ScanRequest

类型: object

字段类型必填说明
pathsstring[]否Paths 为目录级定向扫描(Issue #262):为空时扫描整个音乐根目录(默认行为);
非空时只扫描给定目录(含子目录),过期记录清理也仅收敛到这些目录之内。
每个目录必须位于音乐根目录之下,否则返回 400。
reimportboolean否

scanTitleSourceRequest {#handlers-scantitlesourcerequest} ​

完整名称:handlers.scanTitleSourceRequest

类型: object

字段类型必填说明
title_sourcestring否可选值: tag, filename 示例: "tag"

songArtistsRequest {#handlers-songartistsrequest} ​

完整名称:handlers.songArtistsRequest

类型: object

字段类型必填说明
artistsArtistInput[]否

songArtistsResponse {#handlers-songartistsresponse} ​

完整名称:handlers.songArtistsResponse

类型: object

字段类型必填说明
artistsSongArtist[]否

startFingerprintRequest {#handlers-startfingerprintrequest} ​

完整名称:handlers.startFingerprintRequest

类型: object

字段类型必填说明
recompute_allboolean否
retry_failedboolean否RetryFailed 仅重置失败项的「已尝试」标记后重试,已算好的指纹保留。

tabConfigSetting {#handlers-tabconfigsetting} ​

完整名称:handlers.tabConfigSetting

类型: object

字段类型必填说明
plugin_tabspluginTabEntry[]否
show_libraryboolean否
show_playlistsboolean否

trackItem {#handlers-trackitem} ​

完整名称:handlers.trackItem

类型: object

字段类型必填说明
codecstring否
indexinteger否
languagestring否
titlestring否

userPreferencesSetting {#handlers-userpreferencessetting} ​

完整名称:handlers.userPreferencesSetting

类型: object

字段类型必填说明
audio_qualitystring否
local_cache_max_sizeinteger否
play_modestring否
playlist_view_modestring否
theme_modestring否
volumenumber否

volumeNormalizeRequest {#handlers-volumenormalizerequest} ​

完整名称:handlers.volumeNormalizeRequest

类型: object

字段类型必填说明
enabledboolean否示例: false
loudnessnumber否示例: -16

WriteSongTagsRequest {#handlers-writesongtagsrequest} ​

完整名称:handlers.WriteSongTagsRequest

类型: object

字段类型必填说明
albumstring否
artiststring否
clear_coverboolean否
cover_datastring否
cover_urlstring否
genrestring否
languagestring否
lyricsstring否
rename_fileboolean否RenameFile 为 true 时按新标题重命名本地音频文件(保留原目录与扩展名),仅对本地非 CUE 歌曲生效。
stylestring否
titlestring否
trackstring否
yearinteger否

JSPlugin {#jsplugin-jsplugin} ​

完整名称:jsplugin.JSPlugin

类型: object

字段类型必填说明
authorstring否
created_atstring否
descriptionstring否
download_urlstring否
entry_hashstring否main.js/main.jsc 内容 SHA256
entry_pathstring否路由前缀(如 "myplugin")
external_pathsstring[]否可访问的外部绝对路径目录
file_mod_timestring否
file_pathstring否ZIP 文件相对路径
homepagestring否
iconstring否
idinteger否
licensestring否
mainstring否入口文件路径(如 "main.js")
min_host_versionstring否
namestring否
permissionsstring[]否权限列表
public_pathsstring[]否无需 JWT 认证的路径前缀
render_enginestring否RenderEngine 插件页渲染引擎:"webview" / "lynx";空串 = 跟随宿主默认(当前 webview)。
刻意不加 omitempty:客户端需要能稳定读到该字段并自行把空串映射为默认引擎。
statusJSPluginStatus否
update_urlstring否
updated_atstring否
versionstring否
zip_hashstring否ZIP 文件 SHA256

RegistryConfig {#jsplugin-registryconfig} ​

完整名称:jsplugin.RegistryConfig

类型: object

字段类型必填说明
enabledboolean否
namestring否
tokenstring否
urlstring否

Artist {#models-artist} ​

完整名称:models.Artist

类型: object

字段类型必填说明
created_atstring否
idinteger否
namestring否

ArtistInput {#models-artistinput} ​

完整名称:models.ArtistInput

类型: object

字段类型必填说明
namestring否示例: "周杰伦"
positioninteger否示例: 0
rolestring否artist | album_artist,缺省 artist 示例: "artist"

BatchDeletePlaylistsRequest {#models-batchdeleteplaylistsrequest} ​

完整名称:models.BatchDeletePlaylistsRequest

类型: object

字段类型必填说明
delete_songsboolean否为 true 时,一并删除仅属于被删歌单的孤儿歌曲(含本地歌曲及其磁盘文件) 示例: false
idsinteger[]否要删除的歌单 ID 列表 示例: [1]

BatchDeletePlaylistsResponse {#models-batchdeleteplaylistsresponse} ​

完整名称:models.BatchDeletePlaylistsResponse

类型: object

字段类型必填说明
deletedinteger否实际删除的歌单数量 示例: 3
deleted_songsinteger否连带清理的孤儿歌曲数量 示例: 12

BatchDeleteSongsRequest {#models-batchdeletesongsrequest} ​

完整名称:models.BatchDeleteSongsRequest

类型: object

字段类型必填说明
delete_filesboolean否是否同步删除本地音频文件 示例: false
idsinteger[]否要删除的歌曲 ID 列表 示例: [1]

BatchDeleteSongsResponse {#models-batchdeletesongsresponse} ​

完整名称:models.BatchDeleteSongsResponse

类型: object

字段类型必填说明
deletedinteger否实际删除的数量 示例: 3

Config {#models-config} ​

完整名称:models.Config

类型: object

字段类型必填说明
idinteger否配置ID 示例: 1
keystring否配置键 示例: "music_path"
updated_atstring否更新时间 示例: "2024-01-01T12:00:00Z"
valuestring否配置值(JSON格式) 示例: "{\"path\":\"/music\"}"

CreateConfigRequest {#models-createconfigrequest} ​

完整名称:models.CreateConfigRequest

类型: object

字段类型必填说明
keystring是配置键 示例: "music_path"
valuestring是配置值(JSON 格式) 示例: "{\"path\":\"/music\"}"

ErrorResponse {#models-errorresponse} ​

完整名称:models.ErrorResponse

类型: object

字段类型必填说明
detailstring否详细错误信息(可选) 示例: "详细错误信息"
errorstring否错误信息 示例: "操作失败"

ImportResult {#models-importresult} ​

完整名称:models.ImportResult

类型: object

字段类型必填说明
playlists_createdinteger否
playlists_mergedinteger否
songs_createdinteger否
songs_matchedinteger否
songs_skippedinteger否

JSPluginStatus {#models-jspluginstatus} ​

完整名称:models.JSPluginStatus

类型: string

可选值:

  • active
  • inactive
  • error

LoginRequest {#models-loginrequest} ​

完整名称:models.LoginRequest

类型: object

字段类型必填说明
passwordstring是密码 示例: "admin"
usernamestring是用户名 示例: "admin"

LoginResponse {#models-loginresponse} ​

完整名称:models.LoginResponse

类型: object

字段类型必填说明
access_tokenstring否Access Token 示例: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
expires_ininteger否Access Token 过期时间(秒) 示例: 604800
refresh_tokenstring否Refresh Token 示例: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
token_typestring否Token 类型 示例: "Bearer"

PlayHistoryEntry {#models-playhistoryentry} ​

完整名称:models.PlayHistoryEntry

类型: object

字段类型必填说明
play_countinteger否在该上下文内的累计播放次数 示例: 3
played_atstring否最后一次播放时间 示例: "2024-01-01T12:00:00Z"
songany否歌曲详情

PlayHistoryListResponse {#models-playhistorylistresponse} ​

完整名称:models.PlayHistoryListResponse

类型: object

字段类型必填说明
itemsPlayHistoryEntry[]否播放记录,按最后播放时间倒序
totalinteger否本次返回的条数(上限 50,故与 items 长度一致) 示例: 12

Playlist {#models-playlist} ​

完整名称:models.Playlist

类型: object

字段类型必填说明
cover_urlstring否封面图片 URL 示例: "https://example.com/playlist.jpg"
created_atstring否创建时间 示例: "2024-01-01T12:00:00Z"
descriptionstring否歌单描述 示例: "收藏的经典歌曲"
idinteger否歌单 ID 示例: 1
labelsstring[]否歌单标签,如 ["built_in"] 示例: ["[\"built_in\"]"]
namestring否歌单名称 示例: "我的最爱"
pinned_atstring否置顶时间,nil 表示未置顶;多个置顶歌单按此字段倒序排列 示例: "2024-01-01T12:00:00Z"
remote_countinteger否歌单内网络歌曲(songs.type=remote)数量,>0 即为「网络歌单」;仅列表接口填充,详情接口恒为 0 示例: 3
song_countinteger否歌曲数量 示例: 10
sort_bystring否视图排序字段:position/added_at/file_modified_at/title/artist/duration 示例: "position"
sort_orderstring否视图排序方向:asc/desc 示例: "asc"
typestring否歌单类型:normal/radio 可选值: normal, radio 示例: "normal"
updated_atstring否最后更新时间 示例: "2024-01-01T12:00:00Z"

RefreshTokenRequest {#models-refreshtokenrequest} ​

完整名称:models.RefreshTokenRequest

类型: object

字段类型必填说明
refresh_tokenstring是刷新令牌 示例: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."

RevokeTokenRequest {#models-revoketokenrequest} ​

完整名称:models.RevokeTokenRequest

类型: object

字段类型必填说明
reasonstring否撤销原因 示例: "用户主动登出"

SetPlaylistPinnedRequest {#models-setplaylistpinnedrequest} ​

完整名称:models.SetPlaylistPinnedRequest

类型: object

字段类型必填说明
pinnedboolean否是否置顶歌单 示例: true

SetPlaylistVisibilityRequest {#models-setplaylistvisibilityrequest} ​

完整名称:models.SetPlaylistVisibilityRequest

类型: object

字段类型必填说明
hiddenboolean否是否隐藏歌单 示例: true

Song {#models-song} ​

完整名称:models.Song

类型: object

字段类型必填说明
added_atstring否添加时间 示例: "2024-01-01T12:00:00Z"
albumstring否专辑名称 示例: "十一月的萧邦"
artiststring否艺术家/歌手 示例: "周杰伦"
bit_rateinteger否比特率(kbps) 示例: 320
cover_urlstring否封面图片URL 示例: "https://example.com/cover.jpg"
cue_source_pathstring否CUE 来源路径(非空表示 CUE 拆分歌曲)
cue_track_indexinteger否CUE track 序号 (1-99)
dedup_keystring否去重 key(由插件定义,典型形态 "<platform>:<platform_id>");与 PluginEntryPath 组成 UNIQUE
durationnumber否播放时长(秒) 示例: 253.5
file_modified_atstring否文件修改时间(mtime,本地歌曲扫描时记录;未知为 nil)
file_pathstring否本地文件路径 示例: "/music/周杰伦/夜曲.mp3"
file_sizeinteger否文件大小(字节) 示例: 10485760
fingerprintstring否音频指纹(Chromaprint)
fingerprint_durationnumber否指纹对应音频时长
formatstring否音频格式 示例: "mp3"
genrestring否流派 示例: "Pop"
idinteger否歌曲ID 示例: 1
is_liveboolean否是否为直播流 示例: false
is_videoboolean否是否含真实视频轨(扫描时 ffprobe 探测,排除封面);客户端据此渲染画面/选择投屏 mime 示例: false
isrcstring否ISRC(国际标准录音编码)
languagestring否语种 示例: "国语"
lyric_remote_urlstring否lyric_source=url 时的原始 URL(运行时由 LyricFetcher 拉取)
lyric_urlstring否歌词端点 URL(客户端唯一可见字段,指向 /api/v1/songs/{id}/lyric)
plugin_entry_pathstring否音源插件 entryPath(网络歌曲) 示例: "my-source"
sample_rateinteger否采样率(Hz) 示例: 44100
source_cover_urlstring否原始封面 URL(仅 JSON 输出,CoverURL 非空时保留原始值供编辑使用)
source_datastring否音源元数据 JSON(给插件 music/url 接口用,opaque)
source_urlstring否原始音源 URL(仅 JSON 输出,radio/remote 类型返回原始流地址供编辑使用)
stylestring否风格 示例: "抒情"
titlestring否标题 示例: "夜曲"
trackstring否音轨号,可为 "3" 或 "3/12"(轨号/总数) 示例: "3/12"
typestring否歌曲类型:local/remote/radio 可选值: local, remote, radio 示例: "local"
updated_atstring否最后更新时间 示例: "2024-01-01T12:00:00Z"
urlstring否网络地址 示例: "https://example.com/song.mp3"
yearinteger否发行年份 示例: 2005

SongArtist {#models-songartist} ​

完整名称:models.SongArtist

类型: object

字段类型必填说明
artistArtist否
positioninteger否同角色内的展示顺序
rolestring否artist | album_artist

SongTag {#models-songtag} ​

完整名称:models.SongTag

类型: object

字段类型必填说明
colorstring否
cover_urlstring否
created_atstring否
idinteger否
namestring否
song_countinteger否

SuccessResponse {#models-successresponse} ​

完整名称:models.SuccessResponse

类型: object

字段类型必填说明
messagestring否成功信息 示例: "操作成功"

ThemePackColors {#models-themepackcolors} ​

完整名称:models.ThemePackColors

类型: object

字段类型必填说明
backgroundColorstring否
glassColorstring否GlassColor independently drives the Liquid Glass decorative tint
(--glass-glow / --glass-glow-faint / --glass-sheen in the Lynx client),
separate from SeedColor which drives the button/accent channel. Optional:
when absent the client falls back to its star-blue glass baseline, so
glass stays a different colour from buttons (true dual-channel). Existing
packs without this field still validate.
seedColorstring否
surfaceColorstring否

ThemePackData {#models-themepackdata} ​

完整名称:models.ThemePackData

类型: object

字段类型必填说明
authorstring否
cardRadiusnumber否
controlRadiusnumber否
darkThemePackColors否
descriptionstring否
idstring否
lightThemePackColors否
namestring否
navigationRadiusnumber否
navigationStylestring否
playerGradientstring[]否
schemaVersioninteger否
versionstring否

UpdateConfigRequest {#models-updateconfigrequest} ​

完整名称:models.UpdateConfigRequest

类型: object

字段类型必填说明
valuestring是配置值(JSON 格式) 示例: "{\"path\":\"/new_music\"}"

UpdatePlaylistRequest {#models-updateplaylistrequest} ​

完整名称:models.UpdatePlaylistRequest

类型: object

字段类型必填说明
cover_pathstring否封面图片本地路径(传空字符串清除) 示例: ""
cover_song_idinteger否从指定歌曲复制封面(与 cover_path/cover_url 互斥,优先级更高) 示例: 42
cover_urlstring否封面图片 URL(传空字符串清除) 示例: ""
descriptionstring否歌单描述 示例: "收藏的经典歌曲"
namestring否歌单名称 示例: "我的最爱"

UpgradeProgress {#models-upgradeprogress} ​

完整名称:models.UpgradeProgress

类型: object

字段类型必填说明
current_stepstring否当前步骤描述 示例: "正在下载新版本..."
errorstring否错误信息(如有) 示例: "下载失败"
progressinteger否进度百分比 (0-100) 示例: 50
statusstring否状态 可选值: idle, downloading, testing, replacing, restarting, completed, failed 示例: "downloading"

UploadedBinaryInfo {#models-uploadedbinaryinfo} ​

完整名称:models.UploadedBinaryInfo

类型: object

字段类型必填说明
build_timestring否上传文件的构建时间 示例: "2026-08-01"
build_typestring否上传文件的构建类型(full/lite) 示例: "full"
channelstring否上传文件的通道(stable/dev) 示例: "stable"
channel_mismatchboolean否通道是否不匹配(需前端二次确认) 示例: true
current_channelstring否当前运行通道 示例: "dev"
current_versionstring否当前运行版本 示例: "v2.10.0"
versionstring否上传文件的版本号 示例: "v2.11.0"

AudioTrackInfo {#services-audiotrackinfo} ​

完整名称:services.AudioTrackInfo

类型: object

字段类型必填说明
codecstring否
defaultboolean否
indexinteger否
languagestring否
titlestring否

CacheConfig {#services-cacheconfig} ​

完整名称:services.CacheConfig

类型: object

字段类型必填说明
cache_dirstring否自定义缓存目录,空字符串表示使用默认目录
max_sizeinteger否最大缓存大小(字节),0 表示无限制
transcode_formatstring否TranscodeFormat 缓存网络歌曲落盘时统一转码的目标格式(mp3/m4a/ogg/flac/wav)。
空字符串表示不转码、按上游原格式落盘(默认)。缺 ffmpeg 或转码失败时优雅降级保留原格式。
transcode_qualitystring否TranscodeQuality 转码目标码率(128/192/320),空或非法值表示最高质量。仅对有损格式生效。

CacheConfigResponse {#services-cacheconfigresponse} ​

完整名称:services.CacheConfigResponse

类型: object

字段类型必填说明
cache_dirstring否
default_cache_dirstring否
max_sizeinteger否
transcode_formatstring否
transcode_qualitystring否

CacheStats {#services-cachestats} ​

完整名称:services.CacheStats

类型: object

字段类型必填说明
file_countinteger否文件数量
max_sizeinteger否最大缓存大小(字节),0 表示无限制
total_sizeinteger否总大小(字节)

FingerprintProgress {#services-fingerprintprogress} ​

完整名称:services.FingerprintProgress

类型: object

字段类型必填说明
computedinteger否
failedinteger否
statusstring否idle, running, done, cancelled
totalinteger否

MetadataRefreshProgress {#services-metadatarefreshprogress} ​

完整名称:services.MetadataRefreshProgress

类型: object

字段类型必填说明
failedinteger否
processedinteger否
statusstring否
totalinteger否

OrganizeItem {#services-organizeitem} ​

完整名称:services.OrganizeItem

类型: object

字段类型必填说明
idinteger否
target_pathstring否

OrganizePreviewResult {#services-organizepreviewresult} ​

完整名称:services.OrganizePreviewResult

类型: object

字段类型必填说明
errorstring否
idinteger否
new_pathstring否
old_pathstring否
statusstring否

OrganizeResult {#services-organizeresult} ​

完整名称:services.OrganizeResult

类型: object

字段类型必填说明
errorstring否
file_pathstring否
idinteger否
statusstring否

RefreshResponse {#services-refreshresponse} ​

完整名称:services.RefreshResponse

类型: object

字段类型必填说明
access_tokenstring否
expires_ininteger否
refresh_tokenstring否
token_typestring否

ScanProgress {#services-scanprogress} ​

完整名称:services.ScanProgress

类型: object

字段类型必填说明
cleaned_filesinteger否清理的过期文件数
cue_split_sourcesinteger否splitting_cue 阶段已处理的 CUE 来源数
current_filestring否当前处理的文件
discovered_filesinteger否scanning 阶段已发现的音频文件数
end_timestring否结束时间
errorstring否错误信息
failed_filesinteger否失败的文件数
imported_filesinteger否已导入文件数
local_song_countinteger否扫描完成后数据库中本地歌曲总数
scanned_filesinteger否已扫描文件数
skipped_filesinteger否跳过的文件数(已存在)
start_timestring否开始时间
statusany否当前状态
total_filesinteger否总文件数

ScanStatus {#services-scanstatus} ​

完整名称:services.ScanStatus

类型: string

可选值:

  • idle
  • scanning
  • importing
  • splitting_cue
  • creating_playlists
  • completed
  • failed
  • cancelling
  • cancelled

ThemePackListItem {#services-themepacklistitem} ​

完整名称:services.ThemePackListItem

类型: object

字段类型必填说明
authorstring否
created_atstring否
descriptionstring否
idinteger否
namestring否
schema_versioninteger否
theme_idstring否
updated_atstring否
versionstring否

ThemePackResponse {#services-themepackresponse} ​

完整名称:services.ThemePackResponse

类型: object

字段类型必填说明
authorstring否
created_atstring否
dataThemePackData否
descriptionstring否
idinteger否
namestring否
schema_versioninteger否
theme_idstring否
updated_atstring否
versionstring否

HealthClass {#source-healthclass} ​

完整名称:source.HealthClass

类型: string

可选值:

  • green
  • yellow
  • red

Outcome {#source-outcome} ​

完整名称:source.Outcome

类型: object

字段类型必填说明
latency_nsinteger否纳秒;swagger 显式声明避免 time.Duration 解析失败
plugin_entry_pathstring否
reasonstring否
resultOutcomeResult否
size_bytesinteger否
timestampstring否

OutcomeResult {#source-outcomeresult} ​

完整名称:source.OutcomeResult

类型: string

可选值:

  • success
  • network_fail
  • probe_fail
  • validation_fail
  • plugin_invocation_fail

PluginHealthSnapshot {#source-pluginhealthsnapshot} ​

完整名称:source.PluginHealthSnapshot

类型: object

字段类型必填说明
classHealthClass否
last_failuresOutcome[]否最近 N 次失败,便于排查
plugin_entry_pathstring否
samplesinteger否
success_ratenumber否