diff --git a/.eslintignore b/.eslintignore index a6f34fe..8167f5f 100644 --- a/.eslintignore +++ b/.eslintignore @@ -2,3 +2,5 @@ node_modules dist out .gitignore +auto-imports.d.ts +components.d.ts diff --git a/.github/ISSUE_TEMPLATE/add.yml b/.github/ISSUE_TEMPLATE/add.yml index 10611f4..115c171 100644 --- a/.github/ISSUE_TEMPLATE/add.yml +++ b/.github/ISSUE_TEMPLATE/add.yml @@ -1,6 +1,6 @@ name: 添加功能 description: 请填写希望添加的功能的具体信息 -title: "添加功能" +title: 【添加功能】请填写标题 labels: [add] body: - type: input diff --git a/.github/ISSUE_TEMPLATE/bug.yml b/.github/ISSUE_TEMPLATE/bug.yml index 6010970..7c03686 100644 --- a/.github/ISSUE_TEMPLATE/bug.yml +++ b/.github/ISSUE_TEMPLATE/bug.yml @@ -1,5 +1,6 @@ name: 遇到问题 description: 关于使用过程中遇到的问题 +title: 【遇到问题】请填写标题 labels: [bug] body: - type: input diff --git a/.prettierignore b/.prettierignore index 9c6b791..13cff43 100644 --- a/.prettierignore +++ b/.prettierignore @@ -4,3 +4,5 @@ pnpm-lock.yaml LICENSE.md tsconfig.json tsconfig.*.json +auto-imports.d.ts +components.d.ts diff --git a/.prettierrc.yaml b/.prettierrc.yaml index 3fe15a9..2232686 100644 --- a/.prettierrc.yaml +++ b/.prettierrc.yaml @@ -1,4 +1,8 @@ +# 是否使用单引号而不是双引号 singleQuote: false +# 是否在语句末尾使用分号 semi: true +# 每行的最大打印宽度 printWidth: 100 +# 是否在对象和数组的末尾加上逗号 trailingComma: all diff --git a/README.md b/README.md index e01ef8f..48e77e7 100644 --- a/README.md +++ b/README.md @@ -19,9 +19,10 @@ > - 感谢您的尊重与理解 - 本项目采用 [Vue 3](https://cn.vuejs.org/) 全家桶和 [Naïve UI](https://www.naiveui.com/) 组件库及 [Electron](https://www.electronjs.org/zh/docs/latest/) 开发 -- 支持网页端与客户端,由于设备有限,目前仅适配 `Win`,其他平台可自行构建 -- ~~仅对移动端做了基础适配,**不保证功能全部可用**~~ -- 欢迎各位大佬指点和 `Star` 哦 😍 +- 支持网页端与客户端,由于设备有限,目前仅适配 `Win`,其他平台可自行解决兼容性后进行构建 +- 仅对移动端做了基础适配,**不保证功能全部可用** + > 请注意,本程序不打算开发移动端,也不会对移动端进行完美适配,仅保证基础可用性 +- 欢迎各位大佬 `Star` 😍 ## 👀 Demo @@ -33,7 +34,7 @@ - 支持手机号登录 - 自动进行每日签到及云贝签到 - 封面主题色自适应 -- 本地歌曲管理及分类 ~~以及音乐标签编辑~~ +- 本地歌曲管理及分类(建议先使用 [音乐标签](https://www.cnblogs.com/vinlxc/p/11347744.html) 进行匹配后再使用) - **支持播放部分无版权歌曲(可能会与原曲不匹配,客户端独占功能)** - 下载歌曲(最高支持 Hi-Res) - 新建歌单及歌单编辑 diff --git a/components.d.ts b/components.d.ts index 37b73ea..4b26500 100644 --- a/components.d.ts +++ b/components.d.ts @@ -40,6 +40,7 @@ declare module 'vue' { NDropdown: typeof import('naive-ui')['NDropdown'] NEllipsis: typeof import('naive-ui')['NEllipsis'] NEmpty: typeof import('naive-ui')['NEmpty'] + NFlex: typeof import('naive-ui')['NFlex'] NForm: typeof import('naive-ui')['NForm'] NFormItem: typeof import('naive-ui')['NFormItem'] NGi: typeof import('naive-ui')['NGi'] @@ -99,6 +100,7 @@ declare module 'vue' { SearchInp: typeof import('./src/components/Search/SearchInp.vue')['default'] SearchSuggestions: typeof import('./src/components/Search/SearchSuggestions.vue')['default'] SongList: typeof import('./src/components/List/SongList.vue')['default'] + SongListDrawer: typeof import('./src/components/List/SongListDrawer.vue')['default'] SongListDropdown: typeof import('./src/components/List/SongListDropdown.vue')['default'] SpecialCover: typeof import('./src/components/Cover/SpecialCover.vue')['default'] SpecialCoverCard: typeof import('./src/components/Cover/SpecialCoverCard.vue')['default'] diff --git a/package.json b/package.json index 143e889..4e00c94 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,7 @@ "@electron-toolkit/utils": "^2.0.1", "@material/material-color-utilities": "^0.2.7", "NeteaseCloudMusicApi": "^4.14.0", - "axios": "^1.6.3", + "axios": "^1.6.5", "colorthief": "^2.4.0", "electron-dl": "^3.5.1", "electron-store": "^8.1.0", @@ -52,21 +52,21 @@ "@vitejs/plugin-vue": "^4.6.2", "@vue/eslint-config-prettier": "^8.0.0", "ajv": "^8.12.0", - "electron": "^27.2.0", + "electron": "^27.2.1", "electron-builder": "^24.9.1", "electron-log": "^5.0.3", "electron-vite": "^1.0.29", "eslint": "^8.56.0", "eslint-plugin-vue": "^9.19.2", - "naive-ui": "^2.36.0", + "naive-ui": "^2.37.0", "prettier": "^3.1.1", - "sass": "^1.69.6", + "sass": "^1.69.7", "terser": "^5.26.0", "unplugin-auto-import": "^0.16.7", "unplugin-vue-components": "^0.25.2", "vite": "^4.5.1", "vite-plugin-compression": "^0.5.1", "vite-plugin-pwa": "^0.17.4", - "vue": "^3.4.3" + "vue": "3.4.4" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 352b75b..d0372a5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -7,10 +7,10 @@ settings: dependencies: '@electron-toolkit/preload': specifier: ^2.0.0 - version: 2.0.0(electron@27.2.0) + version: 2.0.0(electron@27.2.1) '@electron-toolkit/utils': specifier: ^2.0.1 - version: 2.0.1(electron@27.2.0) + version: 2.0.1(electron@27.2.1) '@material/material-color-utilities': specifier: ^0.2.7 version: 0.2.7 @@ -18,8 +18,8 @@ dependencies: specifier: ^4.14.0 version: 4.14.0 axios: - specifier: ^1.6.3 - version: 1.6.3 + specifier: ^1.6.5 + version: 1.6.5 colorthief: specifier: ^2.4.0 version: 2.4.0 @@ -55,7 +55,7 @@ dependencies: version: 0.2.6 pinia: specifier: ^2.1.7 - version: 2.1.7(vue@3.4.3) + version: 2.1.7(vue@3.4.4) pinia-plugin-persistedstate: specifier: ^3.2.1 version: 3.2.1(pinia@2.1.7) @@ -67,7 +67,7 @@ dependencies: version: 6.0.2 vue-router: specifier: ^4.2.5 - version: 4.2.5(vue@3.4.3) + version: 4.2.5(vue@3.4.4) vue-slider-component: specifier: 4.1.0-beta.7 version: 4.1.0-beta.7 @@ -81,7 +81,7 @@ devDependencies: version: 1.6.1 '@vitejs/plugin-vue': specifier: ^4.6.2 - version: 4.6.2(vite@4.5.1)(vue@3.4.3) + version: 4.6.2(vite@4.5.1)(vue@3.4.4) '@vue/eslint-config-prettier': specifier: ^8.0.0 version: 8.0.0(eslint@8.56.0)(prettier@3.1.1) @@ -89,8 +89,8 @@ devDependencies: specifier: ^8.12.0 version: 8.12.0 electron: - specifier: ^27.2.0 - version: 27.2.0 + specifier: ^27.2.1 + version: 27.2.1 electron-builder: specifier: ^24.9.1 version: 24.9.1 @@ -107,14 +107,14 @@ devDependencies: specifier: ^9.19.2 version: 9.19.2(eslint@8.56.0) naive-ui: - specifier: ^2.36.0 - version: 2.36.0(vue@3.4.3) + specifier: ^2.37.0 + version: 2.37.0(vue@3.4.4) prettier: specifier: ^3.1.1 version: 3.1.1 sass: - specifier: ^1.69.6 - version: 1.69.6 + specifier: ^1.69.7 + version: 1.69.7 terser: specifier: ^5.26.0 version: 5.26.0 @@ -123,10 +123,10 @@ devDependencies: version: 0.16.7(rollup@2.79.1) unplugin-vue-components: specifier: ^0.25.2 - version: 0.25.2(rollup@2.79.1)(vue@3.4.3) + version: 0.25.2(rollup@2.79.1)(vue@3.4.4) vite: specifier: ^4.5.1 - version: 4.5.1(sass@1.69.6)(terser@5.26.0) + version: 4.5.1(sass@1.69.7)(terser@5.26.0) vite-plugin-compression: specifier: ^0.5.1 version: 0.5.1(vite@4.5.1) @@ -134,8 +134,8 @@ devDependencies: specifier: ^0.17.4 version: 0.17.4(vite@4.5.1)(workbox-build@7.0.0)(workbox-window@7.0.0) vue: - specifier: ^3.4.3 - version: 3.4.3 + specifier: 3.4.4 + version: 3.4.4 packages: @@ -1342,12 +1342,12 @@ packages: css-render: 0.15.12 dev: true - /@css-render/vue3-ssr@0.15.12(vue@3.4.3): + /@css-render/vue3-ssr@0.15.12(vue@3.4.4): resolution: {integrity: sha512-AQLGhhaE0F+rwybRCkKUdzBdTEM/5PZBYy+fSYe1T9z9+yxMuV/k7ZRqa4M69X+EI1W8pa4kc9Iq2VjQkZx4rg==} peerDependencies: vue: ^3.0.11 dependencies: - vue: 3.4.3 + vue: 3.4.4 dev: true /@develar/schema-utils@2.6.5: @@ -1366,20 +1366,20 @@ packages: eslint: 8.56.0 dev: true - /@electron-toolkit/preload@2.0.0(electron@27.2.0): + /@electron-toolkit/preload@2.0.0(electron@27.2.1): resolution: {integrity: sha512-zpZDzbqJTZQC5d4LRs2EKruKWnqah+T75s+niBYFemYLtiW5TTZcWi3Q8UxHqnwTudDMuWJb233aaS2yjx3Xiw==} peerDependencies: electron: '>=13.0.0' dependencies: - electron: 27.2.0 + electron: 27.2.1 dev: false - /@electron-toolkit/utils@2.0.1(electron@27.2.0): + /@electron-toolkit/utils@2.0.1(electron@27.2.1): resolution: {integrity: sha512-3nnjd3D1NIjxdzNrvR5fkJ3kbJNbRkpHppv0/pSbMX6I0DaBzpPXeSfDYuJJKzZrAc3CmGcJa0MU4+AjEOlT4g==} peerDependencies: electron: '>=13.0.0' dependencies: - electron: 27.2.0 + electron: 27.2.1 dev: false /@electron/asar@3.2.8: @@ -1930,7 +1930,7 @@ packages: dependencies: '@types/http-cache-semantics': 4.0.4 '@types/keyv': 3.1.4 - '@types/node': 18.19.4 + '@types/node': 18.19.5 '@types/responselike': 1.0.3 /@types/debug@4.1.12: @@ -1950,7 +1950,7 @@ packages: /@types/fs-extra@9.0.13: resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==} dependencies: - '@types/node': 20.10.6 + '@types/node': 20.10.7 dev: true /@types/http-cache-semantics@4.0.4: @@ -1963,7 +1963,7 @@ packages: /@types/keyv@3.1.4: resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} dependencies: - '@types/node': 18.19.4 + '@types/node': 18.19.5 /@types/lodash-es@4.17.12: resolution: {integrity: sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==} @@ -1979,13 +1979,13 @@ packages: resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} dev: true - /@types/node@18.19.4: - resolution: {integrity: sha512-xNzlUhzoHotIsnFoXmJB+yWmBvFZgKCI9TtPIEdYIMM1KWfwuY8zh7wvc1u1OAXlC7dlf6mZVx/s+Y5KfFz19A==} + /@types/node@18.19.5: + resolution: {integrity: sha512-22MG6T02Hos2JWfa1o5jsIByn+bc5iOt1IS4xyg6OG68Bu+wMonVZzdrgCw693++rpLE9RUT/Bx15BeDzO0j+g==} dependencies: undici-types: 5.26.5 - /@types/node@20.10.6: - resolution: {integrity: sha512-Vac8H+NlRNNlAmDfGUP7b5h/KA+AtWIzuXy0E6OyP8f1tCLYAtPvKRRDJjAPqhpCb0t6U2j7/xqAuLEebW2kiw==} + /@types/node@20.10.7: + resolution: {integrity: sha512-fRbIKb8C/Y2lXxB5eVMj4IU7xpdox0Lh8bUPEdtLysaylsml1hOOx1+STloRs/B9nf7C6kPRmmg/V7aQW7usNg==} dependencies: undici-types: 5.26.5 dev: true @@ -1994,7 +1994,7 @@ packages: resolution: {integrity: sha512-E6OCaRmAe4WDmWNsL/9RMqdkkzDCY1etutkflWk4c+AcjDU07Pcz1fQwTX0TQz+Pxqn9i4L1TU3UFpjnrcDgxA==} requiresBuild: true dependencies: - '@types/node': 20.10.6 + '@types/node': 20.10.7 xmlbuilder: 15.1.1 dev: true optional: true @@ -2002,13 +2002,13 @@ packages: /@types/resolve@1.17.1: resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} dependencies: - '@types/node': 20.10.6 + '@types/node': 20.10.7 dev: true /@types/responselike@1.0.3: resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==} dependencies: - '@types/node': 18.19.4 + '@types/node': 18.19.5 /@types/trusted-types@2.0.7: resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} @@ -2024,57 +2024,57 @@ packages: resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} requiresBuild: true dependencies: - '@types/node': 18.19.4 + '@types/node': 18.19.5 optional: true /@ungap/structured-clone@1.2.0: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true - /@vitejs/plugin-vue@4.6.2(vite@4.5.1)(vue@3.4.3): + /@vitejs/plugin-vue@4.6.2(vite@4.5.1)(vue@3.4.4): resolution: {integrity: sha512-kqf7SGFoG+80aZG6Pf+gsZIVvGSCKE98JbiWqcCV9cThtg91Jav0yvYFC9Zb+jKetNGF6ZKeoaxgZfND21fWKw==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: vite: ^4.0.0 || ^5.0.0 vue: ^3.2.25 dependencies: - vite: 4.5.1(sass@1.69.6)(terser@5.26.0) - vue: 3.4.3 + vite: 4.5.1(sass@1.69.7)(terser@5.26.0) + vue: 3.4.4 dev: true - /@vue/compiler-core@3.4.3: - resolution: {integrity: sha512-u8jzgFg0EDtSrb/hG53Wwh1bAOQFtc1ZCegBpA/glyvTlgHl+tq13o1zvRfLbegYUw/E4mSTGOiCnAJ9SJ+lsg==} + /@vue/compiler-core@3.4.4: + resolution: {integrity: sha512-U5AdCN+6skzh2bSJrkMj2KZsVkUpgK8/XlxjSRYQZhNPcvt9/kmgIMpFEiTyK+Dz5E1J+8o8//BEIX+bakgVSw==} dependencies: '@babel/parser': 7.23.6 - '@vue/shared': 3.4.3 + '@vue/shared': 3.4.4 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.0.2 - /@vue/compiler-dom@3.4.3: - resolution: {integrity: sha512-oGF1E9/htI6JWj/lTJgr6UgxNCtNHbM6xKVreBWeZL9QhRGABRVoWGAzxmtBfSOd+w0Zi5BY0Es/tlJrN6WgEg==} + /@vue/compiler-dom@3.4.4: + resolution: {integrity: sha512-iSwkdDULCN+Vr8z6uwdlL044GJ/nUmECxP9vu7MzEs4Qma0FwDLYvnvRcyO0ZITuu3Os4FptGUDnhi1kOLSaGw==} dependencies: - '@vue/compiler-core': 3.4.3 - '@vue/shared': 3.4.3 + '@vue/compiler-core': 3.4.4 + '@vue/shared': 3.4.4 - /@vue/compiler-sfc@3.4.3: - resolution: {integrity: sha512-NuJqb5is9I4uzv316VRUDYgIlPZCG8D+ARt5P4t5UDShIHKL25J3TGZAUryY/Aiy0DsY7srJnZL5ryB6DD63Zw==} + /@vue/compiler-sfc@3.4.4: + resolution: {integrity: sha512-OTFcU6vUxUNHBcarzkp4g6d25nvcmDvFDzPRvSrIsByFFPRYN+y3b+j9HxYwt6nlWvGyFCe0roeJdJlfYxbCBg==} dependencies: '@babel/parser': 7.23.6 - '@vue/compiler-core': 3.4.3 - '@vue/compiler-dom': 3.4.3 - '@vue/compiler-ssr': 3.4.3 - '@vue/shared': 3.4.3 + '@vue/compiler-core': 3.4.4 + '@vue/compiler-dom': 3.4.4 + '@vue/compiler-ssr': 3.4.4 + '@vue/shared': 3.4.4 estree-walker: 2.0.2 magic-string: 0.30.5 - postcss: 8.4.32 + postcss: 8.4.33 source-map-js: 1.0.2 - /@vue/compiler-ssr@3.4.3: - resolution: {integrity: sha512-wnYQtMBkeFSxgSSQbYGQeXPhQacQiog2c6AlvMldQH6DB+gSXK/0F6DVXAJfEiuBSgBhUc8dwrrG5JQcqwalsA==} + /@vue/compiler-ssr@3.4.4: + resolution: {integrity: sha512-1DU9DflSSQlx/M61GEBN+NbT/anUki2ooDo9IXfTckCeKA/2IKNhY8KbG3x6zkd3KGrxzteC7de6QL88vEb41Q==} dependencies: - '@vue/compiler-dom': 3.4.3 - '@vue/shared': 3.4.3 + '@vue/compiler-dom': 3.4.4 + '@vue/shared': 3.4.4 /@vue/devtools-api@6.5.1: resolution: {integrity: sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==} @@ -2094,35 +2094,35 @@ packages: - '@types/eslint' dev: true - /@vue/reactivity@3.4.3: - resolution: {integrity: sha512-q5f9HLDU+5aBKizXHAx0w4whkIANs1Muiq9R5YXm0HtorSlflqv9u/ohaMxuuhHWCji4xqpQ1eL04WvmAmGnFg==} + /@vue/reactivity@3.4.4: + resolution: {integrity: sha512-DFsuJBf6sfhd5SYzJmcBTUG9+EKqjF31Gsk1NJtnpJm9liSZ806XwGJUeNBVQIanax7ODV7Lmk/k17BgxXNuTg==} dependencies: - '@vue/shared': 3.4.3 + '@vue/shared': 3.4.4 - /@vue/runtime-core@3.4.3: - resolution: {integrity: sha512-C1r6QhB1qY7D591RCSFhMULyzL9CuyrGc+3PpB0h7dU4Qqw6GNyo4BNFjHZVvsWncrUlKX3DIKg0Y7rNNr06NQ==} + /@vue/runtime-core@3.4.4: + resolution: {integrity: sha512-zWWwNQAj5JdxrmOA1xegJm+c4VtyIbDEKgQjSb4va5v7gGTCh0ZjvLI+htGFdVXaO9bs2J3C81p5p+6jrPK8Bw==} dependencies: - '@vue/reactivity': 3.4.3 - '@vue/shared': 3.4.3 + '@vue/reactivity': 3.4.4 + '@vue/shared': 3.4.4 - /@vue/runtime-dom@3.4.3: - resolution: {integrity: sha512-wrsprg7An5Ec+EhPngWdPuzkp0BEUxAKaQtN9dPU/iZctPyD9aaXmVtehPJerdQxQale6gEnhpnfywNw3zOv2A==} + /@vue/runtime-dom@3.4.4: + resolution: {integrity: sha512-Nlh2ap1J/eJQ6R0g+AIRyGNwpTJQACN0dk8I8FRLH8Ev11DSvfcPOpn4+Kbg5xAMcuq0cHB8zFYxVrOgETrrvg==} dependencies: - '@vue/runtime-core': 3.4.3 - '@vue/shared': 3.4.3 + '@vue/runtime-core': 3.4.4 + '@vue/shared': 3.4.4 csstype: 3.1.3 - /@vue/server-renderer@3.4.3(vue@3.4.3): - resolution: {integrity: sha512-BUxt8oVGMKKsqSkM1uU3d3Houyfy4WAc2SpSQRebNd+XJGATVkW/rO129jkyL+kpB/2VRKzE63zwf5RtJ3XuZw==} + /@vue/server-renderer@3.4.4(vue@3.4.4): + resolution: {integrity: sha512-+AjoiKcC41k7SMJBYkDO9xs79/Of8DiThS9mH5l2MK+EY0to3psI0k+sElvVqQvsoZTjHMEuMz0AEgvm2T+CwA==} peerDependencies: - vue: 3.4.3 + vue: 3.4.4 dependencies: - '@vue/compiler-ssr': 3.4.3 - '@vue/shared': 3.4.3 - vue: 3.4.3 + '@vue/compiler-ssr': 3.4.4 + '@vue/shared': 3.4.4 + vue: 3.4.4 - /@vue/shared@3.4.3: - resolution: {integrity: sha512-rIwlkkP1n4uKrRzivAKPZIEkHiuwY5mmhMJ2nZKCBLz8lTUlE73rQh4n1OnnMurXt1vcUNyH4ZPfdh8QweTjpQ==} + /@vue/shared@3.4.4: + resolution: {integrity: sha512-abSgiVRhfjfl3JALR/cSuBl74hGJ3SePgf1mKzodf1eMWLwHZbfEGxT2cNJSsNiw44jEgrO7bNkhchaWA7RwNw==} /@xmldom/xmldom@0.8.10: resolution: {integrity: sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==} @@ -2135,7 +2135,7 @@ packages: engines: {node: '>=12'} hasBin: true dependencies: - axios: 1.6.3 + axios: 1.6.5 crypto-js: 4.2.0 express: 4.18.2 express-fileupload: 1.4.3 @@ -2394,8 +2394,8 @@ packages: resolution: {integrity: sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==} dev: false - /axios@1.6.3: - resolution: {integrity: sha512-fWyNdeawGam70jXSVlKl+SUNVcL6j6W79CuSIPfi6HnDUmSCH6gyUys/HrqHeA/wU0Az41rRgean494d0Jb+ww==} + /axios@1.6.5: + resolution: {integrity: sha512-Ii012v05KEVuUoFWmMW/UQv9aRIc3ZwkWDcM+h5Il8izZCtRVpDUfwpoFf7eOtajT3QiGR4yDUx7lPqHJULgbg==} dependencies: follow-redirects: 1.15.4 form-data: 4.0.0 @@ -2529,8 +2529,8 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001572 - electron-to-chromium: 1.4.616 + caniuse-lite: 1.0.30001576 + electron-to-chromium: 1.4.623 node-releases: 2.0.14 update-browserslist-db: 1.0.13(browserslist@4.22.2) dev: true @@ -2643,8 +2643,8 @@ packages: engines: {node: '>=6'} dev: false - /caniuse-lite@1.0.30001572: - resolution: {integrity: sha512-1Pbh5FLmn5y4+QhNyJE9j3/7dK44dGB83/ZMjv/qJk86TvDbjk0LosiZo0i0WB0Vx607qMX9jYrn1VLHCkN4rw==} + /caniuse-lite@1.0.30001576: + resolution: {integrity: sha512-ff5BdakGe2P3SQsMsiqmt1Lc8221NR1VzHj5jXN5vBny9A6fpze94HiVV/n7XRosOlsShJcvMv5mdnpjOGCEgg==} dev: true /caseless@0.12.0: @@ -3198,8 +3198,8 @@ packages: type-fest: 2.19.0 dev: false - /electron-to-chromium@1.4.616: - resolution: {integrity: sha512-1n7zWYh8eS0L9Uy+GskE0lkBUNK83cXTVJI0pU3mGprFsbfSdAc15VTFbo+A+Bq4pwstmL30AVcEU3Fo463lNg==} + /electron-to-chromium@1.4.623: + resolution: {integrity: sha512-lKoz10iCYlP1WtRYdh5MvocQPWVRoI7ysp6qf18bmeBgR8abE6+I2CsfyNKztRDZvhdWc+krKT6wS7Neg8sw3A==} dev: true /electron-updater@6.1.7: @@ -3234,19 +3234,19 @@ packages: esbuild: 0.18.20 magic-string: 0.30.5 picocolors: 1.0.0 - vite: 4.5.1(sass@1.69.6)(terser@5.26.0) + vite: 4.5.1(sass@1.69.7)(terser@5.26.0) transitivePeerDependencies: - supports-color dev: true - /electron@27.2.0: - resolution: {integrity: sha512-no/iMICVLI/5G0IqgKFbB89HDN88DWwKeRO+dPfJPkpJISdEX8Cx/sMEOFuuRa4VNInNe5CKCqRWExK5z3AdcQ==} + /electron@27.2.1: + resolution: {integrity: sha512-bYUzyptYrUIFtPnyF2x6DnhF1E9FCthctjbNSKMqg7dG4NqSwyuZzEku3Wts55u8R+ddNFbLoLwRHHLvYTCQlA==} engines: {node: '>= 12.20.55'} hasBin: true requiresBuild: true dependencies: '@electron/get': 2.0.3 - '@types/node': 18.19.4 + '@types/node': 18.19.5 extract-zip: 2.0.1 transitivePeerDependencies: - supports-color @@ -4556,7 +4556,7 @@ packages: resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.10.6 + '@types/node': 20.10.7 merge-stream: 2.0.0 supports-color: 7.2.0 dev: true @@ -4978,18 +4978,19 @@ packages: - supports-color dev: false - /naive-ui@2.36.0(vue@3.4.3): - resolution: {integrity: sha512-r1ydtEm1Ryf/aWpbLCf32mQAGK99jd1eXgpkCtIomcBRZeAtusfy6zCtIpCppoCuIKM3BW5DMafhVxilubk/lQ==} + /naive-ui@2.37.0(vue@3.4.4): + resolution: {integrity: sha512-TcuXM1zysnK6i/7o2ZqNjcLp3QMmcdSLWWiXcpEk+xdGpkJzs53/OXNpF4CoDM/npjha7qqtB8Pl17YPN5egFw==} peerDependencies: vue: ^3.0.0 dependencies: '@css-render/plugin-bem': 0.15.12(css-render@0.15.12) - '@css-render/vue3-ssr': 0.15.12(vue@3.4.3) + '@css-render/vue3-ssr': 0.15.12(vue@3.4.4) '@types/katex': 0.16.7 '@types/lodash': 4.14.202 '@types/lodash-es': 4.17.12 async-validator: 4.2.5 css-render: 0.15.12 + csstype: 3.1.3 date-fns: 2.30.0 date-fns-tz: 2.0.0(date-fns@2.30.0) evtd: 0.2.4 @@ -4998,10 +4999,10 @@ packages: lodash-es: 4.17.21 seemly: 0.3.8 treemate: 0.3.11 - vdirs: 0.1.8(vue@3.4.3) - vooks: 0.2.12(vue@3.4.3) - vue: 3.4.3 - vueuc: 0.4.58(vue@3.4.3) + vdirs: 0.1.8(vue@3.4.4) + vooks: 0.2.12(vue@3.4.4) + vue: 3.4.4 + vueuc: 0.4.58(vue@3.4.4) dev: true /nanoid@3.3.7: @@ -5286,10 +5287,10 @@ packages: peerDependencies: pinia: ^2.0.0 dependencies: - pinia: 2.1.7(vue@3.4.3) + pinia: 2.1.7(vue@3.4.4) dev: false - /pinia@2.1.7(vue@3.4.3): + /pinia@2.1.7(vue@3.4.4): resolution: {integrity: sha512-+C2AHFtcFqjPih0zpYuvof37SFxMQ7OEG2zV9jRI12i9BOy3YQVAHwdKtyyc8pDcDyIc33WCIsZaCFWU7WWxGQ==} peerDependencies: '@vue/composition-api': ^1.4.0 @@ -5302,8 +5303,8 @@ packages: optional: true dependencies: '@vue/devtools-api': 6.5.1 - vue: 3.4.3 - vue-demi: 0.14.6(vue@3.4.3) + vue: 3.4.4 + vue-demi: 0.14.6(vue@3.4.4) dev: false /pkg-types@1.0.3: @@ -5358,8 +5359,8 @@ packages: util-deprecate: 1.0.2 dev: true - /postcss@8.4.32: - resolution: {integrity: sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==} + /postcss@8.4.33: + resolution: {integrity: sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 @@ -5749,8 +5750,8 @@ packages: truncate-utf8-bytes: 1.0.2 dev: true - /sass@1.69.6: - resolution: {integrity: sha512-qbRr3k9JGHWXCvZU77SD2OTwUlC+gNT+61JOLcmLm+XqH4h/5D+p4IIsxvpkB89S9AwJOyb5+rWNpIucaFxSFQ==} + /sass@1.69.7: + resolution: {integrity: sha512-rzj2soDeZ8wtE2egyLXgOOHQvaC2iosZrkF6v3EUG+tBwEvhqUCzm0VP3k9gHF9LXbSrRhT5SksoI56Iw8NPnQ==} engines: {node: '>=14.0.0'} hasBin: true dependencies: @@ -6473,7 +6474,7 @@ packages: - rollup dev: true - /unplugin-vue-components@0.25.2(rollup@2.79.1)(vue@3.4.3): + /unplugin-vue-components@0.25.2(rollup@2.79.1)(vue@3.4.4): resolution: {integrity: sha512-OVmLFqILH6w+eM8fyt/d/eoJT9A6WO51NZLf1vC5c1FZ4rmq2bbGxTy8WP2Jm7xwFdukaIdv819+UI7RClPyCA==} engines: {node: '>=14'} peerDependencies: @@ -6496,7 +6497,7 @@ packages: minimatch: 9.0.3 resolve: 1.22.8 unplugin: 1.6.0 - vue: 3.4.3 + vue: 3.4.4 transitivePeerDependencies: - rollup - supports-color @@ -6567,13 +6568,13 @@ packages: engines: {node: '>= 0.8'} dev: false - /vdirs@0.1.8(vue@3.4.3): + /vdirs@0.1.8(vue@3.4.4): resolution: {integrity: sha512-H9V1zGRLQZg9b+GdMk8MXDN2Lva0zx72MPahDKc30v+DtwKjfyOSXWRIX4t2mhDubM1H09gPhWeth/BJWPHGUw==} peerDependencies: vue: ^3.0.11 dependencies: evtd: 0.2.4 - vue: 3.4.3 + vue: 3.4.4 dev: true /verror@1.10.0: @@ -6604,7 +6605,7 @@ packages: chalk: 4.1.2 debug: 4.3.4 fs-extra: 10.1.0 - vite: 4.5.1(sass@1.69.6)(terser@5.26.0) + vite: 4.5.1(sass@1.69.7)(terser@5.26.0) transitivePeerDependencies: - supports-color dev: true @@ -6620,14 +6621,14 @@ packages: debug: 4.3.4 fast-glob: 3.3.2 pretty-bytes: 6.1.1 - vite: 4.5.1(sass@1.69.6)(terser@5.26.0) + vite: 4.5.1(sass@1.69.7)(terser@5.26.0) workbox-build: 7.0.0 workbox-window: 7.0.0 transitivePeerDependencies: - supports-color dev: true - /vite@4.5.1(sass@1.69.6)(terser@5.26.0): + /vite@4.5.1(sass@1.69.7)(terser@5.26.0): resolution: {integrity: sha512-AXXFaAJ8yebyqzoNB9fu2pHoo/nWX+xZlaRwoeYUxEqBO+Zj4msE5G+BhGBll9lYEKv9Hfks52PAF2X7qDYXQA==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true @@ -6656,24 +6657,24 @@ packages: optional: true dependencies: esbuild: 0.18.20 - postcss: 8.4.32 + postcss: 8.4.33 rollup: 3.29.4 - sass: 1.69.6 + sass: 1.69.7 terser: 5.26.0 optionalDependencies: fsevents: 2.3.3 dev: true - /vooks@0.2.12(vue@3.4.3): + /vooks@0.2.12(vue@3.4.4): resolution: {integrity: sha512-iox0I3RZzxtKlcgYaStQYKEzWWGAduMmq+jS7OrNdQo1FgGfPMubGL3uGHOU9n97NIvfFDBGnpSvkWyb/NSn/Q==} peerDependencies: vue: ^3.0.0 dependencies: evtd: 0.2.4 - vue: 3.4.3 + vue: 3.4.4 dev: true - /vue-demi@0.14.6(vue@3.4.3): + /vue-demi@0.14.6(vue@3.4.4): resolution: {integrity: sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==} engines: {node: '>=12'} hasBin: true @@ -6685,7 +6686,7 @@ packages: '@vue/composition-api': optional: true dependencies: - vue: 3.4.3 + vue: 3.4.4 dev: false /vue-eslint-parser@9.3.2(eslint@8.56.0): @@ -6706,46 +6707,46 @@ packages: - supports-color dev: true - /vue-router@4.2.5(vue@3.4.3): + /vue-router@4.2.5(vue@3.4.4): resolution: {integrity: sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw==} peerDependencies: vue: ^3.2.0 dependencies: '@vue/devtools-api': 6.5.1 - vue: 3.4.3 + vue: 3.4.4 dev: false /vue-slider-component@4.1.0-beta.7: resolution: {integrity: sha512-Qb7K920ZG7PoQswoF6Ias+i3W2rd3k4fpk04JUl82kEUcN86Yg6et7bVSKWt/7VpQe8a5IT3BqCKSCOZ7AJgCA==} dev: false - /vue@3.4.3: - resolution: {integrity: sha512-GjN+culMAGv/mUbkIv8zMKItno8npcj5gWlXkSxf1SPTQf8eJ4A+YfHIvQFyL1IfuJcMl3soA7SmN1fRxbf/wA==} + /vue@3.4.4: + resolution: {integrity: sha512-suZXgDVT8lRNhKmxdkwOsR0oyUi8is7mtqI18qW97JLoyorEbE9B2Sb4Ws/mR/+0AgA/JUtsv1ytlRSH3/pDIA==} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@vue/compiler-dom': 3.4.3 - '@vue/compiler-sfc': 3.4.3 - '@vue/runtime-dom': 3.4.3 - '@vue/server-renderer': 3.4.3(vue@3.4.3) - '@vue/shared': 3.4.3 + '@vue/compiler-dom': 3.4.4 + '@vue/compiler-sfc': 3.4.4 + '@vue/runtime-dom': 3.4.4 + '@vue/server-renderer': 3.4.4(vue@3.4.4) + '@vue/shared': 3.4.4 - /vueuc@0.4.58(vue@3.4.3): + /vueuc@0.4.58(vue@3.4.4): resolution: {integrity: sha512-Wnj/N8WbPRSxSt+9ji1jtDHPzda5h2OH/0sFBhvdxDRuyCZbjGg3/cKMaKqEoe+dErTexG2R+i6Q8S/Toq1MYg==} peerDependencies: vue: ^3.0.11 dependencies: - '@css-render/vue3-ssr': 0.15.12(vue@3.4.3) + '@css-render/vue3-ssr': 0.15.12(vue@3.4.4) '@juggle/resize-observer': 3.4.0 css-render: 0.15.12 evtd: 0.2.4 seemly: 0.3.8 - vdirs: 0.1.8(vue@3.4.3) - vooks: 0.2.12(vue@3.4.3) - vue: 3.4.3 + vdirs: 0.1.8(vue@3.4.4) + vooks: 0.2.12(vue@3.4.4) + vue: 3.4.4 dev: true /webidl-conversions@4.0.2: diff --git a/public/images/pic/artist.jpg b/public/images/pic/artist.jpg new file mode 100644 index 0000000..45f2966 Binary files /dev/null and b/public/images/pic/artist.jpg differ diff --git a/public/images/pic/video.png b/public/images/pic/video.png new file mode 100644 index 0000000..83dfdc8 Binary files /dev/null and b/public/images/pic/video.png differ diff --git a/src/App.vue b/src/App.vue index 7f7d881..23bfeab 100644 --- a/src/App.vue +++ b/src/App.vue @@ -224,7 +224,7 @@ onUnmounted(() => { .sider-all { height: 100%; } - @media (max-width: 720px) { + @media (max-width: 900px) { display: none; } } diff --git a/src/api/video.js b/src/api/video.js index e881971..8b7e297 100644 --- a/src/api/video.js +++ b/src/api/video.js @@ -97,3 +97,25 @@ export const likeMv = (t, mvid) => { }, }); }; + +/** + * 全部 mv + * @param {string} area - 地区,可选值为全部,内地,港台,欧美,日本,韩国,不填则为全部 + * @param {string} type - 类型,可选值为全部,官方版,原生,现场版,网易出品,不填则为全部 + * @param {string} order - 排序,可选值为上升最快,最热,最新,不填则为上升最快 + * @param {number} [limit=12] - 返回数量,默认12 + * @param {number} [offset=0] - 偏移数量,默认0 + */ +export const allMv = (area, type, order, limit = 12, offset = 0) => { + return axios({ + method: "GET", + url: "/mv/all", + params: { + area, + type, + order, + limit, + offset, + }, + }); +}; diff --git a/src/components/Cover/CoverPlayBtn.vue b/src/components/Cover/CoverPlayBtn.vue index e93e249..4e52aef 100644 --- a/src/components/Cover/CoverPlayBtn.vue +++ b/src/components/Cover/CoverPlayBtn.vue @@ -3,7 +3,7 @@
+