From 3105ddba48c5d922ad628f5122b78d7ecf16a003 Mon Sep 17 00:00:00 2001 From: SUBearH Date: Tue, 2 Dec 2025 02:20:59 +0800 Subject: [PATCH 01/11] =?UTF-8?q?=E2=9C=A8=20feat:=20=E4=B8=BA=E6=AF=8F?= =?UTF-8?q?=E4=B8=AA=E9=A1=B5=E9=9D=A2=E6=B7=BB=E5=8A=A0=E9=93=BE=E6=8E=A5?= =?UTF-8?q?=E5=88=86=E4=BA=AB=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/Artist/layout.vue | 13 +++++++++++++ src/views/List/album.vue | 13 +++++++++++++ src/views/List/liked.vue | 13 +++++++++++++ src/views/List/playlist.vue | 13 +++++++++++++ src/views/List/radio.vue | 13 +++++++++++++ 5 files changed, 65 insertions(+) diff --git a/src/views/Artist/layout.vue b/src/views/Artist/layout.vue index bfd1463f2..4cf87e652 100644 --- a/src/views/Artist/layout.vue +++ b/src/views/Artist/layout.vue @@ -193,6 +193,19 @@ const moreOptions = computed(() => [ }, icon: renderIcon("Link"), }, + { + label: "链接分享", + key: "copy", + props: { + onClick: () => { + const link = `https://music.163.com/#/artist?id=${artistId.value}`; + navigator.clipboard.writeText(link).then(() => { + window.$message.success("已复制分享链接"); + }); + }, + }, + icon: renderIcon("Copy"), + }, ]); // 是否处于收藏歌手 diff --git a/src/views/List/album.vue b/src/views/List/album.vue index 2650fc689..533090642 100644 --- a/src/views/List/album.vue +++ b/src/views/List/album.vue @@ -232,6 +232,19 @@ const moreOptions = computed(() => [ }, icon: renderIcon("Link"), }, + { + label: "链接分享", + key: "copy", + props: { + onClick: () => { + const link = `https://music.163.com/#/album?id=${albumId.value}`; + navigator.clipboard.writeText(link).then(() => { + window.$message.success("已复制分享链接"); + }); + }, + }, + icon: renderIcon("Copy"), + }, ]); // 获取专辑基础信息 diff --git a/src/views/List/liked.vue b/src/views/List/liked.vue index 96f30d165..bb3c9930b 100644 --- a/src/views/List/liked.vue +++ b/src/views/List/liked.vue @@ -250,6 +250,19 @@ const moreOptions = computed(() => [ }, icon: renderIcon("Link"), }, + { + label: "链接分享", + key: "copy", + props: { + onClick: () => { + const link = `https://music.163.com/#/playlist?id=${playlistId.value}`; + navigator.clipboard.writeText(link).then(() => { + window.$message.success("已复制分享链接"); + }); + }, + }, + icon: renderIcon("Copy"), + }, ]); // 获取歌单基础信息 diff --git a/src/views/List/playlist.vue b/src/views/List/playlist.vue index 33a86185d..028ff87af 100644 --- a/src/views/List/playlist.vue +++ b/src/views/List/playlist.vue @@ -321,6 +321,19 @@ const moreOptions = computed(() => [ }, icon: renderIcon("Link"), }, + { + label: "链接分享", + key: "copy", + props: { + onClick: () => { + const link = `https://music.163.com/#/playlist?id=${playlistId.value}`; + navigator.clipboard.writeText(link).then(() => { + window.$message.success("已复制分享链接"); + }); + }, + }, + icon: renderIcon("Copy"), + }, ]); // 获取歌单基础信息 diff --git a/src/views/List/radio.vue b/src/views/List/radio.vue index a4695de94..9c9790d8f 100644 --- a/src/views/List/radio.vue +++ b/src/views/List/radio.vue @@ -238,6 +238,19 @@ const moreOptions = computed(() => [ onClick: () => getRadioDetail(radioId.value), }, icon: renderIcon("Refresh"), + }, + { + label: "链接分享", + key: "copy", + props: { + onClick: () => { + const link = `https://music.163.com/#/djradio?id=${radioId.value}`; + navigator.clipboard.writeText(link).then(() => { + window.$message.success("已复制分享链接"); + }); + }, + }, + icon: renderIcon("Copy"), }, { label: "打开源页面", From e284ac38046ca80e91bfe378d79d8bffa07233b9 Mon Sep 17 00:00:00 2001 From: SUBearH Date: Tue, 2 Dec 2025 02:27:52 +0800 Subject: [PATCH 02/11] =?UTF-8?q?=F0=9F=8E=88=20perf:=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E8=8F=9C=E5=8D=95=E9=A1=BA=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/Artist/layout.vue | 23 ++++++++++++----------- src/views/List/album.vue | 23 ++++++++++++----------- src/views/List/liked.vue | 20 ++++++++++---------- src/views/List/playlist.vue | 20 ++++++++++---------- src/views/List/radio.vue | 2 +- 5 files changed, 45 insertions(+), 43 deletions(-) diff --git a/src/views/Artist/layout.vue b/src/views/Artist/layout.vue index 4cf87e652..0c3b11f56 100644 --- a/src/views/Artist/layout.vue +++ b/src/views/Artist/layout.vue @@ -183,17 +183,7 @@ const listScrolling = ref(false); // 更多操作 const moreOptions = computed(() => [ - { - label: "打开源页面", - key: "open", - props: { - onClick: () => { - window.open(`https://music.163.com/#/artist?id=${artistId.value}`); - }, - }, - icon: renderIcon("Link"), - }, - { + { label: "链接分享", key: "copy", props: { @@ -206,6 +196,17 @@ const moreOptions = computed(() => [ }, icon: renderIcon("Copy"), }, + { + label: "打开源页面", + key: "open", + props: { + onClick: () => { + window.open(`https://music.163.com/#/artist?id=${artistId.value}`); + }, + }, + icon: renderIcon("Link"), + }, + ]); // 是否处于收藏歌手 diff --git a/src/views/List/album.vue b/src/views/List/album.vue index 533090642..d1e8598ef 100644 --- a/src/views/List/album.vue +++ b/src/views/List/album.vue @@ -222,17 +222,7 @@ const songListHeight = computed(() => { // 更多操作 const moreOptions = computed(() => [ - { - label: "打开源页面", - key: "open", - props: { - onClick: () => { - window.open(`https://music.163.com/#/album?id=${albumId.value}`); - }, - }, - icon: renderIcon("Link"), - }, - { + { label: "链接分享", key: "copy", props: { @@ -245,6 +235,17 @@ const moreOptions = computed(() => [ }, icon: renderIcon("Copy"), }, + { + label: "打开源页面", + key: "open", + props: { + onClick: () => { + window.open(`https://music.163.com/#/album?id=${albumId.value}`); + }, + }, + icon: renderIcon("Link"), + }, + ]); // 获取专辑基础信息 diff --git a/src/views/List/liked.vue b/src/views/List/liked.vue index bb3c9930b..99200a053 100644 --- a/src/views/List/liked.vue +++ b/src/views/List/liked.vue @@ -240,16 +240,6 @@ const moreOptions = computed(() => [ }, icon: renderIcon("Batch"), }, - { - label: "打开源页面", - key: "open", - props: { - onClick: () => { - window.open(`https://music.163.com/#/playlist?id=${playlistId.value}`); - }, - }, - icon: renderIcon("Link"), - }, { label: "链接分享", key: "copy", @@ -263,6 +253,16 @@ const moreOptions = computed(() => [ }, icon: renderIcon("Copy"), }, + { + label: "打开源页面", + key: "open", + props: { + onClick: () => { + window.open(`https://music.163.com/#/playlist?id=${playlistId.value}`); + }, + }, + icon: renderIcon("Link"), + }, ]); // 获取歌单基础信息 diff --git a/src/views/List/playlist.vue b/src/views/List/playlist.vue index 028ff87af..1128e5da9 100644 --- a/src/views/List/playlist.vue +++ b/src/views/List/playlist.vue @@ -311,16 +311,6 @@ const moreOptions = computed(() => [ }, icon: renderIcon("Batch"), }, - { - label: "打开源页面", - key: "open", - props: { - onClick: () => { - window.open(`https://music.163.com/#/playlist?id=${playlistId.value}`); - }, - }, - icon: renderIcon("Link"), - }, { label: "链接分享", key: "copy", @@ -334,6 +324,16 @@ const moreOptions = computed(() => [ }, icon: renderIcon("Copy"), }, + { + label: "打开源页面", + key: "open", + props: { + onClick: () => { + window.open(`https://music.163.com/#/playlist?id=${playlistId.value}`); + }, + }, + icon: renderIcon("Link"), + }, ]); // 获取歌单基础信息 diff --git a/src/views/List/radio.vue b/src/views/List/radio.vue index 9c9790d8f..a9f5b7fbe 100644 --- a/src/views/List/radio.vue +++ b/src/views/List/radio.vue @@ -239,7 +239,7 @@ const moreOptions = computed(() => [ }, icon: renderIcon("Refresh"), }, - { + { label: "链接分享", key: "copy", props: { From dd6a237709f0be87c12bcf904005937cf60c748f Mon Sep 17 00:00:00 2001 From: SUBearH Date: Tue, 2 Dec 2025 03:01:25 +0800 Subject: [PATCH 03/11] =?UTF-8?q?=F0=9F=8E=88=20perf:=20=E7=BB=9F=E4=B8=80?= =?UTF-8?q?=E5=88=86=E4=BA=AB=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Menu/CoverMenu.vue | 28 ++++++++++++++++++++++++---- src/views/Artist/layout.vue | 19 +++++++++---------- src/views/List/album.vue | 19 +++++++++---------- src/views/List/liked.vue | 17 ++++++++--------- src/views/List/playlist.vue | 17 ++++++++--------- src/views/List/radio.vue | 17 ++++++++--------- 6 files changed, 66 insertions(+), 51 deletions(-) diff --git a/src/components/Menu/CoverMenu.vue b/src/components/Menu/CoverMenu.vue index afb634eb1..c1f3aff66 100644 --- a/src/components/Menu/CoverMenu.vue +++ b/src/components/Menu/CoverMenu.vue @@ -80,12 +80,32 @@ const openDropdown = async ( type: "divider", }, { - key: "copy", - label: "复制链接", + key: "code-name", + label: `复制${type === "playlist" ? "歌单" : type === "album" ? "专辑" : type === "video" ? "视频" : "电台"}名称`, props: { - onClick: () => copyData(`https://music.163.com/#/${type}?id=${item.id}`), + onClick: () => copyData(item.name), }, - icon: renderIcon("Link"), + icon: renderIcon("Copy", { size: 18 }), + }, + { + key: "code-id", + label: `复制${type === "playlist" ? "歌单" : type === "album" ? "专辑" : type === "video" ? "视频" : "电台"} ID`, + props: { + onClick: () => copyData(item.id), + }, + icon: renderIcon("Copy", { size: 18 }), + }, + { + key: "share", + label: `分享${type === "playlist" ? "歌单" : type === "album" ? "专辑" : type === "video" ? "视频" : "电台"}链接`, + props: { + onClick: () => + copyData( + `https://music.163.com/#/${type}?id=${item.id}`, + "已复制分享链接到剪切板", + ), + }, + icon: renderIcon("Share", { size: 18 }), }, ]; // 显示菜单 diff --git a/src/views/Artist/layout.vue b/src/views/Artist/layout.vue index 0c3b11f56..fc610fe52 100644 --- a/src/views/Artist/layout.vue +++ b/src/views/Artist/layout.vue @@ -154,7 +154,7 @@