From bc69a98df1d2c8af662658d7b787ff3c988e84bc Mon Sep 17 00:00:00 2001 From: lyswhut Date: Sat, 19 Dec 2020 15:16:22 +0800 Subject: [PATCH] =?UTF-8?q?=E6=88=91=E7=9A=84=E5=88=97=E8=A1=A8=E5=8F=B3?= =?UTF-8?q?=E9=94=AE=E8=8F=9C=E5=8D=95=E6=96=B0=E5=A2=9E=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E6=8E=92=E5=BA=8F=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 +- publish/changeLog.md | 12 +- src/renderer/components/material/Input.vue | 21 +- .../components/material/ListAddModal.vue | 201 ++++++++++++++++++ .../material/ListAddMultipleModal.vue | 195 +++++++++++++++++ .../components/material/ListSortModal.vue | 109 ++++++++++ src/renderer/components/material/Menu.vue | 4 +- .../components/material/XmVerifyModal.vue | 50 +++++ .../lang/en-us/material/list_sort_modal.json | 6 + src/renderer/lang/en-us/view/list.json | 1 + .../lang/zh-cn/material/list_sort_modal.json | 6 + src/renderer/lang/zh-cn/view/list.json | 1 + .../lang/zh-tw/material/list_sort_modal.json | 6 + src/renderer/lang/zh-tw/view/list.json | 1 + src/renderer/store/modules/list.js | 6 + src/renderer/views/List.vue | 34 +++ 16 files changed, 639 insertions(+), 16 deletions(-) create mode 100644 src/renderer/components/material/ListAddModal.vue create mode 100644 src/renderer/components/material/ListAddMultipleModal.vue create mode 100644 src/renderer/components/material/ListSortModal.vue create mode 100644 src/renderer/components/material/XmVerifyModal.vue create mode 100644 src/renderer/lang/en-us/material/list_sort_modal.json create mode 100644 src/renderer/lang/zh-cn/material/list_sort_modal.json create mode 100644 src/renderer/lang/zh-tw/material/list_sort_modal.json diff --git a/package.json b/package.json index 378935fa..85f0e190 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "lx-music-desktop", - "version": "1.5.0", + "version": "1.6.0", "description": "一个免费的音乐下载助手", "main": "./dist/electron/main.js", "productName": "lx-music-desktop", diff --git a/publish/changeLog.md b/publish/changeLog.md index 085d884a..d758fc6e 100644 --- a/publish/changeLog.md +++ b/publish/changeLog.md @@ -1,14 +1,4 @@ ### 新增 -- 直接从歌单详情收藏的列表新增同步功能。注意:这将会覆盖本地的目标列表,歌曲将被替换成最新的在线列表 +- 我的列表右键菜单新增列表排序功能,可调整单曲、多选后的歌曲的顺序 -### 优化 - -- 优化软件启动时恢复上一次播放的歌曲进度功能 - -### 修复 - -- 修复MAC平台上下载歌曲封面嵌入无法显示的问题 -- 修复MAC平台首次运行软件最小化、关闭控制按钮默认在右边的问题 -- 修复酷狗源的某些歌曲没有专辑字段导致的列表加载失败问题 -- 修复某些酷狗源歌单链接无法打开的问题 diff --git a/src/renderer/components/material/Input.vue b/src/renderer/components/material/Input.vue index 1f0bf89f..8b1ac781 100644 --- a/src/renderer/components/material/Input.vue +++ b/src/renderer/components/material/Input.vue @@ -1,6 +1,6 @@ @@ -24,6 +24,16 @@ export default { default: 'text', }, }, + methods: { + handleInput(event) { + let value = event.target.value.trim() + event.target.value = value + this.$emit('input', value) + }, + focus() { + this.$refs.dom_input.focus() + }, + }, } @@ -41,6 +51,13 @@ export default { transition: background-color 0.2s ease; background-color: @color-btn-background; font-size: 13.3px; + + &::-webkit-outer-spin-button, + &::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; + } + &[disabled] { opacity: .4; } diff --git a/src/renderer/components/material/ListAddModal.vue b/src/renderer/components/material/ListAddModal.vue new file mode 100644 index 00000000..c42c8de3 --- /dev/null +++ b/src/renderer/components/material/ListAddModal.vue @@ -0,0 +1,201 @@ + + + + + + diff --git a/src/renderer/components/material/ListAddMultipleModal.vue b/src/renderer/components/material/ListAddMultipleModal.vue new file mode 100644 index 00000000..40a9e734 --- /dev/null +++ b/src/renderer/components/material/ListAddMultipleModal.vue @@ -0,0 +1,195 @@ + + + + + + diff --git a/src/renderer/components/material/ListSortModal.vue b/src/renderer/components/material/ListSortModal.vue new file mode 100644 index 00000000..79af530d --- /dev/null +++ b/src/renderer/components/material/ListSortModal.vue @@ -0,0 +1,109 @@ + + + + + + diff --git a/src/renderer/components/material/Menu.vue b/src/renderer/components/material/Menu.vue index 534cf82a..a48afd6e 100644 --- a/src/renderer/components/material/Menu.vue +++ b/src/renderer/components/material/Menu.vue @@ -138,10 +138,10 @@ export default { // will-change: transform; li { cursor: pointer; - min-width: 80px; + min-width: 90px; line-height: 34px; // color: @color-btn; - padding: 0 5px; + padding: 0 10px; text-align: center; outline: none; transition: @transition-theme; diff --git a/src/renderer/components/material/XmVerifyModal.vue b/src/renderer/components/material/XmVerifyModal.vue new file mode 100644 index 00000000..6a910c4c --- /dev/null +++ b/src/renderer/components/material/XmVerifyModal.vue @@ -0,0 +1,50 @@ + + + + + + diff --git a/src/renderer/lang/en-us/material/list_sort_modal.json b/src/renderer/lang/en-us/material/list_sort_modal.json new file mode 100644 index 00000000..c767e46e --- /dev/null +++ b/src/renderer/lang/en-us/material/list_sort_modal.json @@ -0,0 +1,6 @@ +{ + "title": "Adjust the position of {name} to:", + "title_multiple": "Adjust the position of the selected {num} songs to:", + "input_tip": "Please input which position you want to adjust to", + "btn_confirm": "Confirm" +} diff --git a/src/renderer/lang/en-us/view/list.json b/src/renderer/lang/en-us/view/list.json index 37809cf7..37d039d6 100644 --- a/src/renderer/lang/en-us/view/list.json +++ b/src/renderer/lang/en-us/view/list.json @@ -10,6 +10,7 @@ "list_copy_name": "Copy name", "list_add_to": "Add to ...", "list_move_to": "Move to ...", + "list_sort": "Adjust position", "list_download": "Download", "list_remove": "Remove", "list_source_detail": "Song Page", diff --git a/src/renderer/lang/zh-cn/material/list_sort_modal.json b/src/renderer/lang/zh-cn/material/list_sort_modal.json new file mode 100644 index 00000000..457585b2 --- /dev/null +++ b/src/renderer/lang/zh-cn/material/list_sort_modal.json @@ -0,0 +1,6 @@ +{ + "title": "将 {name} 的位置调整到:", + "title_multiple": "将已选的 {num} 首歌曲的位置调整到:", + "input_tip": "请输入要调整到第几个位置", + "btn_confirm": "确定" +} diff --git a/src/renderer/lang/zh-cn/view/list.json b/src/renderer/lang/zh-cn/view/list.json index 87778d88..3fbbf6bb 100644 --- a/src/renderer/lang/zh-cn/view/list.json +++ b/src/renderer/lang/zh-cn/view/list.json @@ -11,6 +11,7 @@ "list_source_detail": "歌曲详情页", "list_add_to": "添加到...", "list_move_to": "移动到...", + "list_sort": "调整位置", "list_download": "下载", "list_remove": "删除", "default_list": "试听列表", diff --git a/src/renderer/lang/zh-tw/material/list_sort_modal.json b/src/renderer/lang/zh-tw/material/list_sort_modal.json new file mode 100644 index 00000000..7e3ddd66 --- /dev/null +++ b/src/renderer/lang/zh-tw/material/list_sort_modal.json @@ -0,0 +1,6 @@ +{ + "title": "將 {name} 的位置調整到:", + "title_multiple": "將已選的 {num} 首歌曲的位置調整到:", + "input_tip": "請輸入要調整到第幾個位置", + "btn_confirm": "確定" +} diff --git a/src/renderer/lang/zh-tw/view/list.json b/src/renderer/lang/zh-tw/view/list.json index 1f218c54..68b7f9fe 100644 --- a/src/renderer/lang/zh-tw/view/list.json +++ b/src/renderer/lang/zh-tw/view/list.json @@ -10,6 +10,7 @@ "list_copy_name": "複製歌曲名", "list_add_to": "添加到...", "list_move_to": "移動到...", + "list_sort": "調整位置", "list_download": "下載", "list_remove": "刪除", "list_source_detail": "歌曲詳情頁", diff --git a/src/renderer/store/modules/list.js b/src/renderer/store/modules/list.js index 9df804c3..ce6ce500 100644 --- a/src/renderer/store/modules/list.js +++ b/src/renderer/store/modules/list.js @@ -185,6 +185,12 @@ const mutations = { setListScroll(state, { id, location }) { if (allList[id]) allList[id].location = location }, + sortList(state, { id, sortNum, musicInfos }) { + let targetList = allList[id] + this.commit('list/listRemoveMultiple', { id, list: musicInfos }) + + targetList.list.splice(sortNum - 1, 0, ...musicInfos) + }, } export default { diff --git a/src/renderer/views/List.vue b/src/renderer/views/List.vue index df5a82e6..445b69e6 100644 --- a/src/renderer/views/List.vue +++ b/src/renderer/views/List.vue @@ -69,6 +69,7 @@ material-menu(:menus="listsItemMenu" :location="listsData.menuLocation" item-name="name" :isShow="listsData.isShowItemMenu" @menu-click="handleListsItemMenuClick") material-menu(:menus="listItemMenu" :location="listMenu.menuLocation" item-name="name" :isShow="listMenu.isShowItemMenu" @menu-click="handleListItemMenuClick") material-search-list(:list="list" @action="handleMusicSearchAction" :visible="isVisibleMusicSearch") + material-list-sort-modal(:show="isShowListSortModal" :music-info="musicInfo" :selected-num="selectdListDetailData.length" @close="isShowListSortModal = false" @confirm="handleSortMusicInfo")