@sansenjian/qq-music-api 2.2.1 → 2.2.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +120 -42
- package/dist/app.js +58 -0
- package/dist/config/user-info.js +59 -0
- package/dist/index.js +3 -0
- package/dist/jest.config.js +40 -0
- package/dist/middlewares/koa-cors.js +63 -0
- package/dist/module/apis/UCommon/UCommon.js +10 -0
- package/dist/module/apis/album/getAlbumInfo.js +23 -0
- package/dist/module/apis/comments/getComments.js +24 -0
- package/dist/module/apis/digitalAlbum/getDigitalAlbumLists.js +22 -0
- package/dist/module/apis/downloadQQMusic.js +48 -0
- package/dist/module/apis/extend/getPlaylistTags.js +158 -0
- package/dist/module/apis/music/getLyric.js +32 -0
- package/dist/module/apis/mv/getMvByTag.js +23 -0
- package/dist/module/apis/radio/getRadioLists.js +26 -0
- package/dist/module/apis/rank/getTopLists.js +35 -0
- package/dist/module/apis/recommend/getDailyRecommend.js +124 -0
- package/dist/module/apis/recommend/getPersonalRecommend.js +114 -0
- package/dist/module/apis/search/getHotKey.js +25 -0
- package/dist/module/apis/search/getSearchByKey.js +32 -0
- package/dist/module/apis/search/getSmartbox.js +40 -0
- package/dist/module/apis/singers/getSimilarSinger.js +24 -0
- package/dist/module/apis/singers/getSingerDesc.js +24 -0
- package/dist/module/apis/singers/getSingerMv.js +23 -0
- package/dist/module/apis/singers/getSingerStarNum.js +23 -0
- package/dist/module/apis/songLists/songListCategories.js +23 -0
- package/dist/module/apis/songLists/songListDetail.js +28 -0
- package/dist/module/apis/songLists/songLists.js +35 -0
- package/dist/module/apis/u_common.js +56 -0
- package/dist/module/apis/user/checkQQLoginQr.js +189 -0
- package/dist/module/apis/user/getQQLoginQr.js +23 -0
- package/dist/module/apis/user/getUserAvatar.js +25 -0
- package/dist/module/apis/user/getUserLikedSongs.js +129 -0
- package/dist/module/apis/user/getUserPlaylists.js +138 -0
- package/dist/module/apis/y_common.js +69 -0
- package/dist/module/config.js +24 -0
- package/dist/module/index.js +70 -0
- package/dist/package.json +117 -0
- package/dist/routers/context/batchGetSongInfo.js +53 -0
- package/dist/routers/context/batchGetSongLists.js +37 -0
- package/dist/routers/context/checkQQLoginQr.js +16 -0
- package/dist/routers/context/cookies.js +36 -0
- package/dist/routers/context/getAlbumInfo.js +29 -0
- package/dist/routers/context/getComments.js +38 -0
- package/dist/routers/context/getDailyRecommend.js +45 -0
- package/dist/routers/context/getDigitalAlbumLists.js +16 -0
- package/dist/routers/context/getDownloadQQMusic.js +16 -0
- package/dist/routers/context/getHotkey.js +21 -0
- package/dist/routers/context/getImageUrl.js +25 -0
- package/dist/routers/context/getLyric.js +29 -0
- package/dist/routers/context/getMusicPlay.js +91 -0
- package/dist/routers/context/getMv.js +57 -0
- package/dist/routers/context/getMvByTag.js +16 -0
- package/dist/routers/context/getMvPlay.js +105 -0
- package/dist/routers/context/getNewDisks.js +52 -0
- package/dist/routers/context/getPersonalRecommend.js +54 -0
- package/dist/routers/context/getPlaylistTags.js +60 -0
- package/dist/routers/context/getQQLoginQr.js +14 -0
- package/dist/routers/context/getRadioLists.js +16 -0
- package/dist/routers/context/getRanks.js +60 -0
- package/dist/routers/context/getRecommend.js +88 -0
- package/dist/routers/context/getSearchByKey.js +32 -0
- package/dist/routers/context/getSimilarSinger.js +27 -0
- package/dist/routers/context/getSingerAlbum.js +54 -0
- package/dist/routers/context/getSingerDesc.js +28 -0
- package/dist/routers/context/getSingerHotsong.js +54 -0
- package/dist/routers/context/getSingerList.js +51 -0
- package/dist/routers/context/getSingerMv.js +36 -0
- package/dist/routers/context/getSingerStarNum.js +27 -0
- package/dist/routers/context/getSmartbox.js +27 -0
- package/dist/routers/context/getSongInfo.js +47 -0
- package/dist/routers/context/getSongListCategories.js +23 -0
- package/dist/routers/context/getSongListDetail.js +19 -0
- package/dist/routers/context/getSongLists.js +25 -0
- package/dist/routers/context/getTicketInfo.js +47 -0
- package/dist/routers/context/getTopLists.js +16 -0
- package/dist/routers/context/getUserAvatar.js +48 -0
- package/dist/routers/context/getUserLikedSongs.js +24 -0
- package/dist/routers/context/getUserPlaylists.js +24 -0
- package/dist/routers/context/index.js +107 -0
- package/dist/routers/router.js +69 -0
- package/dist/routers/types.js +2 -0
- package/dist/routers/util.js +188 -0
- package/dist/types/api.js +55 -0
- package/dist/util/apiResponse.js +88 -0
- package/dist/util/colors.js +19 -0
- package/dist/util/cookie.js +26 -0
- package/dist/util/loginUtils.js +30 -0
- package/dist/util/lyricParse.js +72 -0
- package/dist/util/request.js +109 -0
- package/docs-dist/404.html +24 -0
- package/docs-dist/CHANGELOG-ARCHITECTURE.html +131 -0
- package/docs-dist/COOKIE_CONFIG_GUIDE.html +39 -0
- package/docs-dist/README.html +447 -0
- package/docs-dist/TEST_USER_PLAYLISTS.html +42 -0
- package/docs-dist/USER_AVATAR_GUIDE.html +100 -0
- package/docs-dist/api/comments.html +48 -0
- package/docs-dist/api/index.html +27 -0
- package/docs-dist/api/music.html +51 -0
- package/docs-dist/api/other.html +33 -0
- package/docs-dist/api/playlist.html +77 -0
- package/docs-dist/api/rank.html +48 -0
- package/docs-dist/api/search.html +62 -0
- package/docs-dist/api/singer.html +47 -0
- package/docs-dist/api/user.html +64 -0
- package/docs-dist/assets/CHANGELOG-ARCHITECTURE.md.BOe0ZtyR.js +105 -0
- package/docs-dist/assets/CHANGELOG-ARCHITECTURE.md.BOe0ZtyR.lean.js +1 -0
- package/docs-dist/assets/COOKIE_CONFIG_GUIDE.md.D68AwXR2.js +13 -0
- package/docs-dist/assets/COOKIE_CONFIG_GUIDE.md.D68AwXR2.lean.js +1 -0
- package/docs-dist/assets/README.md.ZJQGJ1Gb.js +421 -0
- package/docs-dist/assets/README.md.ZJQGJ1Gb.lean.js +1 -0
- package/docs-dist/assets/TEST_USER_PLAYLISTS.md.C02575X2.js +16 -0
- package/docs-dist/assets/TEST_USER_PLAYLISTS.md.C02575X2.lean.js +1 -0
- package/docs-dist/assets/USER_AVATAR_GUIDE.md.BOqjn5Cm.js +74 -0
- package/docs-dist/assets/USER_AVATAR_GUIDE.md.BOqjn5Cm.lean.js +1 -0
- package/docs-dist/assets/api_comments.md.DADvndEA.js +22 -0
- package/docs-dist/assets/api_comments.md.DADvndEA.lean.js +1 -0
- package/docs-dist/assets/api_index.md.D5IASxxG.js +1 -0
- package/docs-dist/assets/api_index.md.D5IASxxG.lean.js +1 -0
- package/docs-dist/assets/api_music.md.BgB8NmZq.js +25 -0
- package/docs-dist/assets/api_music.md.BgB8NmZq.lean.js +1 -0
- package/docs-dist/assets/api_other.md.BkRWXX2z.js +7 -0
- package/docs-dist/assets/api_other.md.BkRWXX2z.lean.js +1 -0
- package/docs-dist/assets/api_playlist.md.Dc0hTrZ4.js +51 -0
- package/docs-dist/assets/api_playlist.md.Dc0hTrZ4.lean.js +1 -0
- package/docs-dist/assets/api_rank.md.DRisCFyT.js +22 -0
- package/docs-dist/assets/api_rank.md.DRisCFyT.lean.js +1 -0
- package/docs-dist/assets/api_search.md.DNnMUZK0.js +36 -0
- package/docs-dist/assets/api_search.md.DNnMUZK0.lean.js +1 -0
- package/docs-dist/assets/api_singer.md.DCmuxQkk.js +21 -0
- package/docs-dist/assets/api_singer.md.DCmuxQkk.lean.js +1 -0
- package/docs-dist/assets/api_user.md.Cjm9GG3z.js +38 -0
- package/docs-dist/assets/api_user.md.Cjm9GG3z.lean.js +1 -0
- package/docs-dist/assets/app.Dx_1wB58.js +1 -0
- package/docs-dist/assets/chunks/@localSearchIndexroot.CMY5EIwU.js +1 -0
- package/docs-dist/assets/chunks/VPLocalSearchBox.DwKWtsdX.js +9 -0
- package/docs-dist/assets/chunks/framework.o40iizuP.js +19 -0
- package/docs-dist/assets/chunks/theme.pGVgJ9Cx.js +2 -0
- package/docs-dist/assets/guide_architecture.md.DGtNyuMH.js +258 -0
- package/docs-dist/assets/guide_architecture.md.DGtNyuMH.lean.js +1 -0
- package/docs-dist/assets/guide_authentication.md.mtI5LfCw.js +4 -0
- package/docs-dist/assets/guide_authentication.md.mtI5LfCw.lean.js +1 -0
- package/docs-dist/assets/guide_index.md.B-0SG46T.js +1 -0
- package/docs-dist/assets/guide_index.md.B-0SG46T.lean.js +1 -0
- package/docs-dist/assets/guide_installation.md.k-KpAfxv.js +7 -0
- package/docs-dist/assets/guide_installation.md.k-KpAfxv.lean.js +1 -0
- package/docs-dist/assets/guide_quickstart.md.Bff_KFOD.js +13 -0
- package/docs-dist/assets/guide_quickstart.md.Bff_KFOD.lean.js +1 -0
- package/docs-dist/assets/index.md.xrs-uIyo.js +1 -0
- package/docs-dist/assets/index.md.xrs-uIyo.lean.js +1 -0
- package/docs-dist/assets/inter-italic-cyrillic-ext.r48I6akx.woff2 +0 -0
- package/docs-dist/assets/inter-italic-cyrillic.By2_1cv3.woff2 +0 -0
- package/docs-dist/assets/inter-italic-greek-ext.1u6EdAuj.woff2 +0 -0
- package/docs-dist/assets/inter-italic-greek.DJ8dCoTZ.woff2 +0 -0
- package/docs-dist/assets/inter-italic-latin-ext.CN1xVJS-.woff2 +0 -0
- package/docs-dist/assets/inter-italic-latin.C2AdPX0b.woff2 +0 -0
- package/docs-dist/assets/inter-italic-vietnamese.BSbpV94h.woff2 +0 -0
- package/docs-dist/assets/inter-roman-cyrillic-ext.BBPuwvHQ.woff2 +0 -0
- package/docs-dist/assets/inter-roman-cyrillic.C5lxZ8CY.woff2 +0 -0
- package/docs-dist/assets/inter-roman-greek-ext.CqjqNYQ-.woff2 +0 -0
- package/docs-dist/assets/inter-roman-greek.BBVDIX6e.woff2 +0 -0
- package/docs-dist/assets/inter-roman-latin-ext.4ZJIpNVo.woff2 +0 -0
- package/docs-dist/assets/inter-roman-latin.Di8DUHzh.woff2 +0 -0
- package/docs-dist/assets/inter-roman-vietnamese.BjW4sHH5.woff2 +0 -0
- package/docs-dist/assets/reference_response-format.md.DKYTK6uJ.js +12 -0
- package/docs-dist/assets/reference_response-format.md.DKYTK6uJ.lean.js +1 -0
- package/docs-dist/assets/style.DM4qKDd4.css +1 -0
- package/docs-dist/guide/architecture.html +284 -0
- package/docs-dist/guide/authentication.html +30 -0
- package/docs-dist/guide/index.html +27 -0
- package/docs-dist/guide/installation.html +33 -0
- package/docs-dist/guide/quickstart.html +39 -0
- package/docs-dist/hashmap.json +1 -0
- package/docs-dist/index.html +27 -0
- package/docs-dist/logo.svg +4 -0
- package/docs-dist/reference/response-format.html +38 -0
- package/docs-dist/version.json +7 -0
- package/docs-dist/vp-icons.css +1 -0
- package/package.json +28 -17
- package/.babelrc +0 -7
- package/.dockerignore +0 -5
- package/.editorconfig +0 -31
- package/.eslintrc.json +0 -22
- package/.github/workflows/deploy-docs.yml +0 -54
- package/.github/workflows/release.yml +0 -37
- package/.github/workflows/test.yml +0 -70
- package/.husky/commit-msg +0 -1
- package/.husky/pre-commit +0 -1
- package/.prettierignore +0 -1
- package/.prettierrc +0 -9
- package/AGENTS.md +0 -153
- package/Dockerfile +0 -18
- package/QQ/351/237/263/344/271/220-v0.xmind +0 -0
- package/QQ/351/237/263/344/271/220-v1.xmind +0 -0
- package/app.ts +0 -68
- package/commitlint.config.js +0 -20
- package/config/user-info.ts +0 -71
- package/index.ts +0 -1
- package/jest.config.ts +0 -41
- package/middlewares/koa-cors.ts +0 -81
- package/module/apis/UCommon/UCommon.ts +0 -13
- package/module/apis/album/getAlbumInfo.ts +0 -22
- package/module/apis/comments/getComments.ts +0 -23
- package/module/apis/digitalAlbum/getDigitalAlbumLists.ts +0 -23
- package/module/apis/downloadQQMusic.ts +0 -51
- package/module/apis/music/getLyric.ts +0 -34
- package/module/apis/mv/getMvByTag.ts +0 -24
- package/module/apis/radio/getRadioLists.ts +0 -27
- package/module/apis/rank/getTopLists.ts +0 -37
- package/module/apis/search/getHotKey.ts +0 -24
- package/module/apis/search/getSearchByKey.ts +0 -31
- package/module/apis/search/getSmartbox.ts +0 -43
- package/module/apis/singers/getSimilarSinger.ts +0 -25
- package/module/apis/singers/getSingerDesc.ts +0 -25
- package/module/apis/singers/getSingerMv.ts +0 -24
- package/module/apis/singers/getSingerStarNum.ts +0 -24
- package/module/apis/songLists/songListCategories.ts +0 -22
- package/module/apis/songLists/songListDetail.ts +0 -27
- package/module/apis/songLists/songLists.ts +0 -35
- package/module/apis/u_common.ts +0 -29
- package/module/apis/user/checkQQLoginQr.ts +0 -230
- package/module/apis/user/getQQLoginQr.ts +0 -28
- package/module/apis/user/getUserAvatar.ts +0 -32
- package/module/apis/user/getUserLikedSongs.ts +0 -145
- package/module/apis/user/getUserPlaylists.ts +0 -163
- package/module/apis/y_common.ts +0 -44
- package/module/config.ts +0 -24
- package/module/index.ts +0 -95
- package/music.png +0 -0
- package/pnpm-workspace.yaml +0 -2
- package/public/index.html +0 -430
- package/routers/context/batchGetSongInfo.ts +0 -60
- package/routers/context/batchGetSongLists.ts +0 -46
- package/routers/context/checkQQLoginQr.ts +0 -19
- package/routers/context/cookies.ts +0 -38
- package/routers/context/getAlbumInfo.ts +0 -31
- package/routers/context/getComments.ts +0 -51
- package/routers/context/getDigitalAlbumLists.ts +0 -18
- package/routers/context/getDownloadQQMusic.ts +0 -17
- package/routers/context/getHotkey.ts +0 -25
- package/routers/context/getImageUrl.ts +0 -29
- package/routers/context/getLyric.ts +0 -32
- package/routers/context/getMusicPlay.ts +0 -102
- package/routers/context/getMv.ts +0 -61
- package/routers/context/getMvByTag.ts +0 -18
- package/routers/context/getMvPlay.ts +0 -114
- package/routers/context/getNewDisks.ts +0 -58
- package/routers/context/getQQLoginQr.ts +0 -16
- package/routers/context/getRadioLists.ts +0 -18
- package/routers/context/getRanks.ts +0 -67
- package/routers/context/getRecommend.ts +0 -92
- package/routers/context/getSearchByKey.ts +0 -34
- package/routers/context/getSimilarSinger.ts +0 -29
- package/routers/context/getSingerAlbum.ts +0 -58
- package/routers/context/getSingerDesc.ts +0 -30
- package/routers/context/getSingerHotsong.ts +0 -58
- package/routers/context/getSingerList.ts +0 -56
- package/routers/context/getSingerMv.ts +0 -41
- package/routers/context/getSingerStarNum.ts +0 -29
- package/routers/context/getSmartbox.ts +0 -27
- package/routers/context/getSongInfo.ts +0 -51
- package/routers/context/getSongListCategories.ts +0 -23
- package/routers/context/getSongListDetail.ts +0 -22
- package/routers/context/getSongLists.ts +0 -30
- package/routers/context/getTicketInfo.ts +0 -51
- package/routers/context/getTopLists.ts +0 -18
- package/routers/context/getUserAvatar.ts +0 -53
- package/routers/context/getUserLikedSongs.ts +0 -28
- package/routers/context/getUserPlaylists.ts +0 -29
- package/routers/context/index.ts +0 -87
- package/routers/router.ts +0 -88
- package/routers/types.ts +0 -18
- package/routers/util.ts +0 -231
- package/screenshot/album-image.png +0 -0
- package/screenshot/batchGetSongInfo.png +0 -0
- package/screenshot/batchGetSongLists.png +0 -0
- package/screenshot/downloadQQMusic.png +0 -0
- package/screenshot/get-album-image.png +0 -0
- package/screenshot/get-play-all-data.png +0 -0
- package/screenshot/get-song-album-id.png +0 -0
- package/screenshot/get-song-id.png +0 -0
- package/screenshot/get-song-image.png +0 -0
- package/screenshot/getAlbumInfo.png +0 -0
- package/screenshot/getComments-id.png +0 -0
- package/screenshot/getComments-param.png +0 -0
- package/screenshot/getComments.png +0 -0
- package/screenshot/getDigitalAlbumLists.png +0 -0
- package/screenshot/getLyric-parse.png +0 -0
- package/screenshot/getLyric.png +0 -0
- package/screenshot/getMusicPlay.png +0 -0
- package/screenshot/getMv.png +0 -0
- package/screenshot/getMvByTag.png +0 -0
- package/screenshot/getMvPlay.png +0 -0
- package/screenshot/getNewDisks.png +0 -0
- package/screenshot/getRadioLists.png +0 -0
- package/screenshot/getRanks.png +0 -0
- package/screenshot/getRecommend.png +0 -0
- package/screenshot/getSearchByKey.png +0 -0
- package/screenshot/getSimilarSinger.png +0 -0
- package/screenshot/getSingerAlbum.png +0 -0
- package/screenshot/getSingerDesc.png +0 -0
- package/screenshot/getSingerHotsong.png +0 -0
- package/screenshot/getSingerList.png +0 -0
- package/screenshot/getSingerMv-default.png +0 -0
- package/screenshot/getSingerMv-listen.png +0 -0
- package/screenshot/getSingerMv-time.png +0 -0
- package/screenshot/getSingerStarNum.png +0 -0
- package/screenshot/getSmartbox.png +0 -0
- package/screenshot/getSongInfo.png +0 -0
- package/screenshot/getSongListCategories.png +0 -0
- package/screenshot/getSongListDetail.png +0 -0
- package/screenshot/getSongLists-params.png +0 -0
- package/screenshot/getSongLists.png +0 -0
- package/screenshot/getTicketInfo.png +0 -0
- package/screenshot/getTopLists.png +0 -0
- package/screenshot/gethotkey.png +0 -0
- package/screenshot/just-get-play-url.png +0 -0
- package/screenshot/musicPlay.png +0 -0
- package/screenshot/new-feature-error-tips.png +0 -0
- package/screenshot/normalize-cookie.png +0 -0
- package/screenshot/qq-music-v0.png +0 -0
- package/screenshot/qq-music.png +0 -0
- package/screenshot/song-image.png +0 -0
- package/screenshot/song-quality-128.png +0 -0
- package/screenshot/song-quality-m4a.png +0 -0
- package/scripts/build-images.js +0 -36
- package/scripts/commit-push.sh +0 -103
- package/tests/integration/api/api.test.ts +0 -852
- package/tests/integration/middleware/cors.test.ts +0 -41
- package/tests/setup/jest.setup.ts +0 -15
- package/tests/setup/testUtils.ts +0 -35
- package/tests/unit/util/request.test.ts +0 -177
- package/tsconfig.json +0 -20
- package/tsconfig.test.json +0 -8
- package/types/api.ts +0 -105
- package/types/global.d.ts +0 -26
- package/types/index.d.ts +0 -97
- package/util/apiResponse.ts +0 -97
- package/util/colors.ts +0 -31
- package/util/cookie.ts +0 -40
- package/util/loginUtils.ts +0 -26
- package/util/lyricParse.ts +0 -86
- package/util/request.ts +0 -141
- package/vercel.json +0 -15
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{_ as i,o as a,c as t,ag as n}from"./chunks/framework.o40iizuP.js";const o=JSON.parse('{"title":"歌单相关 API","description":"","frontmatter":{},"headers":[],"relativePath":"api/playlist.md","filePath":"api/playlist.md","lastUpdated":1772969060000}'),h={name:"api/playlist.md"};function p(l,s,k,e,d,r){return a(),t("div",null,[...s[0]||(s[0]=[n("",45)])])}const y=i(h,[["render",p]]);export{o as __pageData,y as default};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import{_ as i,o as a,c as t,ag as n}from"./chunks/framework.o40iizuP.js";const o=JSON.parse('{"title":"排行榜 API","description":"","frontmatter":{},"headers":[],"relativePath":"api/rank.md","filePath":"api/rank.md","lastUpdated":1772969060000}'),h={name:"api/rank.md"};function l(k,s,p,e,d,r){return a(),t("div",null,[...s[0]||(s[0]=[n(`<h1 id="排行榜-api" tabindex="-1">排行榜 API <a class="header-anchor" href="#排行榜-api" aria-label="Permalink to "排行榜 API""></a></h1><p>各种音乐排行榜接口。</p><h2 id="获取排行榜列表" tabindex="-1">获取排行榜列表 <a class="header-anchor" href="#获取排行榜列表" aria-label="Permalink to "获取排行榜列表""></a></h2><p>获取所有排行榜列表或具体榜单详情。</p><p><strong>接口:</strong> <code>GET /getRanks</code></p><p><strong>参数:</strong></p><table tabindex="0"><thead><tr><th>参数</th><th>类型</th><th>必填</th><th>说明</th></tr></thead><tbody><tr><td>topId</td><td>number</td><td>否</td><td>榜单 ID(不传返回所有榜单)</td></tr><tr><td>limit</td><td>number</td><td>否</td><td>返回数量限制</td></tr><tr><td>page</td><td>number</td><td>否</td><td>页码</td></tr></tbody></table><p><strong>示例:</strong></p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD;"># 获取所有榜单</span></span>
|
|
2
|
+
<span class="line"><span style="--shiki-light:#59873A;--shiki-dark:#80A665;">curl</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">http://localhost:3200/getRanks</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span></span>
|
|
3
|
+
<span class="line"></span>
|
|
4
|
+
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD;"># 获取具体榜单</span></span>
|
|
5
|
+
<span class="line"><span style="--shiki-light:#59873A;--shiki-dark:#80A665;">curl</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">http://localhost:3200/getRanks?topId=4&limit=20</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span></span></code></pre></div><p><strong>响应:</strong></p><div class="language-json vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">json</span><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">{</span></span>
|
|
6
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">code</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#2F798A;--shiki-dark:#4C9A91;"> 0</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span></span>
|
|
7
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">msg</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">success</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span></span>
|
|
8
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">data</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> {</span></span>
|
|
9
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">topList</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> {</span></span>
|
|
10
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">id</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#2F798A;--shiki-dark:#4C9A91;"> 4</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span></span>
|
|
11
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">name</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">飙升榜</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span></span>
|
|
12
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">period</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">2026_10</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span></span>
|
|
13
|
+
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> },</span></span>
|
|
14
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">songList</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> [</span></span>
|
|
15
|
+
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> {</span></span>
|
|
16
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">songName</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">歌曲名</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span></span>
|
|
17
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">singerName</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">歌手名</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span></span>
|
|
18
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">rank</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#2F798A;--shiki-dark:#4C9A91;"> 1</span></span>
|
|
19
|
+
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> }</span></span>
|
|
20
|
+
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> ]</span></span>
|
|
21
|
+
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> }</span></span>
|
|
22
|
+
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">}</span></span></code></pre></div><h2 id="常见榜单-id" tabindex="-1">常见榜单 ID <a class="header-anchor" href="#常见榜单-id" aria-label="Permalink to "常见榜单 ID""></a></h2><table tabindex="0"><thead><tr><th>ID</th><th>榜单名称</th></tr></thead><tbody><tr><td>4</td><td>飙升榜</td></tr><tr><td>62</td><td>热歌榜</td></tr><tr><td>208</td><td>新歌榜</td></tr><tr><td>6</td><td>原创榜</td></tr><tr><td>104</td><td>MV 榜</td></tr></tbody></table><h2 id="相关接口" tabindex="-1">相关接口 <a class="header-anchor" href="#相关接口" aria-label="Permalink to "相关接口""></a></h2><ul><li><a href="/qq-music-api/api/music.html">音乐相关 API</a></li><li><a href="/qq-music-api/api/playlist.html">歌单相关 API</a></li></ul>`,15)])])}const y=i(h,[["render",l]]);export{o as __pageData,y as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{_ as i,o as a,c as t,ag as n}from"./chunks/framework.o40iizuP.js";const o=JSON.parse('{"title":"排行榜 API","description":"","frontmatter":{},"headers":[],"relativePath":"api/rank.md","filePath":"api/rank.md","lastUpdated":1772969060000}'),h={name:"api/rank.md"};function l(k,s,p,e,d,r){return a(),t("div",null,[...s[0]||(s[0]=[n("",15)])])}const y=i(h,[["render",l]]);export{o as __pageData,y as default};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import{_ as i,o as a,c as t,ag as n}from"./chunks/framework.o40iizuP.js";const o=JSON.parse('{"title":"搜索 API","description":"","frontmatter":{},"headers":[],"relativePath":"api/search.md","filePath":"api/search.md","lastUpdated":1772969060000}'),h={name:"api/search.md"};function l(k,s,p,e,d,r){return a(),t("div",null,[...s[0]||(s[0]=[n(`<h1 id="搜索-api" tabindex="-1">搜索 API <a class="header-anchor" href="#搜索-api" aria-label="Permalink to "搜索 API""></a></h1><p>歌曲、歌手、专辑、歌单搜索接口。</p><h2 id="搜索" tabindex="-1">搜索 <a class="header-anchor" href="#搜索" aria-label="Permalink to "搜索""></a></h2><p>支持关键词搜索,返回歌曲、歌手、专辑等信息。</p><p><strong>接口:</strong> <code>GET /getSearchByKey</code></p><p><strong>参数:</strong></p><table tabindex="0"><thead><tr><th>参数</th><th>类型</th><th>必填</th><th>说明</th></tr></thead><tbody><tr><td>key</td><td>string</td><td>是</td><td>搜索关键词</td></tr><tr><td>limit</td><td>number</td><td>否</td><td>每页数量</td></tr><tr><td>page</td><td>number</td><td>否</td><td>页码</td></tr><tr><td>catZhida</td><td>number</td><td>否</td><td>是否开启智能搜索</td></tr></tbody></table><p><strong>示例:</strong></p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#59873A;--shiki-dark:#80A665;">curl</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">http://localhost:3200/getSearchByKey?key=周杰伦&limit=20</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span></span></code></pre></div><p><strong>响应:</strong></p><div class="language-json vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">json</span><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">{</span></span>
|
|
2
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">code</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#2F798A;--shiki-dark:#4C9A91;"> 0</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span></span>
|
|
3
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">msg</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">success</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span></span>
|
|
4
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">data</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> {</span></span>
|
|
5
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">song</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> {</span></span>
|
|
6
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">list</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> [</span><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic;">...</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">]</span></span>
|
|
7
|
+
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> },</span></span>
|
|
8
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">singer</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> {</span></span>
|
|
9
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">list</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> [</span><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic;">...</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">]</span></span>
|
|
10
|
+
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> },</span></span>
|
|
11
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">album</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> {</span></span>
|
|
12
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">list</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> [</span><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic;">...</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">]</span></span>
|
|
13
|
+
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> }</span></span>
|
|
14
|
+
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> }</span></span>
|
|
15
|
+
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">}</span></span></code></pre></div><h2 id="智能搜索-smartbox" tabindex="-1">智能搜索(Smartbox) <a class="header-anchor" href="#智能搜索-smartbox" aria-label="Permalink to "智能搜索(Smartbox)""></a></h2><p>智能搜索,返回综合结果。</p><p><strong>接口:</strong> <code>GET /getSmartbox</code></p><p><strong>参数:</strong></p><table tabindex="0"><thead><tr><th>参数</th><th>类型</th><th>必填</th><th>说明</th></tr></thead><tbody><tr><td>key</td><td>string</td><td>是</td><td>搜索关键词</td></tr></tbody></table><p><strong>示例:</strong></p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#59873A;--shiki-dark:#80A665;">curl</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">http://localhost:3200/getSmartbox?key=周杰伦</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span></span></code></pre></div><p><strong>响应:</strong></p><div class="language-json vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">json</span><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">{</span></span>
|
|
16
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">code</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#2F798A;--shiki-dark:#4C9A91;"> 0</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span></span>
|
|
17
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">msg</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">success</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span></span>
|
|
18
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">data</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> {</span></span>
|
|
19
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">result</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> {</span></span>
|
|
20
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">songList</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> [</span><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic;">...</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">],</span></span>
|
|
21
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">singerList</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> [</span><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic;">...</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">],</span></span>
|
|
22
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">albumList</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> [</span><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic;">...</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">]</span></span>
|
|
23
|
+
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> }</span></span>
|
|
24
|
+
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> }</span></span>
|
|
25
|
+
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">}</span></span></code></pre></div><h2 id="获取搜索热词" tabindex="-1">获取搜索热词 <a class="header-anchor" href="#获取搜索热词" aria-label="Permalink to "获取搜索热词""></a></h2><p>获取当前热门搜索关键词。</p><p><strong>接口:</strong> <code>GET /getHotkey</code></p><p><strong>示例:</strong></p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#59873A;--shiki-dark:#80A665;">curl</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">http://localhost:3200/getHotkey</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span></span></code></pre></div><p><strong>响应:</strong></p><div class="language-json vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">json</span><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">{</span></span>
|
|
26
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">code</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#2F798A;--shiki-dark:#4C9A91;"> 0</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span></span>
|
|
27
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">msg</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">success</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span></span>
|
|
28
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">data</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> {</span></span>
|
|
29
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">hotkey</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> [</span></span>
|
|
30
|
+
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> {</span></span>
|
|
31
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">k</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">关键词</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span></span>
|
|
32
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">n</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#2F798A;--shiki-dark:#4C9A91;"> 12345678</span></span>
|
|
33
|
+
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> }</span></span>
|
|
34
|
+
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> ]</span></span>
|
|
35
|
+
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> }</span></span>
|
|
36
|
+
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">}</span></span></code></pre></div><h2 id="搜索技巧" tabindex="-1">搜索技巧 <a class="header-anchor" href="#搜索技巧" aria-label="Permalink to "搜索技巧""></a></h2><ol><li><strong>精确搜索</strong>:使用引号包裹关键词</li><li><strong>组合搜索</strong>:使用空格分隔多个关键词</li><li><strong>排除搜索</strong>:使用减号排除特定词</li></ol><h2 id="相关接口" tabindex="-1">相关接口 <a class="header-anchor" href="#相关接口" aria-label="Permalink to "相关接口""></a></h2><ul><li><a href="/qq-music-api/api/music.html">音乐相关 API</a></li><li><a href="/qq-music-api/api/singer.html">歌手相关 API</a></li></ul>`,31)])])}const y=i(h,[["render",l]]);export{o as __pageData,y as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{_ as i,o as a,c as t,ag as n}from"./chunks/framework.o40iizuP.js";const o=JSON.parse('{"title":"搜索 API","description":"","frontmatter":{},"headers":[],"relativePath":"api/search.md","filePath":"api/search.md","lastUpdated":1772969060000}'),h={name:"api/search.md"};function l(k,s,p,e,d,r){return a(),t("div",null,[...s[0]||(s[0]=[n("",31)])])}const y=i(h,[["render",l]]);export{o as __pageData,y as default};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import{_ as i,o as t,c as a,ag as h}from"./chunks/framework.o40iizuP.js";const g=JSON.parse('{"title":"歌手相关 API","description":"","frontmatter":{},"headers":[],"relativePath":"api/singer.md","filePath":"api/singer.md","lastUpdated":1772969060000}'),n={name:"api/singer.md"};function e(l,s,p,d,k,r){return t(),a("div",null,[...s[0]||(s[0]=[h(`<h1 id="歌手相关-api" tabindex="-1">歌手相关 API <a class="header-anchor" href="#歌手相关-api" aria-label="Permalink to "歌手相关 API""></a></h1><p>歌手列表、歌手详情、热门歌曲、MV 等接口。</p><h2 id="获取歌手列表" tabindex="-1">获取歌手列表 <a class="header-anchor" href="#获取歌手列表" aria-label="Permalink to "获取歌手列表""></a></h2><p>获取歌手列表,支持筛选。</p><p><strong>接口:</strong> <code>GET /getSingerList</code></p><p><strong>参数:</strong></p><table tabindex="0"><thead><tr><th>参数</th><th>类型</th><th>必填</th><th>说明</th></tr></thead><tbody><tr><td>area</td><td>number</td><td>否</td><td>地区(-1=全部,2=华语,3=欧美等)</td></tr><tr><td>sex</td><td>number</td><td>否</td><td>性别(-1=全部,1=男,2=女)</td></tr><tr><td>genre</td><td>number</td><td>否</td><td>流派(-1=全部,1=流行,2=摇滚等)</td></tr><tr><td>page</td><td>number</td><td>否</td><td>页码</td></tr><tr><td>limit</td><td>number</td><td>否</td><td>每页数量</td></tr></tbody></table><p><strong>示例:</strong></p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#59873A;--shiki-dark:#80A665;">curl</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">http://localhost:3200/getSingerList?area=-1&sex=-1&limit=20</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span></span></code></pre></div><p><strong>响应:</strong></p><div class="language-json vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">json</span><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">{</span></span>
|
|
2
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">code</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#2F798A;--shiki-dark:#4C9A91;"> 0</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span></span>
|
|
3
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">msg</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">success</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span></span>
|
|
4
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">data</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> {</span></span>
|
|
5
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">singers</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> [</span></span>
|
|
6
|
+
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> {</span></span>
|
|
7
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">singerName</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">歌手名</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span></span>
|
|
8
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">singerMID</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">0025NhlN2yWrP4</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span></span>
|
|
9
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">singerPic</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">http://...</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span></span>
|
|
10
|
+
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> }</span></span>
|
|
11
|
+
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> ]</span></span>
|
|
12
|
+
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> }</span></span>
|
|
13
|
+
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">}</span></span></code></pre></div><h2 id="获取歌手详情" tabindex="-1">获取歌手详情 <a class="header-anchor" href="#获取歌手详情" aria-label="Permalink to "获取歌手详情""></a></h2><p>获取歌手详细描述信息。</p><p><strong>接口:</strong> <code>GET /getSingerDesc</code></p><p><strong>参数:</strong></p><table tabindex="0"><thead><tr><th>参数</th><th>类型</th><th>必填</th><th>说明</th></tr></thead><tbody><tr><td>singermid</td><td>string</td><td>是</td><td>歌手 MID</td></tr></tbody></table><p><strong>示例:</strong></p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#59873A;--shiki-dark:#80A665;">curl</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">http://localhost:3200/getSingerDesc?singermid=0025NhlN2yWrP4</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span></span></code></pre></div><p><strong>响应:</strong></p><div class="language-json vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">json</span><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">{</span></span>
|
|
14
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">code</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#2F798A;--shiki-dark:#4C9A91;"> 0</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span></span>
|
|
15
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">msg</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">success</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span></span>
|
|
16
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">data</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> {</span></span>
|
|
17
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">desc</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">歌手详细介绍...</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span></span>
|
|
18
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">birth</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">出生日期</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span></span>
|
|
19
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">birthPlace</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">出生地</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span></span>
|
|
20
|
+
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> }</span></span>
|
|
21
|
+
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">}</span></span></code></pre></div><h2 id="获取歌手热门歌曲" tabindex="-1">获取歌手热门歌曲 <a class="header-anchor" href="#获取歌手热门歌曲" aria-label="Permalink to "获取歌手热门歌曲""></a></h2><p>获取歌手的热门歌曲列表。</p><p><strong>接口:</strong> <code>GET /getSingerHotsong</code></p><p><strong>参数:</strong></p><table tabindex="0"><thead><tr><th>参数</th><th>类型</th><th>必填</th><th>说明</th></tr></thead><tbody><tr><td>singermid</td><td>string</td><td>是</td><td>歌手 MID</td></tr><tr><td>limit</td><td>number</td><td>否</td><td>数量限制</td></tr><tr><td>page</td><td>number</td><td>否</td><td>页码</td></tr></tbody></table><p><strong>示例:</strong></p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#59873A;--shiki-dark:#80A665;">curl</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">http://localhost:3200/getSingerHotsong?singermid=0025NhlN2yWrP4&limit=20</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span></span></code></pre></div><h2 id="获取歌手专辑" tabindex="-1">获取歌手专辑 <a class="header-anchor" href="#获取歌手专辑" aria-label="Permalink to "获取歌手专辑""></a></h2><p>获取歌手的专辑列表。</p><p><strong>接口:</strong> <code>GET /getSingerAlbum</code></p><p><strong>参数:</strong></p><table tabindex="0"><thead><tr><th>参数</th><th>类型</th><th>必填</th><th>说明</th></tr></thead><tbody><tr><td>singermid</td><td>string</td><td>是</td><td>歌手 MID</td></tr><tr><td>limit</td><td>number</td><td>否</td><td>数量限制</td></tr><tr><td>page</td><td>number</td><td>否</td><td>页码</td></tr></tbody></table><p><strong>示例:</strong></p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#59873A;--shiki-dark:#80A665;">curl</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">http://localhost:3200/getSingerAlbum?singermid=0025NhlN2yWrP4&limit=20</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span></span></code></pre></div><h2 id="获取歌手-mv" tabindex="-1">获取歌手 MV <a class="header-anchor" href="#获取歌手-mv" aria-label="Permalink to "获取歌手 MV""></a></h2><p>获取歌手的 MV 列表。</p><p><strong>接口:</strong> <code>GET /getSingerMv</code></p><p><strong>参数:</strong></p><table tabindex="0"><thead><tr><th>参数</th><th>类型</th><th>必填</th><th>说明</th></tr></thead><tbody><tr><td>singermid</td><td>string</td><td>是</td><td>歌手 MID</td></tr><tr><td>limit</td><td>number</td><td>否</td><td>数量限制</td></tr><tr><td>order</td><td>string</td><td>否</td><td>排序(time=时间,listen=播放量)</td></tr></tbody></table><p><strong>示例:</strong></p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#59873A;--shiki-dark:#80A665;">curl</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">http://localhost:3200/getSingerMv?singermid=0025NhlN2yWrP4&limit=20&order=listen</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span></span></code></pre></div><h2 id="获取相似歌手" tabindex="-1">获取相似歌手 <a class="header-anchor" href="#获取相似歌手" aria-label="Permalink to "获取相似歌手""></a></h2><p>获取与指定歌手相似的歌手列表。</p><p><strong>接口:</strong> <code>GET /getSimilarSinger</code></p><p><strong>参数:</strong></p><table tabindex="0"><thead><tr><th>参数</th><th>类型</th><th>必填</th><th>说明</th></tr></thead><tbody><tr><td>singermid</td><td>string</td><td>是</td><td>歌手 MID</td></tr></tbody></table><p><strong>示例:</strong></p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#59873A;--shiki-dark:#80A665;">curl</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">http://localhost:3200/getSimilarSinger?singermid=0025NhlN2yWrP4</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span></span></code></pre></div><h2 id="获取歌手热度" tabindex="-1">获取歌手热度 <a class="header-anchor" href="#获取歌手热度" aria-label="Permalink to "获取歌手热度""></a></h2><p>获取歌手的热度值(粉丝数等)。</p><p><strong>接口:</strong> <code>GET /getSingerStarNum</code></p><p><strong>参数:</strong></p><table tabindex="0"><thead><tr><th>参数</th><th>类型</th><th>必填</th><th>说明</th></tr></thead><tbody><tr><td>singermid</td><td>string</td><td>是</td><td>歌手 MID</td></tr></tbody></table><p><strong>示例:</strong></p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#59873A;--shiki-dark:#80A665;">curl</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">http://localhost:3200/getSingerStarNum?singermid=0025NhlN2yWrP4</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span></span></code></pre></div><h2 id="相关接口" tabindex="-1">相关接口 <a class="header-anchor" href="#相关接口" aria-label="Permalink to "相关接口""></a></h2><ul><li><a href="/qq-music-api/api/music.html">音乐相关 API</a></li><li><a href="/qq-music-api/api/other.html">MV 相关 API</a></li></ul>`,57)])])}const c=i(n,[["render",e]]);export{g as __pageData,c as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{_ as i,o as t,c as a,ag as h}from"./chunks/framework.o40iizuP.js";const g=JSON.parse('{"title":"歌手相关 API","description":"","frontmatter":{},"headers":[],"relativePath":"api/singer.md","filePath":"api/singer.md","lastUpdated":1772969060000}'),n={name:"api/singer.md"};function e(l,s,p,d,k,r){return t(),a("div",null,[...s[0]||(s[0]=[h("",57)])])}const c=i(n,[["render",e]]);export{g as __pageData,c as default};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import{_ as i,o as a,c as t,ag as h}from"./chunks/framework.o40iizuP.js";const c=JSON.parse('{"title":"用户接口","description":"","frontmatter":{},"headers":[],"relativePath":"api/user.md","filePath":"api/user.md","lastUpdated":1772969060000}'),n={name:"api/user.md"};function l(e,s,k,p,d,r){return a(),t("div",null,[...s[0]||(s[0]=[h(`<h1 id="用户接口" tabindex="-1">用户接口 <a class="header-anchor" href="#用户接口" aria-label="Permalink to "用户接口""></a></h1><p>本页整理与用户信息、登录、头像、歌单获取相关的接口能力。</p><h2 id="接口总览" tabindex="-1">接口总览 <a class="header-anchor" href="#接口总览" aria-label="Permalink to "接口总览""></a></h2><ul><li><code>GET /user/getUserPlaylists</code></li><li><code>GET /user/getUserAvatar</code></li><li><code>GET /user/getQQLoginQr</code></li><li><code>POST /user/checkQQLoginQr</code></li></ul><h2 id="获取用户歌单" tabindex="-1">获取用户歌单 <a class="header-anchor" href="#获取用户歌单" aria-label="Permalink to "获取用户歌单""></a></h2><h3 id="接口" tabindex="-1">接口 <a class="header-anchor" href="#接口" aria-label="Permalink to "接口""></a></h3><p><code>GET /user/getUserPlaylists</code></p><h3 id="说明" tabindex="-1">说明 <a class="header-anchor" href="#说明" aria-label="Permalink to "说明""></a></h3><p>获取指定用户的歌单列表。该接口通常与登录态配置配合使用。</p><h3 id="参数" tabindex="-1">参数 <a class="header-anchor" href="#参数" aria-label="Permalink to "参数""></a></h3><table tabindex="0"><thead><tr><th>参数</th><th>类型</th><th>必填</th><th>默认值</th><th>说明</th></tr></thead><tbody><tr><td>uin</td><td>string</td><td>是</td><td>-</td><td>QQ 用户号码</td></tr><tr><td>offset</td><td>number</td><td>否</td><td>0</td><td>偏移量</td></tr><tr><td>limit</td><td>number</td><td>否</td><td>30</td><td>返回数量</td></tr></tbody></table><h3 id="请求示例" tabindex="-1">请求示例 <a class="header-anchor" href="#请求示例" aria-label="Permalink to "请求示例""></a></h3><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#59873A;--shiki-dark:#80A665;">curl</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">http://localhost:3200/user/getUserPlaylists?uin=123456789&offset=0&limit=30</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span></span></code></pre></div><h3 id="响应示例" tabindex="-1">响应示例 <a class="header-anchor" href="#响应示例" aria-label="Permalink to "响应示例""></a></h3><div class="language-json vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">json</span><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">{</span></span>
|
|
2
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">code</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#2F798A;--shiki-dark:#4C9A91;"> 0</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span></span>
|
|
3
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">data</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> {</span></span>
|
|
4
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">playlists</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> [</span></span>
|
|
5
|
+
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> {</span></span>
|
|
6
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">dissid</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">123456</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span></span>
|
|
7
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">dissname</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">我的歌单</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span></span>
|
|
8
|
+
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> }</span></span>
|
|
9
|
+
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> ]</span></span>
|
|
10
|
+
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> }</span></span>
|
|
11
|
+
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">}</span></span></code></pre></div><h3 id="注意事项" tabindex="-1">注意事项 <a class="header-anchor" href="#注意事项" aria-label="Permalink to "注意事项""></a></h3><ul><li>部分场景依赖有效登录态</li><li>如果返回异常,优先检查 Cookie 是否过期</li><li>当前接口对外返回标准化后的 <code>playlists</code> 字段,不透出上游原始 payload</li><li>当前接口仍在持续验证与调整中,建议结合 <a href="./../TEST_USER_PLAYLISTS.html"><code>docs/TEST_USER_PLAYLISTS.md</code></a> 一起阅读</li><li>建议结合 <a href="/qq-music-api/guide/authentication.html">认证与登录</a> 页面一起使用</li></ul><h2 id="获取用户头像" tabindex="-1">获取用户头像 <a class="header-anchor" href="#获取用户头像" aria-label="Permalink to "获取用户头像""></a></h2><h3 id="接口-1" tabindex="-1">接口 <a class="header-anchor" href="#接口-1" aria-label="Permalink to "接口""></a></h3><p><code>GET /user/getUserAvatar</code></p><h3 id="说明-1" tabindex="-1">说明 <a class="header-anchor" href="#说明-1" aria-label="Permalink to "说明""></a></h3><p>获取 QQ 用户头像地址,支持通过 <code>uin</code> 或 <code>k</code> 参数生成头像 URL。</p><h3 id="参数-1" tabindex="-1">参数 <a class="header-anchor" href="#参数-1" aria-label="Permalink to "参数""></a></h3><table tabindex="0"><thead><tr><th>参数</th><th>类型</th><th>必填</th><th>默认值</th><th>说明</th></tr></thead><tbody><tr><td>uin</td><td>string</td><td>否</td><td>-</td><td>QQ 号码</td></tr><tr><td>k</td><td>string</td><td>否</td><td>-</td><td>QQ 头像 key</td></tr><tr><td>size</td><td>number</td><td>否</td><td>140</td><td>头像尺寸,支持 <code>40</code>、<code>100</code>、<code>140</code>、<code>640</code></td></tr></tbody></table><h3 id="请求示例-1" tabindex="-1">请求示例 <a class="header-anchor" href="#请求示例-1" aria-label="Permalink to "请求示例""></a></h3><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#59873A;--shiki-dark:#80A665;">curl</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">http://localhost:3200/user/getUserAvatar?uin=123456789&size=140</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span></span></code></pre></div><h3 id="响应示例-1" tabindex="-1">响应示例 <a class="header-anchor" href="#响应示例-1" aria-label="Permalink to "响应示例""></a></h3><div class="language-json vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">json</span><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">{</span></span>
|
|
12
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">response</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> {</span></span>
|
|
13
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">code</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#2F798A;--shiki-dark:#4C9A91;"> 0</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span></span>
|
|
14
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">data</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> {</span></span>
|
|
15
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">avatarUrl</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">https://q.qlogo.cn/headimg_dl?dst_uin=123456789&spec=140</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span></span>
|
|
16
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">message</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">获取头像成功</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span></span>
|
|
17
|
+
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> }</span></span>
|
|
18
|
+
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> }</span></span>
|
|
19
|
+
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">}</span></span></code></pre></div><h3 id="错误示例" tabindex="-1">错误示例 <a class="header-anchor" href="#错误示例" aria-label="Permalink to "错误示例""></a></h3><div class="language-json vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">json</span><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">{</span></span>
|
|
20
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">error</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">size 参数无效</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span></span>
|
|
21
|
+
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">}</span></span></code></pre></div><h3 id="注意事项-1" tabindex="-1">注意事项 <a class="header-anchor" href="#注意事项-1" aria-label="Permalink to "注意事项""></a></h3><ul><li>如果同时提供 <code>k</code> 和 <code>uin</code>,优先使用 <code>k</code></li><li>当传入重复 query 参数时,服务端只会读取第 1 个值</li><li><code>size</code> 必须为大于 0 的数字</li><li><code>640</code> 通常可获取高清头像</li><li>头像接口适合直接用于前端展示</li></ul><h2 id="获取登录二维码" tabindex="-1">获取登录二维码 <a class="header-anchor" href="#获取登录二维码" aria-label="Permalink to "获取登录二维码""></a></h2><h3 id="接口-2" tabindex="-1">接口 <a class="header-anchor" href="#接口-2" aria-label="Permalink to "接口""></a></h3><p><code>GET /user/getQQLoginQr</code></p><h3 id="说明-2" tabindex="-1">说明 <a class="header-anchor" href="#说明-2" aria-label="Permalink to "说明""></a></h3><p>获取 QQ 登录二维码,用于扫码登录流程。</p><h3 id="参数-2" tabindex="-1">参数 <a class="header-anchor" href="#参数-2" aria-label="Permalink to "参数""></a></h3><p>无。</p><h3 id="请求示例-2" tabindex="-1">请求示例 <a class="header-anchor" href="#请求示例-2" aria-label="Permalink to "请求示例""></a></h3><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#59873A;--shiki-dark:#80A665;">curl</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">http://localhost:3200/user/getQQLoginQr</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span></span></code></pre></div><h3 id="响应说明" tabindex="-1">响应说明 <a class="header-anchor" href="#响应说明" aria-label="Permalink to "响应说明""></a></h3><p>成功时会返回二维码图片的 Base64 数据,以及后续轮询登录状态所需的关键字段,例如 <code>ptqrtoken</code> 与 <code>qrsig</code>。</p><h3 id="注意事项-2" tabindex="-1">注意事项 <a class="header-anchor" href="#注意事项-2" aria-label="Permalink to "注意事项""></a></h3><ul><li>兼容公开入口 <code>GET /getQQLoginQr</code></li><li>建议保存返回中的关键字段,用于后续轮询登录状态</li></ul><h2 id="检查扫码登录状态" tabindex="-1">检查扫码登录状态 <a class="header-anchor" href="#检查扫码登录状态" aria-label="Permalink to "检查扫码登录状态""></a></h2><h3 id="接口-3" tabindex="-1">接口 <a class="header-anchor" href="#接口-3" aria-label="Permalink to "接口""></a></h3><p><code>POST /user/checkQQLoginQr</code></p><h3 id="说明-3" tabindex="-1">说明 <a class="header-anchor" href="#说明-3" aria-label="Permalink to "说明""></a></h3><p>根据二维码登录流程中的关键字段,轮询扫码状态。</p><h3 id="参数-3" tabindex="-1">参数 <a class="header-anchor" href="#参数-3" aria-label="Permalink to "参数""></a></h3><table tabindex="0"><thead><tr><th>参数</th><th>类型</th><th>必填</th><th>默认值</th><th>说明</th></tr></thead><tbody><tr><td>qrsig</td><td>string</td><td>是</td><td>-</td><td>二维码签名</td></tr><tr><td>ptqrtoken</td><td>string</td><td>否</td><td>-</td><td>登录状态轮询 token</td></tr></tbody></table><h3 id="请求示例-3" tabindex="-1">请求示例 <a class="header-anchor" href="#请求示例-3" aria-label="Permalink to "请求示例""></a></h3><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#59873A;--shiki-dark:#80A665;">curl</span><span style="--shiki-light:#A65E2B;--shiki-dark:#C99076;"> -X</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;"> POST</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">http://localhost:3200/user/checkQQLoginQr</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#A65E2B;--shiki-dark:#C99076;"> \\</span></span>
|
|
22
|
+
<span class="line"><span style="--shiki-light:#A65E2B;--shiki-dark:#C99076;"> -H</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">Content-Type: application/json</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#A65E2B;--shiki-dark:#C99076;"> \\</span></span>
|
|
23
|
+
<span class="line"><span style="--shiki-light:#A65E2B;--shiki-dark:#C99076;"> -d</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> '</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">{"qrsig":"你的 qrsig","ptqrtoken":"你的 ptqrtoken"}</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">'</span></span></code></pre></div><h3 id="成功示例" tabindex="-1">成功示例 <a class="header-anchor" href="#成功示例" aria-label="Permalink to "成功示例""></a></h3><div class="language-json vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">json</span><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">{</span></span>
|
|
24
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">isOk</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;"> true</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span></span>
|
|
25
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">message</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">登录成功</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span></span>
|
|
26
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">session</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> {</span></span>
|
|
27
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">loginUin</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">o123456789</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span></span>
|
|
28
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">uin</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">o123456789</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span></span>
|
|
29
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">cookie</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">uin=o123456789; qm_keyst=xxx</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span></span>
|
|
30
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">cookieList</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> [</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">uin=o123456789</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">qm_keyst=xxx</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">],</span></span>
|
|
31
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">cookieObject</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> {</span></span>
|
|
32
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">uin</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">o123456789</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span></span>
|
|
33
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">qm_keyst</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">xxx</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span></span>
|
|
34
|
+
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> }</span></span>
|
|
35
|
+
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> }</span></span>
|
|
36
|
+
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">}</span></span></code></pre></div><h3 id="失败示例" tabindex="-1">失败示例 <a class="header-anchor" href="#失败示例" aria-label="Permalink to "失败示例""></a></h3><div class="language-json vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">json</span><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">{</span></span>
|
|
37
|
+
<span class="line"><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">error</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">授权响应异常,未返回跳转地址</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span></span>
|
|
38
|
+
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">}</span></span></code></pre></div><h3 id="注意事项-3" tabindex="-1">注意事项 <a class="header-anchor" href="#注意事项-3" aria-label="Permalink to "注意事项""></a></h3><ul><li>兼容公开入口 <code>POST /checkQQLoginQr</code></li><li>建议与 <a href="#获取登录二维码"><code>/user/getQQLoginQr</code></a> 配合使用</li><li>当前实现已覆盖超时、二维码失效、缺少 <code>p_skey</code>、授权跳转缺少 <code>code</code> 等常见失败分支</li></ul><h2 id="相关接口" tabindex="-1">相关接口 <a class="header-anchor" href="#相关接口" aria-label="Permalink to "相关接口""></a></h2><ul><li><a href="/qq-music-api/guide/authentication.html">认证与登录</a></li><li><a href="/qq-music-api/api/other.html">其他接口</a></li><li><a href="/qq-music-api/guide/quickstart.html">快速开始</a></li></ul>`,62)])])}const g=i(n,[["render",l]]);export{c as __pageData,g as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{_ as i,o as a,c as t,ag as h}from"./chunks/framework.o40iizuP.js";const c=JSON.parse('{"title":"用户接口","description":"","frontmatter":{},"headers":[],"relativePath":"api/user.md","filePath":"api/user.md","lastUpdated":1772969060000}'),n={name:"api/user.md"};function l(e,s,k,p,d,r){return a(),t("div",null,[...s[0]||(s[0]=[h("",62)])])}const g=i(n,[["render",l]]);export{c as __pageData,g as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as p}from"./chunks/theme.pGVgJ9Cx.js";import{R as s,a2 as i,a3 as u,a4 as c,a5 as l,a6 as f,a7 as d,a8 as m,a9 as h,aa as g,ab as A,d as v,u as y,v as C,s as P,ac as b,ad as w,ae as R,af as E}from"./chunks/framework.o40iizuP.js";function r(e){if(e.extends){const a=r(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const n=r(p),S=v({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=y();return C(()=>{P(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&b(),w(),R(),n.setup&&n.setup(),()=>E(n.Layout)}});async function T(){globalThis.__VITEPRESS__=!0;const e=_(),a=D();a.provide(u,e);const t=c(e.route);return a.provide(l,t),a.component("Content",f),a.component("ClientOnly",d),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),n.enhanceApp&&await n.enhanceApp({app:a,router:e,siteData:m}),{app:a,router:e,data:t}}function D(){return A(S)}function _(){let e=s;return h(a=>{let t=g(a),o=null;return t&&(e&&(t=t.replace(/\.js$/,".lean.js")),o=import(t)),s&&(e=!1),o},n.NotFound)}s&&T().then(({app:e,router:a,data:t})=>{a.go().then(()=>{i(a.route,t.site),e.mount("#app")})});export{T as createApp};
|