新增删除歌曲按钮
This commit is contained in:
parent
9714f3d064
commit
e79afa46b3
@ -1,6 +1,6 @@
|
|||||||
[project]
|
[project]
|
||||||
name = "xiaomusic"
|
name = "xiaomusic"
|
||||||
version = "0.1.41"
|
version = "0.1.42"
|
||||||
description = "Play Music with xiaomi AI speaker"
|
description = "Play Music with xiaomi AI speaker"
|
||||||
authors = [
|
authors = [
|
||||||
{name = "涵曦", email = "im.hanxi@gmail.com"},
|
{name = "涵曦", email = "im.hanxi@gmail.com"},
|
||||||
|
@ -1 +1 @@
|
|||||||
__version__ = "0.1.41"
|
__version__ = "0.1.42"
|
||||||
|
@ -108,6 +108,12 @@ async def musiclist():
|
|||||||
async def curplaylist():
|
async def curplaylist():
|
||||||
return xiaomusic.get_cur_play_list()
|
return xiaomusic.get_cur_play_list()
|
||||||
|
|
||||||
|
@app.route("/delmusic", methods=["POST"])
|
||||||
|
def delmusic():
|
||||||
|
data = request.get_json()
|
||||||
|
log.info(data)
|
||||||
|
xiaomusic.del_music(data["name"])
|
||||||
|
return 'success'
|
||||||
|
|
||||||
def static_path_handler(filename):
|
def static_path_handler(filename):
|
||||||
log.debug(filename)
|
log.debug(filename)
|
||||||
|
@ -59,7 +59,27 @@ $(function(){
|
|||||||
var music_name = $("#music_name").val();
|
var music_name = $("#music_name").val();
|
||||||
let cmd = "播放列表" + music_list + "|" + music_name;
|
let cmd = "播放列表" + music_list + "|" + music_name;
|
||||||
sendcmd(cmd);
|
sendcmd(cmd);
|
||||||
})
|
});
|
||||||
|
|
||||||
|
$("#del_music").on("click", () => {
|
||||||
|
var del_music_name = $("#music_name").val();
|
||||||
|
if (confirm(`确定删除歌曲 ${del_music_name} 吗?`)) {
|
||||||
|
console.log(`删除歌曲 ${del_music_name}`);
|
||||||
|
$.ajax({
|
||||||
|
type: 'POST',
|
||||||
|
url: '/delmusic',
|
||||||
|
data: JSON.stringify({"name": del_music_name}),
|
||||||
|
contentType: "application/json; charset=utf-8",
|
||||||
|
success: () => {
|
||||||
|
alert(`删除 ${del_music_name} 成功`);
|
||||||
|
refresh_music_list();
|
||||||
|
},
|
||||||
|
error: () => {
|
||||||
|
alert(`删除 ${del_music_name} 失败`);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
function append_op_button_name(name) {
|
function append_op_button_name(name) {
|
||||||
append_op_button(name, name);
|
append_op_button(name, name);
|
||||||
@ -96,7 +116,7 @@ $(function(){
|
|||||||
$.ajax({
|
$.ajax({
|
||||||
type: "POST",
|
type: "POST",
|
||||||
url: "/cmd",
|
url: "/cmd",
|
||||||
contentType: "application/json",
|
contentType: "application/json; charset=utf-8",
|
||||||
data: JSON.stringify({cmd: cmd}),
|
data: JSON.stringify({cmd: cmd}),
|
||||||
success: () => {
|
success: () => {
|
||||||
if (cmd == "刷新列表") {
|
if (cmd == "刷新列表") {
|
||||||
|
@ -41,6 +41,7 @@
|
|||||||
<select id="music_name"></select>
|
<select id="music_name"></select>
|
||||||
</div>
|
</div>
|
||||||
<button id="play_music_list">播放列表歌曲</button>
|
<button id="play_music_list">播放列表歌曲</button>
|
||||||
|
<button id="del_music">删除选中歌曲</button>
|
||||||
|
|
||||||
<footer>
|
<footer>
|
||||||
<p>Powered by <a href="https://github.com/hanxi/xiaomusic" target="_blank">xiaomusic</a></p>
|
<p>Powered by <a href="https://github.com/hanxi/xiaomusic" target="_blank">xiaomusic</a></p>
|
||||||
|
@ -587,6 +587,20 @@ class XiaoMusic:
|
|||||||
self._gen_all_music_list()
|
self._gen_all_music_list()
|
||||||
await self.do_tts("生成播放列表完毕")
|
await self.do_tts("生成播放列表完毕")
|
||||||
|
|
||||||
|
# 删除歌曲
|
||||||
|
def del_music(self, name):
|
||||||
|
filename = self.get_filename(name)
|
||||||
|
if filename == "":
|
||||||
|
self.log.info(f"${name} not exist")
|
||||||
|
return
|
||||||
|
try:
|
||||||
|
os.remove(filename)
|
||||||
|
self.log.info(f"del ${filename} success")
|
||||||
|
except OSError:
|
||||||
|
self.log.error(f"del ${filename} failed")
|
||||||
|
pass
|
||||||
|
self._gen_all_music_list()
|
||||||
|
|
||||||
# 播放一个播放列表
|
# 播放一个播放列表
|
||||||
async def play_music_list(self, **kwargs):
|
async def play_music_list(self, **kwargs):
|
||||||
parts = kwargs["arg1"].split("|")
|
parts = kwargs["arg1"].split("|")
|
||||||
|
Loading…
Reference in New Issue
Block a user