File tree Expand file tree Collapse file tree 4 files changed +58
-2
lines changed
src/renderer/views/Download Expand file tree Collapse file tree 4 files changed +58
-2
lines changed Original file line number Diff line number Diff line change 1+ 我们很高兴地宣布新项目 Any Listen 的桌面版已发布,目前已支持列表跟随本地文件自动更新、加载并播放WebDAV上的歌曲等功能,更多功能仍在积极开发中,桌面版与Web版将同步更新。
2+ 对于有播放本地音乐或播放服务器上音乐需求的人可以试试,若遇到任何问题可以发 issue 反馈。
3+
14### 新增
25
36- 新增「设置 → 其他设置 → 主窗口使用软件内置的圆角及阴影」选项(#2360 )
47 * 默认启用,关闭后将使用系统原生的窗口样式,该选项重启软件后生效*
58- 开放 API 新增播放器声音大小、静音、播放进度控制、完整歌词获取,详情看接入文档(#2386 )
69- 新增「设置 → 播放设置 → 调换歌词翻译与歌词罗马音位置」选项,默认关闭(#2451 )
710- 新增启动参数 ` -hidden ` ,在启动时将软件最小化到系统托盘(#2459 )
8- - 新增 Any Listen 歌词标签数据读取与播放 (#2485 )
11+ - 新增 Any Listen 歌词(用于支持已下载歌曲的歌词逐字播放)标签数据读取与播放 (#2485 )
912- 新增 Any Listen 歌词(包含逐字歌词、翻译、罗马音歌词,如果有)嵌入与下载,默认启用
13+ - 下载列表菜单新增歌曲添加弹窗,允许将所选歌曲的在线版本添加到收藏列表(#2537 )
1014
1115### 修复
1216
2024
2125### 其他
2226
23- - 更新 Electron 到 37.4 .0
27+ - 更新 Electron 到 37.6 .0
Original file line number Diff line number Diff line change 6262 <base-menu v-model =" isShowItemMenu" :menus =" menus" :xy =" menuLocation" item-name =" name" @menu-click =" handleMenuClick" />
6363 <!-- <base-menu :menus="listItemMenu" :location="listMenu.menuLocation" item-name="name" :is-show="listMenu.isShowItemMenu" @menu-click="handleListItemMenuClick" /> -->
6464 </div >
65+ <common-list-add-modal v-model:show =" isShowListAdd" :music-info =" selectedAddMusicInfo" teleport =" #view" />
66+ <common-list-add-multiple-modal v-model:show =" isShowListAddMultiple" :music-list =" selectedList" teleport =" #view" @confirm =" removeAllSelect" />
6567 </div >
6668</template >
6769
@@ -75,6 +77,7 @@ import useTab from './useTab'
7577import useMenu from ' ./useMenu'
7678import usePlay from ' ./usePlay'
7779import useTaskActions from ' ./useTaskActions'
80+ import useMusicAdd from ' ./useMusicAdd'
7881import { downloadStatus } from ' @renderer/store/download/state'
7982import { appSetting } from ' @renderer/store/setting'
8083
@@ -113,6 +116,13 @@ export default {
113116 handleOpenFile ,
114117 } = useTaskActions ({ list, removeAllSelect, selectedList })
115118
119+ const {
120+ isShowListAdd ,
121+ isShowListAddMultiple ,
122+ selectedAddMusicInfo ,
123+ handleShowMusicAddModal ,
124+ } = useMusicAdd ({ selectedList, list })
125+
116126 const {
117127 menus ,
118128 menuLocation ,
@@ -126,6 +136,7 @@ export default {
126136 handleOpenFile,
127137 handlePlayMusic,
128138 handlePlayMusicLater,
139+ handleShowMusicAddModal,
129140 handleSearch,
130141 handleOpenMusicDetail,
131142 })
@@ -209,6 +220,12 @@ export default {
209220 listItemHeight,
210221 playTaskId,
211222
223+ isShowListAdd,
224+ isShowListAddMultiple,
225+ selectedAddMusicInfo,
226+
227+ removeAllSelect,
228+
212229 menus,
213230 menuLocation,
214231 isShowItemMenu,
Original file line number Diff line number Diff line change @@ -10,6 +10,7 @@ export default ({
1010 handleOpenFile,
1111 handlePlayMusic,
1212 handlePlayMusicLater,
13+ handleShowMusicAddModal,
1314 handleSearch,
1415 handleOpenMusicDetail,
1516} ) => {
@@ -22,6 +23,7 @@ export default ({
2223 sourceDetail : true ,
2324 search : true ,
2425 remove : true ,
26+ addTo : true ,
2527 } )
2628 const t = useI18n ( )
2729 const menuLocation = shallowReactive ( { x : 0 , y : 0 } )
@@ -54,6 +56,11 @@ export default ({
5456 action : 'file' ,
5557 hide : ! itemMenuControl . file ,
5658 } ,
59+ {
60+ name : t ( 'list__add_to' ) ,
61+ action : 'addTo' ,
62+ disabled : ! itemMenuControl . addTo ,
63+ } ,
5764 {
5865 name : t ( 'list__source_detail' ) ,
5966 action : 'sourceDetail' ,
@@ -129,6 +136,9 @@ export default ({
129136 case 'playLater' :
130137 handlePlayMusicLater ( index )
131138 break
139+ case 'addTo' :
140+ handleShowMusicAddModal ( index )
141+ break
132142 case 'search' :
133143 handleSearch ( index )
134144 break
Original file line number Diff line number Diff line change 1+ import { ref , shallowRef , nextTick , markRaw } from '@common/utils/vueTools'
2+
3+ export default ( { selectedList, list } ) => {
4+ const isShowListAdd = ref ( false )
5+ const isShowListAddMultiple = ref ( false )
6+ const selectedAddMusicInfo = shallowRef ( null )
7+
8+ const handleShowMusicAddModal = ( index , single ) => {
9+ if ( selectedList . value . length && ! single ) {
10+ isShowListAddMultiple . value = true
11+ } else {
12+ selectedAddMusicInfo . value = markRaw ( list . value [ index ] . metadata . musicInfo )
13+ nextTick ( ( ) => {
14+ isShowListAdd . value = true
15+ } )
16+ }
17+ }
18+
19+ return {
20+ isShowListAdd,
21+ isShowListAddMultiple,
22+ selectedAddMusicInfo,
23+ handleShowMusicAddModal,
24+ }
25+ }
You can’t perform that action at this time.
0 commit comments