forked from um/web
增加歌曲命名格式选项
This commit is contained in:
parent
211b4e0206
commit
9c6af8ff9c
23
src/App.vue
23
src/App.vue
@ -16,6 +16,13 @@
|
||||
|
||||
<el-row id="app-control">
|
||||
|
||||
<el-row style="padding-bottom: 1em; font-size: 14px">
|
||||
歌曲命名格式:
|
||||
<el-radio name="format" v-model="format" label="1">歌曲名</el-radio>
|
||||
<el-radio name="format" v-model="format" label="2">歌手-歌曲名</el-radio>
|
||||
<el-radio name="format" v-model="format" label="3">歌曲名-歌手</el-radio>
|
||||
</el-row>
|
||||
|
||||
<el-button @click="handleDownloadAll" icon="el-icon-download" plain>下载全部</el-button>
|
||||
<el-button @click="handleDeleteAll" icon="el-icon-delete" plain type="danger">删除全部</el-button>
|
||||
|
||||
@ -96,6 +103,7 @@
|
||||
tableData: [],
|
||||
playing_url: "",
|
||||
playing_auto: false,
|
||||
format: '2',
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
@ -153,7 +161,20 @@
|
||||
handleDownload(row) {
|
||||
let a = document.createElement('a');
|
||||
a.href = row.file;
|
||||
a.download = row.filename;
|
||||
switch(this.format) {
|
||||
case "1":
|
||||
a.download = row.title + "." + row.ext;
|
||||
break;
|
||||
case "2":
|
||||
a.download = row.artist + " - " + row.title + "." + row.ext;
|
||||
break;
|
||||
case "3":
|
||||
a.download = row.title + " - " + row.artist + "." + row.ext;
|
||||
break;
|
||||
default:
|
||||
a.download = row.filename;
|
||||
break;
|
||||
}
|
||||
document.body.append(a);
|
||||
a.click();
|
||||
a.remove();
|
||||
|
@ -36,6 +36,7 @@ async function Decrypt(file, raw_filename, raw_ext) {
|
||||
filename: info.filename,
|
||||
title: info.title,
|
||||
artist: info.artist,
|
||||
ext: 'flac',
|
||||
album: tag.common.album,
|
||||
picture: picUrl,
|
||||
file: musicUrl,
|
||||
|
@ -56,6 +56,7 @@ async function Decrypt(file) {
|
||||
filename: filename,
|
||||
title: musicMeta.musicName,
|
||||
artist: artists.join(" & "),
|
||||
ext: musicMeta.format,
|
||||
album: musicMeta.album,
|
||||
picture: musicMeta.albumPic,
|
||||
file: musicUrl,
|
||||
|
@ -50,6 +50,7 @@ async function Decrypt(file, raw_filename, raw_ext) {
|
||||
filename: info.filename,
|
||||
title: info.title,
|
||||
artist: info.artist,
|
||||
ext: new_ext,
|
||||
album: tag.common.album,
|
||||
picture: picUrl,
|
||||
file: musicUrl,
|
||||
|
@ -17,6 +17,7 @@ async function Decrypt(file, raw_filename, raw_ext) {
|
||||
filename: info.filename,
|
||||
title: info.title,
|
||||
artist: info.artist,
|
||||
ext: raw_ext,
|
||||
album: tag.common.album,
|
||||
picture: picUrl,
|
||||
file: fileUrl,
|
||||
|
@ -1,8 +1,11 @@
|
||||
import Vue from 'vue'
|
||||
import { Radio } from 'element-ui'
|
||||
import App from './App.vue'
|
||||
import './registerServiceWorker'
|
||||
import './plugins/element.js'
|
||||
|
||||
Vue.component(Radio.name, Radio)
|
||||
|
||||
// only if your build system can import css, otherwise import it wherever you would import your css.
|
||||
Vue.config.productionTip = false;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user