@sansenjian/qq-music-api 2.2.10 → 2.3.1
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 +19 -1
- package/README.md +10 -11
- package/dist/app.js +0 -1
- package/dist/koaApp.js +5 -1
- package/dist/module/apis/downloadQQMusic.js +2 -1
- package/dist/module/apis/music/getMusicPlay.js +3 -2
- package/dist/package.json +20 -16
- package/dist/routers/context/getNewDisks.js +4 -0
- package/dist/routers/context/getRecommend.js +4 -0
- package/dist/routers/context/getTicketInfo.js +4 -0
- package/dist/util/cookieResolver.js +10 -4
- package/docs-dist/404.html +6 -6
- package/docs-dist/CHANGELOG-ARCHITECTURE.html +14 -14
- package/docs-dist/COOKIE_CONFIG_GUIDE.html +13 -13
- package/docs-dist/DEGRADE_EXAMPLES.html +109 -0
- package/docs-dist/FALLBACK_MODE_GUIDE.html +21 -21
- package/docs-dist/QUICK_START.html +62 -0
- package/docs-dist/README.html +17 -17
- package/docs-dist/TEST_USER_PLAYLISTS.html +14 -14
- package/docs-dist/USER_AVATAR_GUIDE.html +16 -16
- package/docs-dist/api/comments.html +12 -12
- package/docs-dist/api/index.html +10 -10
- package/docs-dist/api/music.html +15 -13
- package/docs-dist/api/other.html +13 -13
- package/docs-dist/api/playground.html +27 -0
- package/docs-dist/api/playlist.html +15 -15
- package/docs-dist/api/rank.html +12 -12
- package/docs-dist/api/search.html +13 -13
- package/docs-dist/api/singer.html +12 -12
- package/docs-dist/api/user.html +16 -16
- package/docs-dist/assets/{CHANGELOG-ARCHITECTURE.md.DV9Xr7ve.js → CHANGELOG-ARCHITECTURE.md.CYHmaBdY.js} +5 -5
- package/docs-dist/assets/CHANGELOG-ARCHITECTURE.md.CYHmaBdY.lean.js +1 -0
- package/docs-dist/assets/COOKIE_CONFIG_GUIDE.md.Nvywo7CW.js +13 -0
- package/docs-dist/assets/COOKIE_CONFIG_GUIDE.md.Nvywo7CW.lean.js +1 -0
- package/docs-dist/assets/DEGRADE_EXAMPLES.md.Cz2J-qwE.js +83 -0
- package/docs-dist/assets/DEGRADE_EXAMPLES.md.Cz2J-qwE.lean.js +1 -0
- package/docs-dist/assets/{FALLBACK_MODE_GUIDE.md.0wqXqYxw.js → FALLBACK_MODE_GUIDE.md.wKA9yqoI.js} +12 -12
- package/docs-dist/assets/FALLBACK_MODE_GUIDE.md.wKA9yqoI.lean.js +1 -0
- package/docs-dist/assets/QUICK_START.md.D5KfDgbs.js +36 -0
- package/docs-dist/assets/QUICK_START.md.D5KfDgbs.lean.js +1 -0
- package/docs-dist/assets/README.md.CHbArqA7.js +421 -0
- package/docs-dist/assets/README.md.CHbArqA7.lean.js +1 -0
- package/docs-dist/assets/TEST_USER_PLAYLISTS.md.BfBxYbaM.js +16 -0
- package/docs-dist/assets/TEST_USER_PLAYLISTS.md.BfBxYbaM.lean.js +1 -0
- package/docs-dist/assets/{USER_AVATAR_GUIDE.md.CGPI9GUj.js → USER_AVATAR_GUIDE.md.D5Rti1Gg.js} +7 -7
- package/docs-dist/assets/USER_AVATAR_GUIDE.md.D5Rti1Gg.lean.js +1 -0
- package/docs-dist/assets/{api_comments.md.CATvWhrg.js → api_comments.md.5nDhrWa8.js} +3 -3
- package/docs-dist/assets/api_comments.md.5nDhrWa8.lean.js +1 -0
- package/docs-dist/assets/api_index.md.DdG1WHkZ.js +1 -0
- package/docs-dist/assets/api_index.md.DdG1WHkZ.lean.js +1 -0
- package/docs-dist/assets/{api_music.md.D20_neZB.js → api_music.md.D66hq-_4.js} +6 -4
- package/docs-dist/assets/api_music.md.D66hq-_4.lean.js +1 -0
- package/docs-dist/assets/api_other.md.9KhspVEM.js +7 -0
- package/docs-dist/assets/api_other.md.9KhspVEM.lean.js +1 -0
- package/docs-dist/assets/api_playground.md.BZBvYMm2.js +11 -0
- package/docs-dist/assets/api_playground.md.BZBvYMm2.lean.js +11 -0
- package/docs-dist/assets/{api_playlist.md.CyLdLRR9.js → api_playlist.md.BQK32ZyE.js} +6 -6
- package/docs-dist/assets/api_playlist.md.BQK32ZyE.lean.js +1 -0
- package/docs-dist/assets/{api_rank.md.Z3xyYG_S.js → api_rank.md.z7YBwVgw.js} +3 -3
- package/docs-dist/assets/api_rank.md.z7YBwVgw.lean.js +1 -0
- package/docs-dist/assets/{api_search.md.D_lbFmYo.js → api_search.md.GfzIBRfc.js} +4 -4
- package/docs-dist/assets/api_search.md.GfzIBRfc.lean.js +1 -0
- package/docs-dist/assets/api_singer.md.BDR-_qDH.js +21 -0
- package/docs-dist/assets/api_singer.md.BDR-_qDH.lean.js +1 -0
- package/docs-dist/assets/{api_user.md.4WdmTXIB.js → api_user.md.Dx8BWGrb.js} +7 -7
- package/docs-dist/assets/api_user.md.Dx8BWGrb.lean.js +1 -0
- package/docs-dist/assets/app.CxuIZ1W7.js +1 -0
- package/docs-dist/assets/chunks/@localSearchIndexroot.ygoKgu27.js +1 -0
- package/docs-dist/assets/chunks/VPLocalSearchBox.BqgkAhNM.js +3 -0
- package/docs-dist/assets/chunks/framework.BUY3a635.js +4 -0
- package/docs-dist/assets/chunks/theme.C-Z3DN0r.js +2 -0
- package/docs-dist/assets/{guide_architecture.md.D_46khUI.js → guide_architecture.md.SHnKkzwb.js} +20 -20
- package/docs-dist/assets/guide_architecture.md.SHnKkzwb.lean.js +1 -0
- package/docs-dist/assets/guide_authentication.md.CZCKocgR.js +4 -0
- package/docs-dist/assets/guide_authentication.md.CZCKocgR.lean.js +1 -0
- package/docs-dist/assets/guide_index.md.CkJ-jjL0.js +1 -0
- package/docs-dist/assets/guide_index.md.CkJ-jjL0.lean.js +1 -0
- package/docs-dist/assets/guide_installation.md.D2TBzILh.js +7 -0
- package/docs-dist/assets/guide_installation.md.D2TBzILh.lean.js +1 -0
- package/docs-dist/assets/guide_quickstart.md.J7Sib8wg.js +13 -0
- package/docs-dist/assets/guide_quickstart.md.J7Sib8wg.lean.js +1 -0
- package/docs-dist/assets/index.md.ClwYf6Qc.js +1 -0
- package/docs-dist/assets/index.md.ClwYf6Qc.lean.js +1 -0
- package/docs-dist/assets/inter-italic-cyrillic-ext._dlW9xFb.woff2 +0 -0
- package/docs-dist/assets/inter-italic-cyrillic.D7dRslh9.woff2 +0 -0
- package/docs-dist/assets/inter-italic-greek-ext.Ct-Tf2bq.woff2 +0 -0
- package/docs-dist/assets/inter-italic-greek.DNcpQ8QC.woff2 +0 -0
- package/docs-dist/assets/inter-italic-latin-ext.DytegdRQ.woff2 +0 -0
- package/docs-dist/assets/inter-italic-latin.COaG5lWR.woff2 +0 -0
- package/docs-dist/assets/inter-italic-vietnamese.BI5UxJD-.woff2 +0 -0
- package/docs-dist/assets/inter-roman-cyrillic-ext.BeNbU08G.woff2 +0 -0
- package/docs-dist/assets/inter-roman-cyrillic.CD0kT8R4.woff2 +0 -0
- package/docs-dist/assets/inter-roman-greek-ext.CFAEQ5Ow.woff2 +0 -0
- package/docs-dist/assets/inter-roman-greek.Dsf7YjP7.woff2 +0 -0
- package/docs-dist/assets/inter-roman-latin-ext.Dl_ayf4-.woff2 +0 -0
- package/docs-dist/assets/inter-roman-latin.Cy4MYw_J.woff2 +0 -0
- package/docs-dist/assets/inter-roman-vietnamese.CpqCnS2H.woff2 +0 -0
- package/docs-dist/assets/reference_response-format.md.BrGoGoPV.js +12 -0
- package/docs-dist/assets/reference_response-format.md.BrGoGoPV.lean.js +1 -0
- package/docs-dist/assets/style.D_YoXH3a.css +1 -0
- package/docs-dist/guide/architecture.html +29 -29
- package/docs-dist/guide/authentication.html +12 -12
- package/docs-dist/guide/index.html +10 -10
- package/docs-dist/guide/installation.html +13 -13
- package/docs-dist/guide/quickstart.html +15 -15
- package/docs-dist/hashmap.json +1 -1
- package/docs-dist/index.html +10 -10
- package/docs-dist/reference/response-format.html +13 -13
- package/docs-dist/version.json +3 -3
- package/package.json +20 -16
- package/public/index.html +966 -0
- package/public/playground-utils.js +150 -0
- package/dist/jest.config.js +0 -52
- package/dist/scripts/run-tests-with-flags.js +0 -139
- package/dist/types/api.js +0 -55
- package/docs-dist/assets/CHANGELOG-ARCHITECTURE.md.DV9Xr7ve.lean.js +0 -1
- package/docs-dist/assets/COOKIE_CONFIG_GUIDE.md.B2-aTdcH.js +0 -13
- package/docs-dist/assets/COOKIE_CONFIG_GUIDE.md.B2-aTdcH.lean.js +0 -1
- package/docs-dist/assets/FALLBACK_MODE_GUIDE.md.0wqXqYxw.lean.js +0 -1
- package/docs-dist/assets/README.md.DFCMeLFa.js +0 -421
- package/docs-dist/assets/README.md.DFCMeLFa.lean.js +0 -1
- package/docs-dist/assets/TEST_USER_PLAYLISTS.md.Bj0AVpHw.js +0 -16
- package/docs-dist/assets/TEST_USER_PLAYLISTS.md.Bj0AVpHw.lean.js +0 -1
- package/docs-dist/assets/USER_AVATAR_GUIDE.md.CGPI9GUj.lean.js +0 -1
- package/docs-dist/assets/api_comments.md.CATvWhrg.lean.js +0 -1
- package/docs-dist/assets/api_index.md.Dqx3qXyO.js +0 -1
- package/docs-dist/assets/api_index.md.Dqx3qXyO.lean.js +0 -1
- package/docs-dist/assets/api_music.md.D20_neZB.lean.js +0 -1
- package/docs-dist/assets/api_other.md.CXyEsl8R.js +0 -7
- package/docs-dist/assets/api_other.md.CXyEsl8R.lean.js +0 -1
- package/docs-dist/assets/api_playlist.md.CyLdLRR9.lean.js +0 -1
- package/docs-dist/assets/api_rank.md.Z3xyYG_S.lean.js +0 -1
- package/docs-dist/assets/api_search.md.D_lbFmYo.lean.js +0 -1
- package/docs-dist/assets/api_singer.md.BbyYE88D.js +0 -21
- package/docs-dist/assets/api_singer.md.BbyYE88D.lean.js +0 -1
- package/docs-dist/assets/api_user.md.4WdmTXIB.lean.js +0 -1
- package/docs-dist/assets/app.2f7gcITE.js +0 -1
- package/docs-dist/assets/chunks/@localSearchIndexroot.D461xa5C.js +0 -1
- package/docs-dist/assets/chunks/VPLocalSearchBox.BiPSl83v.js +0 -9
- package/docs-dist/assets/chunks/framework.aJbMEiY9.js +0 -19
- package/docs-dist/assets/chunks/theme.BrMPT0hE.js +0 -2
- package/docs-dist/assets/guide_architecture.md.D_46khUI.lean.js +0 -1
- package/docs-dist/assets/guide_authentication.md.nCiAu07w.js +0 -4
- package/docs-dist/assets/guide_authentication.md.nCiAu07w.lean.js +0 -1
- package/docs-dist/assets/guide_index.md.gLozHqz5.js +0 -1
- package/docs-dist/assets/guide_index.md.gLozHqz5.lean.js +0 -1
- package/docs-dist/assets/guide_installation.md.BUDl8zk1.js +0 -7
- package/docs-dist/assets/guide_installation.md.BUDl8zk1.lean.js +0 -1
- package/docs-dist/assets/guide_quickstart.md.COQUzUN9.js +0 -13
- package/docs-dist/assets/guide_quickstart.md.COQUzUN9.lean.js +0 -1
- package/docs-dist/assets/index.md.DBZfQ2kF.js +0 -1
- package/docs-dist/assets/index.md.DBZfQ2kF.lean.js +0 -1
- 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.yrdeqFUN.js +0 -12
- package/docs-dist/assets/reference_response-format.md.yrdeqFUN.lean.js +0 -1
- package/docs-dist/assets/style.DM4qKDd4.css +0 -1
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="zh-CN" dir="ltr">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
6
|
+
<title>降级服务使用示例 | QQ Music API</title>
|
|
7
|
+
<meta name="description" content="QQ 音乐 API 接口文档">
|
|
8
|
+
<meta name="generator" content="VitePress v2.0.0-alpha.17">
|
|
9
|
+
<link rel="preload stylesheet" href="/qq-music-api/assets/style.D_YoXH3a.css" as="style">
|
|
10
|
+
<link rel="preload stylesheet" href="/qq-music-api/vp-icons.css" as="style">
|
|
11
|
+
|
|
12
|
+
<script type="module" src="/qq-music-api/assets/app.CxuIZ1W7.js"></script>
|
|
13
|
+
<link rel="preload" href="/qq-music-api/assets/inter-roman-latin.Cy4MYw_J.woff2" as="font" type="font/woff2" crossorigin="">
|
|
14
|
+
<link rel="modulepreload" href="/qq-music-api/assets/chunks/theme.C-Z3DN0r.js">
|
|
15
|
+
<link rel="modulepreload" href="/qq-music-api/assets/chunks/framework.BUY3a635.js">
|
|
16
|
+
<link rel="modulepreload" href="/qq-music-api/assets/DEGRADE_EXAMPLES.md.Cz2J-qwE.lean.js">
|
|
17
|
+
<link rel="icon" href="/logo.svg">
|
|
18
|
+
<meta name="theme-color" content="#12b7f5">
|
|
19
|
+
<script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
|
|
20
|
+
<script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
|
|
21
|
+
</head>
|
|
22
|
+
<body>
|
|
23
|
+
<div id="app"><div class="Layout" data-v-0cf61682><!--[--><!--]--><!--[--><span tabindex="-1" data-v-331ec75c></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-331ec75c>跳转到内容</a><!--]--><!----><header class="VPNav" data-v-0cf61682 data-v-9f75dce3><div class="VPNavBar has-sidebar top" data-v-9f75dce3 data-v-9ca1369d><div class="wrapper" data-v-9ca1369d><div class="container" data-v-9ca1369d><div class="title" data-v-9ca1369d><div class="VPNavBarTitle has-sidebar" data-v-9ca1369d data-v-1e38c6bc><a class="title" href="/qq-music-api/" data-v-1e38c6bc><!--[--><!--]--><!--[--><img class="VPImage logo" src="/qq-music-api/logo.svg" alt data-v-8426fc1a><!--]--><span data-v-1e38c6bc>QQ Music API</span><!--[--><!--]--></a></div></div><div class="content" data-v-9ca1369d><div class="content-body" data-v-9ca1369d><!--[--><!--]--><div class="VPNavBarSearch search" data-v-9ca1369d data-v-2fc7f2c6><!--[--><button type="button" class="VPNavBarSearchButton" aria-label="搜索文档" aria-keyshortcuts="/ control+k meta+k" data-v-2fc7f2c6 data-v-baa3be99><span class="vpi-search" aria-hidden="true" data-v-baa3be99></span><span class="text" data-v-baa3be99>搜索</span><span class="keys" aria-hidden="true" data-v-baa3be99><kbd class="key-cmd" data-v-baa3be99>⌘</kbd><kbd class="key-ctrl" data-v-baa3be99>Ctrl</kbd><kbd data-v-baa3be99>K</kbd></span></button><!----><!--]--></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-9ca1369d data-v-39714824><span id="main-nav-aria-label" class="visually-hidden" data-v-39714824> Main Navigation </span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/qq-music-api/" tabindex="0" data-v-39714824 data-v-6dd25bb8><!--[--><span data-v-6dd25bb8>首页</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/qq-music-api/guide/" tabindex="0" data-v-39714824 data-v-6dd25bb8><!--[--><span data-v-6dd25bb8>使用指南</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/qq-music-api/api/" tabindex="0" data-v-39714824 data-v-6dd25bb8><!--[--><span data-v-6dd25bb8>API 文档</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/qq-music-api/api/playground.html" tabindex="0" data-v-39714824 data-v-6dd25bb8><!--[--><span data-v-6dd25bb8>API 调试台</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/qq-music-api/api/user.html" tabindex="0" data-v-39714824 data-v-6dd25bb8><!--[--><span data-v-6dd25bb8>用户能力</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/qq-music-api/guide/architecture.html" tabindex="0" data-v-39714824 data-v-6dd25bb8><!--[--><span data-v-6dd25bb8>架构说明</span><!--]--></a><!--]--><!--]--></nav><!----><div class="VPNavBarAppearance appearance" data-v-9ca1369d data-v-6c893767><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-6c893767 data-v-5337faa4 data-v-1d5665e3><span class="check" data-v-1d5665e3><span class="icon" data-v-1d5665e3><!--[--><span class="vpi-sun sun" data-v-5337faa4></span><span class="vpi-moon moon" data-v-5337faa4></span><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-9ca1369d data-v-0394ad82 data-v-d07f11e6><!--[--><a class="VPSocialLink no-icon" href="https://github.com/sansenjian/qq-music-api" aria-label="github" target="_blank" rel="me noopener" data-v-d07f11e6 data-v-591a6b30><span class="vpi-social-github"></span></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-9ca1369d data-v-562c832a data-v-42cb505d><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-42cb505d><span class="vpi-more-horizontal icon" data-v-42cb505d></span></button><div class="menu" data-v-42cb505d><div class="VPMenu" data-v-42cb505d data-v-25a6cce8><!----><!--[--><!--[--><!----><div class="group" data-v-562c832a><div class="item appearance" data-v-562c832a><p class="label" data-v-562c832a>主题</p><div class="appearance-action" data-v-562c832a><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-562c832a data-v-5337faa4 data-v-1d5665e3><span class="check" data-v-1d5665e3><span class="icon" data-v-1d5665e3><!--[--><span class="vpi-sun sun" data-v-5337faa4></span><span class="vpi-moon moon" data-v-5337faa4></span><!--]--></span></span></button></div></div></div><div class="group" data-v-562c832a><div class="item social-links" data-v-562c832a><div class="VPSocialLinks social-links-list" data-v-562c832a data-v-d07f11e6><!--[--><a class="VPSocialLink no-icon" href="https://github.com/sansenjian/qq-music-api" aria-label="github" target="_blank" rel="me noopener" data-v-d07f11e6 data-v-591a6b30><span class="vpi-social-github"></span></a><!--]--></div></div></div><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-9ca1369d data-v-e5dd9c1c><span class="container" data-v-e5dd9c1c><span class="top" data-v-e5dd9c1c></span><span class="middle" data-v-e5dd9c1c></span><span class="bottom" data-v-e5dd9c1c></span></span></button></div></div></div></div><div class="divider" data-v-9ca1369d><div class="divider-line" data-v-9ca1369d></div></div></div><!----></header><div class="VPLocalNav has-sidebar empty" data-v-0cf61682 data-v-db738f89><div class="container" data-v-db738f89><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-db738f89><span class="vpi-align-left menu-icon" data-v-db738f89></span><span class="menu-text" data-v-db738f89>菜单</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-db738f89 data-v-0bf0e06f><button data-v-0bf0e06f>返回顶部</button><!----></div></div></div><aside class="VPSidebar" data-v-0cf61682 data-v-af661f50><div class="curtain" data-v-af661f50></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-af661f50><span class="visually-hidden" id="sidebar-aria-label" data-v-af661f50> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="no-transition group" data-v-8d50c081><section class="VPSidebarItem level-0 has-active" data-v-8d50c081 data-v-d81de50c><div class="item" role="button" tabindex="0" data-v-d81de50c><div class="indicator" data-v-d81de50c></div><h2 class="text" data-v-d81de50c>开始使用</h2><!----></div><div class="items" data-v-d81de50c><!--[--><div class="VPSidebarItem level-1 is-link" data-v-d81de50c data-v-d81de50c><div class="item" data-v-d81de50c><div class="indicator" data-v-d81de50c></div><a class="VPLink link link" href="/qq-music-api/" data-v-d81de50c><!--[--><p class="text" data-v-d81de50c>首页</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-d81de50c data-v-d81de50c><div class="item" data-v-d81de50c><div class="indicator" data-v-d81de50c></div><a class="VPLink link link" href="/qq-music-api/guide/" data-v-d81de50c><!--[--><p class="text" data-v-d81de50c>使用指南</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-d81de50c data-v-d81de50c><div class="item" data-v-d81de50c><div class="indicator" data-v-d81de50c></div><a class="VPLink link link" href="/qq-music-api/guide/installation.html" data-v-d81de50c><!--[--><p class="text" data-v-d81de50c>安装指南</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-d81de50c data-v-d81de50c><div class="item" data-v-d81de50c><div class="indicator" data-v-d81de50c></div><a class="VPLink link link" href="/qq-music-api/guide/quickstart.html" data-v-d81de50c><!--[--><p class="text" data-v-d81de50c>快速开始</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-d81de50c data-v-d81de50c><div class="item" data-v-d81de50c><div class="indicator" data-v-d81de50c></div><a class="VPLink link link" href="/qq-music-api/QUICK_START.html" data-v-d81de50c><!--[--><p class="text" data-v-d81de50c>快速使用指南</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-d81de50c data-v-d81de50c><div class="item" data-v-d81de50c><div class="indicator" data-v-d81de50c></div><a class="VPLink link link" href="/qq-music-api/DEGRADE_EXAMPLES.html" data-v-d81de50c><!--[--><p class="text" data-v-d81de50c>降级服务示例</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-8d50c081><section class="VPSidebarItem level-0" data-v-8d50c081 data-v-d81de50c><div class="item" role="button" tabindex="0" data-v-d81de50c><div class="indicator" data-v-d81de50c></div><h2 class="text" data-v-d81de50c>认证与用户</h2><!----></div><div class="items" data-v-d81de50c><!--[--><div class="VPSidebarItem level-1 is-link" data-v-d81de50c data-v-d81de50c><div class="item" data-v-d81de50c><div class="indicator" data-v-d81de50c></div><a class="VPLink link link" href="/qq-music-api/guide/authentication.html" data-v-d81de50c><!--[--><p class="text" data-v-d81de50c>认证与登录</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-d81de50c data-v-d81de50c><div class="item" data-v-d81de50c><div class="indicator" data-v-d81de50c></div><a class="VPLink link link" href="/qq-music-api/api/user.html" data-v-d81de50c><!--[--><p class="text" data-v-d81de50c>用户接口</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-8d50c081><section class="VPSidebarItem level-0" data-v-8d50c081 data-v-d81de50c><div class="item" role="button" tabindex="0" data-v-d81de50c><div class="indicator" data-v-d81de50c></div><h2 class="text" data-v-d81de50c>API 文档</h2><!----></div><div class="items" data-v-d81de50c><!--[--><div class="VPSidebarItem level-1 is-link" data-v-d81de50c data-v-d81de50c><div class="item" data-v-d81de50c><div class="indicator" data-v-d81de50c></div><a class="VPLink link link" href="/qq-music-api/api/" data-v-d81de50c><!--[--><p class="text" data-v-d81de50c>API 总览</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-d81de50c data-v-d81de50c><div class="item" data-v-d81de50c><div class="indicator" data-v-d81de50c></div><a class="VPLink link link" href="/qq-music-api/api/music.html" data-v-d81de50c><!--[--><p class="text" data-v-d81de50c>音乐相关</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-d81de50c data-v-d81de50c><div class="item" data-v-d81de50c><div class="indicator" data-v-d81de50c></div><a class="VPLink link link" href="/qq-music-api/api/singer.html" data-v-d81de50c><!--[--><p class="text" data-v-d81de50c>歌手相关</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-d81de50c data-v-d81de50c><div class="item" data-v-d81de50c><div class="indicator" data-v-d81de50c></div><a class="VPLink link link" href="/qq-music-api/api/playlist.html" data-v-d81de50c><!--[--><p class="text" data-v-d81de50c>歌单相关</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-d81de50c data-v-d81de50c><div class="item" data-v-d81de50c><div class="indicator" data-v-d81de50c></div><a class="VPLink link link" href="/qq-music-api/api/rank.html" data-v-d81de50c><!--[--><p class="text" data-v-d81de50c>排行榜</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-d81de50c data-v-d81de50c><div class="item" data-v-d81de50c><div class="indicator" data-v-d81de50c></div><a class="VPLink link link" href="/qq-music-api/api/search.html" data-v-d81de50c><!--[--><p class="text" data-v-d81de50c>搜索</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-d81de50c data-v-d81de50c><div class="item" data-v-d81de50c><div class="indicator" data-v-d81de50c></div><a class="VPLink link link" href="/qq-music-api/api/comments.html" data-v-d81de50c><!--[--><p class="text" data-v-d81de50c>评论</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-d81de50c data-v-d81de50c><div class="item" data-v-d81de50c><div class="indicator" data-v-d81de50c></div><a class="VPLink link link" href="/qq-music-api/api/other.html" data-v-d81de50c><!--[--><p class="text" data-v-d81de50c>其他接口</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-d81de50c data-v-d81de50c><div class="item" data-v-d81de50c><div class="indicator" data-v-d81de50c></div><a class="VPLink link link" href="/qq-music-api/api/playground.html" data-v-d81de50c><!--[--><p class="text" data-v-d81de50c>API 调试台</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-8d50c081><section class="VPSidebarItem level-0" data-v-8d50c081 data-v-d81de50c><div class="item" role="button" tabindex="0" data-v-d81de50c><div class="indicator" data-v-d81de50c></div><h2 class="text" data-v-d81de50c>开发与维护</h2><!----></div><div class="items" data-v-d81de50c><!--[--><div class="VPSidebarItem level-1 is-link" data-v-d81de50c data-v-d81de50c><div class="item" data-v-d81de50c><div class="indicator" data-v-d81de50c></div><a class="VPLink link link" href="/qq-music-api/reference/response-format.html" data-v-d81de50c><!--[--><p class="text" data-v-d81de50c>响应格式</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-d81de50c data-v-d81de50c><div class="item" data-v-d81de50c><div class="indicator" data-v-d81de50c></div><a class="VPLink link link" href="/qq-music-api/guide/architecture.html" data-v-d81de50c><!--[--><p class="text" data-v-d81de50c>代码架构</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-0cf61682 data-v-9dc86fcc><div class="VPDoc has-sidebar has-aside" data-v-9dc86fcc data-v-7011f0d8><!--[--><!--]--><div class="container" data-v-7011f0d8><div class="aside" data-v-7011f0d8><div class="aside-curtain" data-v-7011f0d8></div><div class="aside-container" data-v-7011f0d8><div class="aside-content" data-v-7011f0d8><div class="VPDocAside" data-v-7011f0d8 data-v-3f215769><!--[--><!--]--><!--[--><!--]--><nav aria-labelledby="doc-outline-aria-label" class="VPDocAsideOutline" data-v-3f215769 data-v-60d5052e><div class="content" data-v-60d5052e><div class="outline-marker" data-v-60d5052e></div><div aria-level="2" class="outline-title" id="doc-outline-aria-label" role="heading" data-v-60d5052e>本页目录</div><ul class="VPDocOutlineItem root" data-v-60d5052e data-v-1ce71065><!--[--><!--]--></ul></div></nav><!--[--><!--]--><div class="spacer" data-v-3f215769></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-7011f0d8><div class="content-container" data-v-7011f0d8><!--[--><!--]--><main class="main" data-v-7011f0d8><div style="position:relative;" class="vp-doc _qq-music-api_DEGRADE_EXAMPLES" data-v-7011f0d8><div><h1 id="降级服务使用示例" tabindex="-1">降级服务使用示例 <a class="header-anchor" href="#降级服务使用示例" aria-label="Permalink to “降级服务使用示例”"></a></h1><h2 id="快速开始" tabindex="-1">快速开始 <a class="header-anchor" href="#快速开始" aria-label="Permalink to “快速开始”"></a></h2><h3 id="_1-启动服务" tabindex="-1">1. 启动服务 <a class="header-anchor" href="#_1-启动服务" aria-label="Permalink to “1. 启动服务”"></a></h3><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes vitesse-light vitesse-dark" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#59873A;--shiki-dark:#80A665;">npm</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;"> run</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;"> dev</span></span></code></pre></div><p>你会看到:</p><div class="language-"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes vitesse-light vitesse-dark" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;" tabindex="0" dir="ltr"><code><span class="line"><span>🎵 QQ Music API Service Starting...</span></span>
|
|
24
|
+
<span class="line"><span></span></span>
|
|
25
|
+
<span class="line"><span>Current Version: 2.2.7</span></span>
|
|
26
|
+
<span class="line"><span>Fallback Mode: Enabled</span></span>
|
|
27
|
+
<span class="line"><span>Use Global Cookie: No</span></span>
|
|
28
|
+
<span class="line"><span></span></span>
|
|
29
|
+
<span class="line"><span>✅ 降级模式已启用:支持手动传递 Cookie</span></span>
|
|
30
|
+
<span class="line"><span></span></span>
|
|
31
|
+
<span class="line"><span>使用方式:</span></span>
|
|
32
|
+
<span class="line"><span> 1. Query 参数:GET /api/endpoint?cookie=your_cookie</span></span>
|
|
33
|
+
<span class="line"><span> 2. Header: X-Custom-Cookie: your_cookie</span></span>
|
|
34
|
+
<span class="line"><span> 3. Header: Cookie: your_cookie</span></span>
|
|
35
|
+
<span class="line"><span></span></span>
|
|
36
|
+
<span class="line"><span>⚠️ 全局 Cookie 未启用:需要登录的接口请手动传递 Cookie</span></span>
|
|
37
|
+
<span class="line"><span></span></span>
|
|
38
|
+
<span class="line"><span>server running @ http://localhost:3200</span></span></code></pre></div><h3 id="_2-测试公开接口-无需-cookie" tabindex="-1">2. 测试公开接口(无需 Cookie) <a class="header-anchor" href="#_2-测试公开接口-无需-cookie" aria-label="Permalink to “2. 测试公开接口(无需 Cookie)”"></a></h3><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes vitesse-light vitesse-dark" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD;"># 获取排行榜</span></span>
|
|
39
|
+
<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>
|
|
40
|
+
<span class="line"></span>
|
|
41
|
+
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD;"># 获取热门搜索</span></span>
|
|
42
|
+
<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>
|
|
43
|
+
<span class="line"></span>
|
|
44
|
+
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD;"># 搜索歌曲</span></span>
|
|
45
|
+
<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/周杰伦</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span></span></code></pre></div><h3 id="_3-获取你的-cookie" tabindex="-1">3. 获取你的 Cookie <a class="header-anchor" href="#_3-获取你的-cookie" aria-label="Permalink to “3. 获取你的 Cookie”"></a></h3><p>访问 <code>http://localhost:3200/user/getCookie</code> 查看当前配置的 Cookie</p><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes vitesse-light vitesse-dark" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;" tabindex="0" dir="ltr"><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/getCookie</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span></span></code></pre></div><p>返回示例:</p><div class="language-json"><button title="Copy Code" class="copy"></button><span class="lang">json</span><pre class="shiki shiki-themes vitesse-light vitesse-dark" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">{</span></span>
|
|
46
|
+
<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>
|
|
47
|
+
<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;"> 200</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span></span>
|
|
48
|
+
<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=o1979432414; qqmusic_key=xxxxx; ...</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span></span>
|
|
49
|
+
<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=o1979432414</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;">qqmusic_key=xxxxx</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</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>
|
|
50
|
+
<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 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;">o1979432414</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span><span style="--shiki-light:#99841877;--shiki-dark:#B8A96577;"> "</span><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">qqmusic_key</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;">xxxxx</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</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>
|
|
51
|
+
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> }</span></span>
|
|
52
|
+
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">}</span></span></code></pre></div><h3 id="_4-使用需要登录的接口" tabindex="-1">4. 使用需要登录的接口 <a class="header-anchor" href="#_4-使用需要登录的接口" aria-label="Permalink to “4. 使用需要登录的接口”"></a></h3><h4 id="方式-1-query-参数-最简单" tabindex="-1">方式 1: Query 参数(最简单) <a class="header-anchor" href="#方式-1-query-参数-最简单" aria-label="Permalink to “方式 1: Query 参数(最简单)”"></a></h4><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes vitesse-light vitesse-dark" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD;"># 获取用户歌单</span></span>
|
|
53
|
+
<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=1979432414&cookie=你的 Cookie</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span></span>
|
|
54
|
+
<span class="line"></span>
|
|
55
|
+
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD;"># 获取用户喜欢的歌曲</span></span>
|
|
56
|
+
<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/getUserLikedSongs?cookie=你的 Cookie</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span></span></code></pre></div><h4 id="方式-2-自定义-header" tabindex="-1">方式 2: 自定义 Header <a class="header-anchor" href="#方式-2-自定义-header" aria-label="Permalink to “方式 2: 自定义 Header”"></a></h4><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes vitesse-light vitesse-dark" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#59873A;--shiki-dark:#80A665;">curl</span><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;">X-Custom-Cookie: 你的 Cookie</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#A65E2B;--shiki-dark:#C99076;"> \</span></span>
|
|
57
|
+
<span class="line"><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">http://localhost:3200/user/getUserPlaylists?uin=1979432414</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span></span></code></pre></div><h4 id="方式-3-标准-cookie-header" tabindex="-1">方式 3: 标准 Cookie Header <a class="header-anchor" href="#方式-3-标准-cookie-header" aria-label="Permalink to “方式 3: 标准 Cookie Header”"></a></h4><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes vitesse-light vitesse-dark" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#59873A;--shiki-dark:#80A665;">curl</span><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;">Cookie: 你的 Cookie</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#A65E2B;--shiki-dark:#C99076;"> \</span></span>
|
|
58
|
+
<span class="line"><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> "</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">http://localhost:3200/user/getUserPlaylists?uin=1979432414</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><h3 id="示例-1-获取自己的歌单" tabindex="-1">示例 1: 获取自己的歌单 <a class="header-anchor" href="#示例-1-获取自己的歌单" aria-label="Permalink to “示例 1: 获取自己的歌单”"></a></h3><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes vitesse-light vitesse-dark" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD;"># 假设你的 QQ 号是 123456789,Cookie 是 "uin=o123456789; qqmusic_key=abc123"</span></span>
|
|
59
|
+
<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&cookie=uin=o123456789; qqmusic_key=abc123</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span></span></code></pre></div><h3 id="示例-2-使用-powershell-变量" tabindex="-1">示例 2: 使用 PowerShell 变量 <a class="header-anchor" href="#示例-2-使用-powershell-变量" aria-label="Permalink to “示例 2: 使用 PowerShell 变量”"></a></h3><div class="language-powershell"><button title="Copy Code" class="copy"></button><span class="lang">powershell</span><pre class="shiki shiki-themes vitesse-light vitesse-dark" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">$</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A;">cookie</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; qqmusic_key=abc123</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span></span>
|
|
60
|
+
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">$</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A;">uin</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;">123456789</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span></span>
|
|
61
|
+
<span class="line"><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;">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=</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">$</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">uin&cookie=</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">$</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">cookie</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span></span></code></pre></div><h3 id="示例-3-使用-node-js" tabindex="-1">示例 3: 使用 Node.js <a class="header-anchor" href="#示例-3-使用-node-js" aria-label="Permalink to “示例 3: 使用 Node.js”"></a></h3><div class="language-javascript"><button title="Copy Code" class="copy"></button><span class="lang">javascript</span><pre class="shiki shiki-themes vitesse-light vitesse-dark" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676;">const</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A;"> axios</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> =</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665;"> require</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;">axios</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">'</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">);</span></span>
|
|
62
|
+
<span class="line"></span>
|
|
63
|
+
<span class="line"><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676;">const</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A;"> cookie</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; qqmusic_key=abc123</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">'</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">;</span></span>
|
|
64
|
+
<span class="line"><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676;">const</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A;"> uin</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;">123456789</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">'</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">;</span></span>
|
|
65
|
+
<span class="line"></span>
|
|
66
|
+
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD;">// 方式 1: Query 参数</span></span>
|
|
67
|
+
<span class="line"><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A;">axios</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">.</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665;">get</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://localhost:3200/user/getUserPlaylists</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">'</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> {</span></span>
|
|
68
|
+
<span class="line"><span style="--shiki-light:#998418;--shiki-dark:#B8A965;"> params</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> {</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A;"> uin</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A;"> cookie</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> }</span></span>
|
|
69
|
+
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">}).</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665;">then</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">(</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A;">response</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> =></span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> {</span></span>
|
|
70
|
+
<span class="line"><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A;"> console</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">.</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665;">log</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">(</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A;">response</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">.</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A;">data</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">);</span></span>
|
|
71
|
+
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">});</span></span>
|
|
72
|
+
<span class="line"></span>
|
|
73
|
+
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD;">// 方式 2: Header</span></span>
|
|
74
|
+
<span class="line"><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A;">axios</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">.</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665;">get</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://localhost:3200/user/getUserPlaylists?uin=</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;">${</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">uin</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;">}</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">`</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> {</span></span>
|
|
75
|
+
<span class="line"><span style="--shiki-light:#998418;--shiki-dark:#B8A965;"> headers</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> {</span></span>
|
|
76
|
+
<span class="line"><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> '</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">X-Custom-Cookie</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">'</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A;"> cookie</span></span>
|
|
77
|
+
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> }</span></span>
|
|
78
|
+
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">}).</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665;">then</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">(</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A;">response</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> =></span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> {</span></span>
|
|
79
|
+
<span class="line"><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A;"> console</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">.</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665;">log</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">(</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A;">response</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">.</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A;">data</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">);</span></span>
|
|
80
|
+
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">});</span></span></code></pre></div><h3 id="示例-4-使用-python" tabindex="-1">示例 4: 使用 Python <a class="header-anchor" href="#示例-4-使用-python" aria-label="Permalink to “示例 4: 使用 Python”"></a></h3><div class="language-python"><button title="Copy Code" class="copy"></button><span class="lang">python</span><pre class="shiki shiki-themes vitesse-light vitesse-dark" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;">import</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;"> requests</span></span>
|
|
81
|
+
<span class="line"></span>
|
|
82
|
+
<span class="line"><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;">cookie </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; qqmusic_key=abc123</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">'</span></span>
|
|
83
|
+
<span class="line"><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;">uin </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;">123456789</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">'</span></span>
|
|
84
|
+
<span class="line"></span>
|
|
85
|
+
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD;"># 方式 1: Query 参数</span></span>
|
|
86
|
+
<span class="line"><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;">response </span><span style="--shiki-light:#999999;--shiki-dark:#666666;">=</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;"> requests</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">.</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;">get</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">(</span></span>
|
|
87
|
+
<span class="line"><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;"> '</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">http://localhost:3200/user/getUserPlaylists</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">'</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span></span>
|
|
88
|
+
<span class="line"><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A;"> params</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</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">'</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;"> uin</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;">cookie</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">'</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;"> cookie</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">}</span></span>
|
|
89
|
+
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">)</span></span>
|
|
90
|
+
<span class="line"><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">print</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">(</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;">response</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">.</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;">json</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">())</span></span>
|
|
91
|
+
<span class="line"></span>
|
|
92
|
+
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD;"># 方式 2: Header</span></span>
|
|
93
|
+
<span class="line"><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;">response </span><span style="--shiki-light:#999999;--shiki-dark:#666666;">=</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;"> requests</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">.</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;">get</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">(</span></span>
|
|
94
|
+
<span class="line"><span style="--shiki-light:#AB5959;--shiki-dark:#CB7676;"> f</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">'http://localhost:3200/user/getUserPlaylists?uin=</span><span style="--shiki-light:#A65E2B;--shiki-dark:#C99076;">{</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;">uin</span><span style="--shiki-light:#A65E2B;--shiki-dark:#C99076;">}</span><span style="--shiki-light:#B56959;--shiki-dark:#C98A7D;">'</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span></span>
|
|
95
|
+
<span class="line"><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A;"> headers</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;">X-Custom-Cookie</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">'</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">:</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;"> cookie</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">}</span></span>
|
|
96
|
+
<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">)</span></span>
|
|
97
|
+
<span class="line"><span style="--shiki-light:#998418;--shiki-dark:#B8A965;">print</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">(</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;">response</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">.</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;">json</span><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><h3 id="需要-cookie-的接口" tabindex="-1">需要 Cookie 的接口 <a class="header-anchor" href="#需要-cookie-的接口" aria-label="Permalink to “需要 Cookie 的接口”"></a></h3><table tabindex="0"><thead><tr><th>接口</th><th>说明</th><th>参数</th></tr></thead><tbody><tr><td><code>/user/getUserPlaylists</code></td><td>获取用户歌单</td><td><code>uin</code>, <code>cookie</code></td></tr><tr><td><code>/user/getUserLikedSongs</code></td><td>获取用户喜欢的歌曲</td><td><code>cookie</code></td></tr><tr><td><code>/user/getUserAvatar</code></td><td>获取用户头像</td><td><code>uin</code>, <code>cookie</code></td></tr><tr><td><code>/getDailyRecommend</code></td><td>获取每日推荐</td><td><code>cookie</code></td></tr><tr><td><code>/getPersonalRecommend</code></td><td>获取个性化推荐</td><td><code>cookie</code></td></tr><tr><td><code>/getSimilarSongs</code></td><td>获取相似歌曲</td><td><code>songmid</code>, <code>cookie</code></td></tr></tbody></table><h3 id="不需要-cookie-的接口" tabindex="-1">不需要 Cookie 的接口 <a class="header-anchor" href="#不需要-cookie-的接口" aria-label="Permalink to “不需要 Cookie 的接口”"></a></h3><table tabindex="0"><thead><tr><th>接口</th><th>说明</th></tr></thead><tbody><tr><td><code>/getRanks</code></td><td>获取排行榜</td></tr><tr><td><code>/getHotkey</code></td><td>获取热门搜索关键词</td></tr><tr><td><code>/getSearchByKey/:key</code></td><td>搜索歌曲</td></tr><tr><td><code>/getSongLists</code></td><td>获取歌单列表</td></tr><tr><td><code>/getSongListDetail/:disstid</code></td><td>获取歌单详情</td></tr><tr><td><code>/getLyric/:songmid</code></td><td>获取歌词</td></tr><tr><td><code>/getMusicPlay/:songmid</code></td><td>获取歌曲播放链接</td></tr></tbody></table><h2 id="获取-cookie-的方法" tabindex="-1">获取 Cookie 的方法 <a class="header-anchor" href="#获取-cookie-的方法" aria-label="Permalink to “获取 Cookie 的方法”"></a></h2><h3 id="方法-1-从浏览器获取" tabindex="-1">方法 1: 从浏览器获取 <a class="header-anchor" href="#方法-1-从浏览器获取" aria-label="Permalink to “方法 1: 从浏览器获取”"></a></h3><ol><li>访问 <a href="https://y.qq.com" target="_blank" rel="noreferrer">https://y.qq.com</a> 并登录</li><li>按 F12 打开开发者工具</li><li>点击 Network 标签</li><li>刷新页面</li><li>选择第一个请求</li><li>在 Request Headers 中找到 Cookie</li><li>复制整个 Cookie 值</li></ol><h3 id="方法-2-使用扫码登录接口" tabindex="-1">方法 2: 使用扫码登录接口 <a class="header-anchor" href="#方法-2-使用扫码登录接口" aria-label="Permalink to “方法 2: 使用扫码登录接口”"></a></h3><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes vitesse-light vitesse-dark" style="--shiki-light:#393a34;--shiki-dark:#dbd7caee;--shiki-light-bg:#ffffff;--shiki-dark-bg:#121212;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD;"># 1. 获取二维码</span></span>
|
|
98
|
+
<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/getQQLoginQr</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span></span>
|
|
99
|
+
<span class="line"></span>
|
|
100
|
+
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD;"># 2. 用手机 QQ 扫码登录</span></span>
|
|
101
|
+
<span class="line"></span>
|
|
102
|
+
<span class="line"><span style="--shiki-light:#A0ADA0;--shiki-dark:#758575DD;"># 3. 检查登录状态</span></span>
|
|
103
|
+
<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/checkQQLoginQr</span><span style="--shiki-light:#B5695977;--shiki-dark:#C98A7D77;">"</span><span style="--shiki-light:#A65E2B;--shiki-dark:#C99076;"> \</span></span>
|
|
104
|
+
<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>
|
|
105
|
+
<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><p>登录成功后会返回完整的 Cookie 信息。</p><h2 id="常见问题" tabindex="-1">常见问题 <a class="header-anchor" href="#常见问题" aria-label="Permalink to “常见问题”"></a></h2><h3 id="q-为什么返回-获取用户歌单失败" tabindex="-1">Q: 为什么返回 "获取用户歌单失败"? <a class="header-anchor" href="#q-为什么返回-获取用户歌单失败" aria-label="Permalink to “Q: 为什么返回 "获取用户歌单失败"?”"></a></h3><p><strong>A</strong>: 可能原因:</p><ol><li>没有传递 Cookie</li><li>Cookie 已过期</li><li>Cookie 格式不正确</li><li>uin 参数与 Cookie 不匹配</li></ol><h3 id="q-cookie-有效期多久" tabindex="-1">Q: Cookie 有效期多久? <a class="header-anchor" href="#q-cookie-有效期多久" aria-label="Permalink to “Q: Cookie 有效期多久?”"></a></h3><p><strong>A</strong>: 通常几天到几周不等,过期后需要重新获取</p><h3 id="q-如何切换回全局-cookie-模式" tabindex="-1">Q: 如何切换回全局 Cookie 模式? <a class="header-anchor" href="#q-如何切换回全局-cookie-模式" aria-label="Permalink to “Q: 如何切换回全局 Cookie 模式?”"></a></h3><p><strong>A</strong>: 修改 <code>config/service-config.json</code>,设置 <code>useGlobalCookie: true</code>,然后重启服务</p><h2 id="注意事项" tabindex="-1">注意事项 <a class="header-anchor" href="#注意事项" aria-label="Permalink to “注意事项”"></a></h2><ol><li><strong>Cookie 安全</strong>: 不要将 Cookie 提交到版本控制系统</li><li><strong>HTTPS</strong>: 生产环境建议使用 HTTPS 传输</li><li><strong>权限</strong>: Cookie 包含登录凭证,请妥善保管</li><li><strong>过期处理</strong>: Cookie 过期后需要重新获取</li></ol></div></div></main><footer class="VPDocFooter" data-v-7011f0d8 data-v-e257564d><!--[--><!--]--><div class="edit-info" data-v-e257564d><div class="edit-link" data-v-e257564d><a class="VPLink link vp-external-link-icon no-icon edit-link-button" href="https://github.com/sansenjian/qq-music-api/edit/main/docs/DEGRADE_EXAMPLES.md" target="_blank" rel="noreferrer" data-v-e257564d><!--[--><span class="vpi-square-pen edit-link-icon" data-v-e257564d></span> 在 GitHub 上编辑此页面<!--]--></a></div><div class="last-updated" data-v-e257564d><p class="VPLastUpdated" data-v-e257564d data-v-3c637f39>最后更新于: <time datetime="2026-05-17T15:29:28.000Z" data-v-3c637f39></time></p></div></div><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-e257564d><span class="visually-hidden" id="doc-footer-aria-label" data-v-e257564d>Pager</span><div class="pager" data-v-e257564d><a class="VPLink link pager-link prev" href="/qq-music-api/QUICK_START.html" data-v-e257564d><!--[--><span class="desc" data-v-e257564d>上一页</span><span class="title" data-v-e257564d>快速使用指南</span><!--]--></a></div><div class="pager" data-v-e257564d><a class="VPLink link pager-link next" href="/qq-music-api/guide/authentication.html" data-v-e257564d><!--[--><span class="desc" data-v-e257564d>下一页</span><span class="title" data-v-e257564d>认证与登录</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><footer class="VPFooter has-sidebar" data-v-0cf61682 data-v-c3855bb3><div class="container" data-v-c3855bb3><p class="message" data-v-c3855bb3>基于 MIT 许可发布</p><p class="copyright" data-v-c3855bb3>Copyright © 2020-present Sansenjian</p></div></footer><!--[--><!--]--></div></div>
|
|
106
|
+
<script>window.__VP_HASH_MAP__=JSON.parse("{\"api_comments.md\":\"5nDhrWa8\",\"api_index.md\":\"DdG1WHkZ\",\"api_music.md\":\"D66hq-_4\",\"api_other.md\":\"9KhspVEM\",\"api_playground.md\":\"BZBvYMm2\",\"api_playlist.md\":\"BQK32ZyE\",\"api_rank.md\":\"z7YBwVgw\",\"api_search.md\":\"GfzIBRfc\",\"api_singer.md\":\"BDR-_qDH\",\"api_user.md\":\"Dx8BWGrb\",\"changelog-architecture.md\":\"CYHmaBdY\",\"cookie_config_guide.md\":\"Nvywo7CW\",\"degrade_examples.md\":\"Cz2J-qwE\",\"fallback_mode_guide.md\":\"wKA9yqoI\",\"guide_architecture.md\":\"SHnKkzwb\",\"guide_authentication.md\":\"CZCKocgR\",\"guide_index.md\":\"CkJ-jjL0\",\"guide_installation.md\":\"D2TBzILh\",\"guide_quickstart.md\":\"J7Sib8wg\",\"index.md\":\"ClwYf6Qc\",\"quick_start.md\":\"D5KfDgbs\",\"readme.md\":\"CHbArqA7\",\"reference_response-format.md\":\"BrGoGoPV\",\"test_user_playlists.md\":\"BfBxYbaM\",\"user_avatar_guide.md\":\"D5Rti1Gg\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"zh-CN\",\"dir\":\"ltr\",\"title\":\"QQ Music API\",\"description\":\"QQ 音乐 API 接口文档\",\"base\":\"/qq-music-api/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"logo\":\"/logo.svg\",\"nav\":[{\"text\":\"首页\",\"link\":\"/\"},{\"text\":\"使用指南\",\"link\":\"/guide/\"},{\"text\":\"API 文档\",\"link\":\"/api/\"},{\"text\":\"API 调试台\",\"link\":\"/api/playground\"},{\"text\":\"用户能力\",\"link\":\"/api/user\"},{\"text\":\"架构说明\",\"link\":\"/guide/architecture\"}],\"sidebar\":[{\"text\":\"开始使用\",\"items\":[{\"text\":\"首页\",\"link\":\"/\"},{\"text\":\"使用指南\",\"link\":\"/guide/\"},{\"text\":\"安装指南\",\"link\":\"/guide/installation\"},{\"text\":\"快速开始\",\"link\":\"/guide/quickstart\"},{\"text\":\"快速使用指南\",\"link\":\"/QUICK_START\"},{\"text\":\"降级服务示例\",\"link\":\"/DEGRADE_EXAMPLES\"}]},{\"text\":\"认证与用户\",\"items\":[{\"text\":\"认证与登录\",\"link\":\"/guide/authentication\"},{\"text\":\"用户接口\",\"link\":\"/api/user\"}]},{\"text\":\"API 文档\",\"items\":[{\"text\":\"API 总览\",\"link\":\"/api/\"},{\"text\":\"音乐相关\",\"link\":\"/api/music\"},{\"text\":\"歌手相关\",\"link\":\"/api/singer\"},{\"text\":\"歌单相关\",\"link\":\"/api/playlist\"},{\"text\":\"排行榜\",\"link\":\"/api/rank\"},{\"text\":\"搜索\",\"link\":\"/api/search\"},{\"text\":\"评论\",\"link\":\"/api/comments\"},{\"text\":\"其他接口\",\"link\":\"/api/other\"},{\"text\":\"API 调试台\",\"link\":\"/api/playground\"}]},{\"text\":\"开发与维护\",\"items\":[{\"text\":\"响应格式\",\"link\":\"/reference/response-format\"},{\"text\":\"代码架构\",\"link\":\"/guide/architecture\"}]}],\"aside\":true,\"outline\":{\"level\":[2,3],\"label\":\"本页目录\"},\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/sansenjian/qq-music-api\"}],\"footer\":{\"message\":\"基于 MIT 许可发布\",\"copyright\":\"Copyright © 2020-present Sansenjian\"},\"docFooter\":{\"prev\":\"上一页\",\"next\":\"下一页\"},\"lastUpdated\":{\"text\":\"最后更新于\",\"formatOptions\":{\"dateStyle\":\"short\",\"timeStyle\":\"short\",\"forceLocale\":true}},\"editLink\":{\"pattern\":\"https://github.com/sansenjian/qq-music-api/edit/main/docs/:path\",\"text\":\"在 GitHub 上编辑此页面\"},\"darkModeSwitchLabel\":\"主题\",\"lightModeSwitchTitle\":\"切换到浅色模式\",\"darkModeSwitchTitle\":\"切换到深色模式\",\"sidebarMenuLabel\":\"菜单\",\"returnToTopLabel\":\"返回顶部\",\"skipToContentLabel\":\"跳转到内容\",\"notFound\":{\"title\":\"页面未找到\",\"quote\":\"你访问的文档页不存在,可能已被移动或删除。\",\"link\":\"/\",\"linkLabel\":\"返回首页\",\"linkText\":\"返回首页\"},\"search\":{\"provider\":\"local\",\"options\":{\"detailedView\":\"auto\",\"translations\":{\"button\":{\"buttonText\":\"搜索\",\"buttonAriaLabel\":\"搜索文档\"},\"modal\":{\"displayDetails\":\"显示详细列表\",\"backButtonTitle\":\"返回\",\"noResultsText\":\"无法找到相关结果\",\"resetButtonTitle\":\"清除查询条件\",\"footer\":{\"selectText\":\"选择\",\"selectKeyAriaLabel\":\"回车键\",\"navigateText\":\"切换\",\"navigateUpKeyAriaLabel\":\"上箭头\",\"navigateDownKeyAriaLabel\":\"下箭头\",\"closeText\":\"关闭\",\"closeKeyAriaLabel\":\"Esc 键\"}}}}}},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false,\"additionalConfig\":{}}");</script>
|
|
107
|
+
|
|
108
|
+
</body>
|
|
109
|
+
</html>
|