This commit is contained in:
Folltoshe 2022-11-22 16:24:23 +08:00
parent f5cdd99fe6
commit f36187e696
5 changed files with 43 additions and 9 deletions

View File

@ -194,6 +194,8 @@
"play_timeout_tip": "Pause after {time}", "play_timeout_tip": "Pause after {time}",
"play_timeout_unit": "Minute", "play_timeout_unit": "Minute",
"play_timeout_update": "Update timing", "play_timeout_update": "Update timing",
"player__save_music_pic_click": "Right-click to save the song cover",
"player__save_music_pic": "Save the song cover to...",
"player__add_music_to": "Add the current song to...", "player__add_music_to": "Add the current song to...",
"player__buffering": "Buffering...", "player__buffering": "Buffering...",
"player__desktop_lyric_lock": "Right click to lock lyrics", "player__desktop_lyric_lock": "Right click to lock lyrics",

View File

@ -194,6 +194,8 @@
"play_timeout_tip": "{time} 后暂停播放", "play_timeout_tip": "{time} 后暂停播放",
"play_timeout_unit": "分钟", "play_timeout_unit": "分钟",
"play_timeout_update": "更新定时", "play_timeout_update": "更新定时",
"player__save_music_pic_click": "右击保存歌曲封面",
"player__save_music_pic": "保存歌曲封面到...",
"player__add_music_to": "添加当前歌曲到...", "player__add_music_to": "添加当前歌曲到...",
"player__buffering": "缓冲中...", "player__buffering": "缓冲中...",
"player__desktop_lyric_lock": "右击锁定歌词", "player__desktop_lyric_lock": "右击锁定歌词",

View File

@ -194,6 +194,8 @@
"play_timeout_tip": "{time} 後暫停播放", "play_timeout_tip": "{time} 後暫停播放",
"play_timeout_unit": "分鐘", "play_timeout_unit": "分鐘",
"play_timeout_update": "更新定時", "play_timeout_update": "更新定時",
"player__save_music_pic_click": "右擊保存歌曲封面",
"player__save_music_pic": "保存歌曲封面到...",
"player__add_music_to": "添加當前歌曲到...", "player__add_music_to": "添加當前歌曲到...",
"player__album": "專輯名:", "player__album": "專輯名:",
"player__buffering": "緩衝中...", "player__buffering": "緩衝中...",

View File

@ -8,7 +8,7 @@
<div :class="$style.title" :aria-label="title + $t('copy_tip')" @click="handleCopy(title)"> <div :class="$style.title" :aria-label="title + $t('copy_tip')" @click="handleCopy(title)">
{{ title }} {{ title }}
</div> </div>
<div :class="$style.status">{{ statusText }}</div> <div :class="$style.status" :aria-label="statusText + $t('copy_tip')" @click="handleCopy(statusText)">{{ statusText }}</div>
</div> </div>
<!-- <div :class="$style.timeContainer"> <!-- <div :class="$style.timeContainer">
<div :class="$style.timeContent"> <div :class="$style.timeContent">
@ -239,18 +239,21 @@ export default {
font-size: 13px; font-size: 13px;
color: var(--color-font); color: var(--color-font);
min-width: 0; min-width: 0;
line-height: 1.5; line-height: 1.8;
} }
.title { .title {
max-width: 100%; max-width: 100%;
font-size: 12px; font-size: 15px;
color: var(--color-font-label); // color: var(--color-font-label);
.mixin-ellipsis-1; .mixin-ellipsis-1;
} }
.status { .status {
translate: all 3s;
padding-top: 3px; padding-top: 3px;
height: 23px; height: 23px;
font-size: 13px;
// color: var(--color-font-label);
.mixin-ellipsis-1; .mixin-ellipsis-1;
max-width: 100%; max-width: 100%;
} }

View File

@ -40,11 +40,11 @@ transition(enter-active-class="animated slideInRight" leave-active-class="animat
div.left(:class="$style.left") div.left(:class="$style.left")
//- div(:class="$style.info") //- div(:class="$style.info")
div(:class="$style.info") div(:class="$style.info")
img(:class="$style.img" :src="musicInfo.pic" v-if="musicInfo.pic") img(:class="$style.img" :src="musicInfo.pic" :aria-label="$t('player__save_music_pic_click')" v-if="musicInfo.pic" @contextmenu.prevent="saveImage()")
div.description(:class="$style.description") div.description(:class="$style.description")
p {{$t('player__music_name')}}{{musicInfo.name}} p(:aria-label="musicInfo.name + $t('copy_tip')" @click="handleCopy(musicInfo.name)") {{$t('player__music_name')}}{{musicInfo.name}}
p {{$t('player__music_singer')}}{{musicInfo.singer}} p(:aria-label="musicInfo.singer + $t('copy_tip')" @click="handleCopy(musicInfo.singer)") {{$t('player__music_singer')}}{{musicInfo.singer}}
p(v-if="musicInfo.album") {{$t('player__music_album')}}{{musicInfo.album}} p(:aria-label="musicInfo.album + $t('copy_tip')" @click="handleCopy(musicInfo.album)" v-if="musicInfo.album") {{$t('player__music_album')}}{{musicInfo.album}}
transition(enter-active-class="animated fadeIn" leave-active-class="animated fadeOut") transition(enter-active-class="animated fadeIn" leave-active-class="animated fadeOut")
LyricPlayer(v-if="visibled") LyricPlayer(v-if="visibled")
@ -75,7 +75,11 @@ import PlayBar from './PlayBar'
import MusicComment from './components/MusicComment' import MusicComment from './components/MusicComment'
import { registerAutoHideMounse, unregisterAutoHideMounse } from './autoHideMounse' import { registerAutoHideMounse, unregisterAutoHideMounse } from './autoHideMounse'
import { appSetting } from '@renderer/store/setting' import { appSetting } from '@renderer/store/setting'
import { closeWindow, maxWindow, minWindow, setFullScreen } from '@renderer/utils/ipc' import { closeWindow, maxWindow, minWindow, setFullScreen, openSaveDir } from '@renderer/utils/ipc'
import fs from 'fs'
import needle from 'needle'
import { useI18n } from '@renderer/plugins/i18n'
import { clipboardWriteText } from '@common/utils/electron'
export default { export default {
name: 'CorePlayDetail', name: 'CorePlayDetail',
@ -85,10 +89,29 @@ export default {
MusicComment, MusicComment,
}, },
setup() { setup() {
const t = useI18n()
const visibled = ref(false) const visibled = ref(false)
let clickTime = 0 let clickTime = 0
const handleCopy = (text) => {
clipboardWriteText(text)
}
const saveImage = () => {
openSaveDir({
title: t('player__save_music_pic'),
defaultPath: `${musicInfo.name} - ${musicInfo.singer}.jpg`,
}).then(result => {
if (result.canceled) return
saveImageFile(result.filePath)
})
}
const saveImageFile = async(path) => {
needle.get(musicInfo.pic).pipe(fs.createWriteStream(path))
console.log(path, musicInfo.pic)
}
const hide = () => { const hide = () => {
setShowPlayerDetail(false) setShowPlayerDetail(false)
} }
@ -125,6 +148,8 @@ export default {
return { return {
handleCopy,
saveImage,
appSetting, appSetting,
playMusicInfo, playMusicInfo,
isShowPlayerDetail, isShowPlayerDetail,