qqmusic-api-python 0.6.3__tar.gz → 0.6.5__tar.gz
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.
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/PKG-INFO +1 -1
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/docs/release-notes.md +36 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/qqmusic_api/__init__.py +1 -1
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/qqmusic_api/core/client.py +1 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/qqmusic_api/core/versioning.py +1 -1
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/qqmusic_api/models/request.py +5 -3
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/qqmusic_api/modules/login.py +21 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/.agents/skills/pydantic/SKILL.md +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/.agents/skills/python-standards/SKILL.md +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/.agents/skills/tarsio/SKILL.md +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/.agents/skills/tarsio/references/api-reference.md +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/.agents/skills/uv-package-manager/SKILL.md +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/.dockerignore +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/.github/ISSUE_TEMPLATE/bug.yml +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/.github/ISSUE_TEMPLATE/feature.yml +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/.github/renovate.json +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/.github/workflows/checking.yaml +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/.github/workflows/docs.yml +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/.github/workflows/release.yml +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/.github/workflows/testing.yml +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/.gitignore +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/.markdownlint-cli2.yaml +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/AGENTS.md +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/CLAUDE.md +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/LICENSE +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/README.md +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/assets/qq-music.svg +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/cliff.toml +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/docs/coding.md +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/docs/contributing.md +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/docs/index.md +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/docs/reference/core/client.md +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/docs/reference/core/exception.md +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/docs/reference/core/pagination.md +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/docs/reference/core/request.md +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/docs/reference/core/versioning.md +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/docs/reference/model/album.md +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/docs/reference/model/base.md +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/docs/reference/model/comment.md +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/docs/reference/model/login.md +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/docs/reference/model/lyric.md +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/docs/reference/model/mv.md +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/docs/reference/model/recommend.md +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/docs/reference/model/request.md +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/docs/reference/model/search.md +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/docs/reference/model/singer.md +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/docs/reference/model/song.md +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/docs/reference/model/songlist.md +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/docs/reference/model/top.md +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/docs/reference/model/user.md +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/docs/reference/modules/album.md +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/docs/reference/modules/comment.md +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/docs/reference/modules/login.md +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/docs/reference/modules/login_utils.md +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/docs/reference/modules/lyric.md +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/docs/reference/modules/mv.md +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/docs/reference/modules/private_message.md +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/docs/reference/modules/recommend.md +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/docs/reference/modules/search.md +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/docs/reference/modules/singer.md +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/docs/reference/modules/song.md +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/docs/reference/modules/songlist.md +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/docs/reference/modules/top.md +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/docs/reference/modules/user.md +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/docs/tutorial/client.md +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/docs/tutorial/credential.md +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/docs/tutorial/pagination.md +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/docs/tutorial/start.md +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/docs/tutorial/web.md +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/examples/download_song.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/examples/phone_login.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/examples/private_message.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/examples/qrcode_login.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/prek.toml +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/pyproject.toml +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/qqmusic_api/algorithms/__init__.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/qqmusic_api/algorithms/tripledes.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/qqmusic_api/core/__init__.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/qqmusic_api/core/exceptions.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/qqmusic_api/core/pagination.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/qqmusic_api/core/request.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/qqmusic_api/models/__init__.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/qqmusic_api/models/_validator.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/qqmusic_api/models/album.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/qqmusic_api/models/base.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/qqmusic_api/models/comment.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/qqmusic_api/models/login.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/qqmusic_api/models/lyric.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/qqmusic_api/models/mv.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/qqmusic_api/models/private_message.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/qqmusic_api/models/recommend.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/qqmusic_api/models/search.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/qqmusic_api/models/singer.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/qqmusic_api/models/song.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/qqmusic_api/models/songlist.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/qqmusic_api/models/top.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/qqmusic_api/models/user.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/qqmusic_api/modules/__init__.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/qqmusic_api/modules/_base.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/qqmusic_api/modules/album.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/qqmusic_api/modules/comment.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/qqmusic_api/modules/login_utils.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/qqmusic_api/modules/lyric.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/qqmusic_api/modules/mv.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/qqmusic_api/modules/private_message.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/qqmusic_api/modules/recommend.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/qqmusic_api/modules/search.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/qqmusic_api/modules/singer.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/qqmusic_api/modules/song.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/qqmusic_api/modules/songlist.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/qqmusic_api/modules/top.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/qqmusic_api/modules/user.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/qqmusic_api/utils/__init__.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/qqmusic_api/utils/common.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/qqmusic_api/utils/device.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/qqmusic_api/utils/mqtt.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/qqmusic_api/utils/qimei.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/scripts/ag-1.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/tests/conftest.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/tests/test_album.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/tests/test_comment.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/tests/test_login.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/tests/test_login_utils.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/tests/test_lyric.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/tests/test_mv.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/tests/test_private_message.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/tests/test_recommend.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/tests/test_search.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/tests/test_singer.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/tests/test_song.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/tests/test_songlist.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/tests/test_top.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/tests/test_user.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/uv.lock +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/web/.gitignore +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/web/Dockerfile +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/web/README.md +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/web/accounts.example.toml +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/web/config.example.toml +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/web/docker-compose.yml +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/web/run.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/web/src/app.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/web/src/core/__init__.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/web/src/core/auth.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/web/src/core/cache.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/web/src/core/config.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/web/src/core/credential_store.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/web/src/core/deps.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/web/src/core/response.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/web/src/core/security.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/web/src/modules/__init__.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/web/src/modules/comment.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/web/src/modules/login.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/web/src/modules/mv.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/web/src/modules/singer.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/web/src/modules/song.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/web/src/modules/songlist.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/web/src/routes/__init__.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/web/src/routes/_helpers.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/web/src/routes/album.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/web/src/routes/comment.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/web/src/routes/login.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/web/src/routes/lyric.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/web/src/routes/mv.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/web/src/routes/recommend.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/web/src/routes/search.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/web/src/routes/singer.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/web/src/routes/song.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/web/src/routes/songlist.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/web/src/routes/top.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/web/src/routes/user.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/web/src/routing/__init__.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/web/src/routing/docstrings.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/web/src/routing/executor.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/web/src/routing/params.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/web/src/routing/route_types.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/web/src/routing/router_factory.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/web/tests/test_web_docstrings.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/web/tests/test_web_enums.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/web/tests/test_web_route_validation.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/web/tests/test_web_routes.py +0 -0
- {qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/zensical.toml +0 -0
|
@@ -1,4 +1,40 @@
|
|
|
1
1
|
|
|
2
|
+
## [[0.6.4](https://github.com/L-1124/QQMusicApi/compare/v0.6.3..v0.6.4)] - 2026-06-12
|
|
3
|
+
|
|
4
|
+
### Bug 修复
|
|
5
|
+
|
|
6
|
+
* **(models)** 修复没有 musickey 时误判为 QQ 登录的问题 ([9b122a7](https://github.com/L-1124/QQMusicApi/commit/9b122a77f418d85f1926da889846c61a55bf70a2)) by [@L-1124](https://github.com/L-1124)
|
|
7
|
+
|
|
8
|
+
### 功能更新
|
|
9
|
+
|
|
10
|
+
* **(models)** 修改 BaseModel 的 model_config 设置,允许额外字段 ([12a2334](https://github.com/L-1124/QQMusicApi/commit/12a2334dbde580930b167c728998b6310508597e)) by [@L-1124](https://github.com/L-1124)
|
|
11
|
+
|
|
12
|
+
### 贡献者
|
|
13
|
+
|
|
14
|
+
* @L-1124
|
|
15
|
+
* @github-actions[bot]
|
|
16
|
+
|
|
17
|
+
## [[0.6.3](https://github.com/L-1124/QQMusicApi/compare/v0.6.2..v0.6.3)] - 2026-06-12
|
|
18
|
+
|
|
19
|
+
### Bug 修复
|
|
20
|
+
|
|
21
|
+
* **(models)** 修复 jsonpath 通配字段单条解包与收藏 MV subcode 别名不匹配 ([b31f802](https://github.com/L-1124/QQMusicApi/commit/b31f802bad06489315b9b1d3e15f141bcbcde121)) by [@jinzhongjia](https://github.com/jinzhongjia) in [#259](https://github.com/L-1124/QQMusicApi/pull/259)
|
|
22
|
+
* **(tests)** 修复 handle_unavailable_api_errors fixture 无法正确捕获测试执行期异常并跳过的问题 ([412d6cf](https://github.com/L-1124/QQMusicApi/commit/412d6cf17d18c97f4fb0ebff9be86f3c86566120)) by [@L-1124](https://github.com/L-1124)
|
|
23
|
+
|
|
24
|
+
### 功能更新
|
|
25
|
+
|
|
26
|
+
* **(user)** get_vip_info 响应模型补充会员身份字段 ([6504373](https://github.com/L-1124/QQMusicApi/commit/650437317290c4905bc81fefed169a9e725f7c29)) by [@jinzhongjia](https://github.com/jinzhongjia) in [#258](https://github.com/L-1124/QQMusicApi/pull/258)
|
|
27
|
+
|
|
28
|
+
### 功能重构
|
|
29
|
+
|
|
30
|
+
* **(models)** field_validator → Annotated + BeforeValidator ([5505ed1](https://github.com/L-1124/QQMusicApi/commit/5505ed1fd1630f4e7803a86eb40c7eaf113f8382)) by [@L-1124](https://github.com/L-1124)
|
|
31
|
+
|
|
32
|
+
### 贡献者
|
|
33
|
+
|
|
34
|
+
* @L-1124
|
|
35
|
+
* @jinzhongjia [#259](https://github.com/L-1124/QQMusicApi/pull/259)
|
|
36
|
+
* @github-actions[bot]
|
|
37
|
+
|
|
2
38
|
## [[0.6.2](https://github.com/L-1124/QQMusicApi/compare/v0.6.1..v0.6.2)] - 2026-06-08
|
|
3
39
|
|
|
4
40
|
### Bug 修复
|
|
@@ -110,7 +110,7 @@ class VersionPolicy:
|
|
|
110
110
|
qq=str(credential.musicid) if credential.musicid else None,
|
|
111
111
|
authst=credential.musickey or None,
|
|
112
112
|
tmeAppID="qqmusic",
|
|
113
|
-
tmeLoginType=credential.login_type,
|
|
113
|
+
tmeLoginType=credential.login_type or None,
|
|
114
114
|
QIMEI=qimei["q16"] if qimei is not None else "",
|
|
115
115
|
QIMEI36=qimei["q36"] if qimei is not None else "",
|
|
116
116
|
OpenUDID=guid,
|
|
@@ -10,7 +10,7 @@ from tarsio import Struct, TarsDict, field
|
|
|
10
10
|
class BaseModel(PydanticBaseModel):
|
|
11
11
|
"""基础数据模型."""
|
|
12
12
|
|
|
13
|
-
model_config = ConfigDict(populate_by_name=True, extra="
|
|
13
|
+
model_config = ConfigDict(populate_by_name=True, extra="allow", frozen=True)
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
class CommonParams(BaseModel):
|
|
@@ -104,8 +104,10 @@ class Credential(BaseModel):
|
|
|
104
104
|
if "loginType" in data or "login_type" in data:
|
|
105
105
|
return data
|
|
106
106
|
|
|
107
|
-
|
|
108
|
-
|
|
107
|
+
musickey = data.get("musickey")
|
|
108
|
+
if not musickey:
|
|
109
|
+
return data
|
|
110
|
+
|
|
109
111
|
inferred_login_type = 1 if isinstance(musickey, str) and musickey.startswith("W_X") else 2
|
|
110
112
|
return {**data, "loginType": inferred_login_type}
|
|
111
113
|
|
|
@@ -83,6 +83,27 @@ class LoginApi(ApiModule):
|
|
|
83
83
|
bool: 是否已过期.
|
|
84
84
|
"""
|
|
85
85
|
target = credential or self._client.credential
|
|
86
|
+
if self._client.platform == Platform.WEB:
|
|
87
|
+
resp = await self._client.request(
|
|
88
|
+
"GET",
|
|
89
|
+
"https://c6.y.qq.com/rsc/fcgi-bin/fcg_get_profile_homepage.fcg",
|
|
90
|
+
credential=target,
|
|
91
|
+
params={
|
|
92
|
+
"g_tk": hash33(target.musickey, 5381),
|
|
93
|
+
"format": "json",
|
|
94
|
+
"inCharset": "utf-8",
|
|
95
|
+
"outCharset": "utf-8",
|
|
96
|
+
"notice": 0,
|
|
97
|
+
"cid": 205360838,
|
|
98
|
+
"needNewCode": 0,
|
|
99
|
+
"loginUin": target.musicid,
|
|
100
|
+
"hostUin": 0,
|
|
101
|
+
"userid": target.musicid,
|
|
102
|
+
"reqfrom": "1",
|
|
103
|
+
},
|
|
104
|
+
)
|
|
105
|
+
return resp.json().get("code") != 0
|
|
106
|
+
|
|
86
107
|
data = await self._build_request(
|
|
87
108
|
module="music.UserInfo.userInfoServer",
|
|
88
109
|
method="GetLoginUserInfo",
|
|
File without changes
|
{qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/.agents/skills/python-standards/SKILL.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/.agents/skills/uv-package-manager/SKILL.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/docs/reference/modules/private_message.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/qqmusic_api/modules/private_message.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{qqmusic_api_python-0.6.3 → qqmusic_api_python-0.6.5}/web/tests/test_web_route_validation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|