From f7267806df827f626b1c6be1ac7309098299827e Mon Sep 17 00:00:00 2001 From: lyswhut Date: Sun, 22 Sep 2019 11:33:37 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=88=97=E8=A1=A8=E6=BB=9A?= =?UTF-8?q?=E5=8A=A8=E6=9D=A1=E4=BD=8D=E7=BD=AE=E6=81=A2=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- publish/changeLog.md | 4 ++++ src/renderer/store/mutations.js | 3 +++ src/renderer/utils/index.js | 26 ++++++++++++++++++++++++-- src/renderer/views/List.vue | 32 +++++++++++++++++++++++++++++--- src/renderer/views/Setting.vue | 18 +++++++++++++----- 5 files changed, 73 insertions(+), 10 deletions(-) diff --git a/publish/changeLog.md b/publish/changeLog.md index e69de29b..abdf419c 100644 --- a/publish/changeLog.md +++ b/publish/changeLog.md @@ -0,0 +1,4 @@ +# 新增 + +- 新增试听列表**滚动条位置恢复**设置(可自动恢复到上次离开时的列表滚动位置),本功能默认开启,若不需要可到设置-列表设置将其关闭 + diff --git a/src/renderer/store/mutations.js b/src/renderer/store/mutations.js index 09102d03..ed5d6d9f 100644 --- a/src/renderer/store/mutations.js +++ b/src/renderer/store/mutations.js @@ -18,6 +18,9 @@ export default { if (sortId != null) state.setting.songList.sortId = sortId if (source != null) state.setting.songList.source = source }, + setListScroll(state, scrollTop) { + state.setting.list.scroll.location = scrollTop + }, setNewVersion(state, val) { // val.history.forEach(ver => { // ver.desc = ver.desc.replace(/\n/g, '
') diff --git a/src/renderer/utils/index.js b/src/renderer/utils/index.js index 13d4443f..112f32fb 100644 --- a/src/renderer/utils/index.js +++ b/src/renderer/utils/index.js @@ -44,7 +44,7 @@ export const decodeName = str => str.replace(/'/g, '\'') export const scrollTo = (element, to, duration = 300, fn = function() {}) => { if (!element) return - const start = element.scrollTop || element.scrollY + const start = element.scrollTop || element.scrollY || 0 const change = to - start const increment = 10 if (!change) { @@ -164,7 +164,7 @@ export const isChildren = (parent, children) => { * @param {*} setting */ export const updateSetting = setting => { - const defaultVersion = '1.0.9' + const defaultVersion = '1.0.10' const defaultSetting = { version: defaultVersion, player: { @@ -175,6 +175,10 @@ export const updateSetting = setting => { }, list: { isShowAlbumName: true, + scroll: { + enable: true, + location: 0, + }, }, download: { savePath: path.join(os.homedir(), 'Desktop'), @@ -281,3 +285,21 @@ export const saveLrc = (filePath, lrc) => { if (err) console.log(err) }) } + +/** + * 生成节流函数 + * @param {*} fn + * @param {*} delay + */ +export const throttle = (fn, delay = 100) => { + let timer = null + let _args = null + return function(...args) { + _args = args + if (timer) return + timer = setTimeout(() => { + timer = null + fn.apply(this, _args) + }, delay) + } +} diff --git a/src/renderer/views/List.vue b/src/renderer/views/List.vue index 15b1c3f5..2578fc5f 100644 --- a/src/renderer/views/List.vue +++ b/src/renderer/views/List.vue @@ -14,7 +14,7 @@ th.nobreak(style="width: 20%;") 专辑 th.nobreak(style="width: 20%;") 操作 th.nobreak(style="width: 10%;") 时长 - div.scroll(:class="$style.tbody") + div.scroll(:class="$style.tbody" @scroll="handleScroll" ref="dom_scrollContent") table tbody tr(v-for='(item, index) in list' :key='item.songmid' @@ -45,6 +45,7 @@ diff --git a/src/renderer/views/Setting.vue b/src/renderer/views/Setting.vue index c6c52139..a6de46b0 100644 --- a/src/renderer/views/Setting.vue +++ b/src/renderer/views/Setting.vue @@ -35,6 +35,15 @@ div.scroll(:class="$style.setting") h3 任务栏播放进度条 div material-checkbox(id="setting_player_showTaskProgess" v-model="current_setting.player.isShowTaskProgess" label="是否启用") + dt 列表设置 + dd(title='是否恢复播放列表滚动条位置') + h3 恢复列表滚动位置(仅对我的音乐分类有效) + div + material-checkbox(id="setting_list_scroll_enable" v-model="current_setting.list.scroll.enable" label="是否启用") + //- dd(title='播放列表是否显示专辑栏') + h3 专辑栏 + div + material-checkbox(id="setting_list_showalbum" v-model="current_setting.list.isShowAlbumName" label="是否显示专辑栏") dt 下载设置 dd(title='下载歌曲保存的路径') h3 下载路径 @@ -57,11 +66,6 @@ div.scroll(:class="$style.setting") h3 歌词下载 div material-checkbox(id="setting_download_isDownloadLrc" v-model="current_setting.download.isDownloadLrc" label="是否启用") - //- dt 列表设置 - //- dd(title='播放列表是否显示专辑栏') - h3 专辑栏 - div - material-checkbox(id="setting_list_showalbum" v-model="current_setting.list.isShowAlbumName" label="是否显示专辑栏") dt 网络设置 dd h3 代理设置(歌曲下载暂不支持代理) @@ -174,6 +178,10 @@ export default { }, list: { isShowAlbumName: true, + scroll: { + enable: true, + location: 0, + }, }, download: { savePath: '',