1. SSE
Metabox-Nexus-WesingCap
  • SSE
    • lyric_update-SSE
      GET
    • song_info-SSE
      GET
  • ws
  • health-check
    GET
  • service-status
    GET
  • all_lyrics
    GET
  • lyric_update
    GET
  • status_update
    GET
  • song_info
    GET
  1. SSE

song_info-SSE

开发中
正式环境
localhost:8765
正式环境
localhost:8765
GET
/song_info-SSE

8. /song_info-SSE - 实时歌曲信息推送#

连接建立时: 始终立即发送一条当前歌曲信息状态(有信息时发送数据,无信息时发送 "data":{})。
初始发送(无歌曲信息时):
data: {"type":"song_info_update","data":{}}
初始发送(有歌曲信息时):
data: {"type":"song_info_update","data":{"name":"告白","singer":"花澤香菜","title":"告白 - 花澤香菜"}}
播放过程中,每当歌曲切换、信息更新(不关K歌窗口直接 A->B)时接收:
data: {"type":"song_info_update","data":{"name":"告白","singer":"花澤香菜","title":"告白 - 花澤香菜"}}

data: {"type":"song_info_update","data":{"name":"Winter Night Fantasy","singer":"Azuki Azusa","title":"Winter Night Fantasy - Azuki Azusa"}}
K歌窗口关闭时(只发送一次):
data: {"type":"song_info_update","data":{}}
K歌窗口关闭时,主动推送此消息清空歌曲信息
直接切歌(A→B)时,不会先发送空再发送B,而是直接发送B的信息
完整生命周期示例:
(连接建立,当前无歌曲)
data: {"type":"song_info_update","data":{}}

(用户打开歌曲A)
data: {"type":"song_info_update","data":{"name":"有点甜","singer":"汪苏泷/BY2","title":"有点甜 - 汪苏泷/BY2"}}

(用户关闭K歌窗口)
data: {"type":"song_info_update","data":{}}

(用户打开歌曲B)
data: {"type":"song_info_update","data":{"name":"如愿","singer":"王菲","title":"如愿 - 王菲"}}

(用户没有关闭K歌窗口,打开歌曲C)
data: {"type":"song_info_update","data":{"name":"留什么给你","singer":"孙楠","title":"留什么给你 - 孙楠"}}
特性:
✅ 完全支持 UTF-8 编码(中文、日文、韩文、俄文等所有语言)
✅ 服务器设置了 Content-Type: text/event-stream; charset=utf-8
✅ 连接时始终立即发送当前状态(不会因无数据而不发送)
✅ 支持空对象消息用于清空歌曲信息(仅在K歌窗口关闭时发送)
实时推送,延迟极低
支持跨域(CORS)
客户端使用示例(JavaScript):

请求参数

无

请求示例代码

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
请求示例请求示例
Shell
JavaScript
Java
Swift
curl --location --request GET 'localhost:8765/song_info-SSE'

返回响应

🟢200成功
application/json
Body

示例
"type": "song_info_update",
"data": {
    "name": "告白",
    "singer": "花澤香菜",
    "title": "告白 - 花澤香菜"
}
修改于 2026-03-19 17:06:12
上一页
lyric_update-SSE
下一页
ws
Built with