diff --git a/xiaomusic/static/default/app.js b/xiaomusic/static/default/app.js
deleted file mode 100644
index 6199c00..0000000
--- a/xiaomusic/static/default/app.js
+++ /dev/null
@@ -1,520 +0,0 @@
-$(function(){
- $container=$("#cmds");
-
- append_op_button_name("加入收藏");
- append_op_button_name("取消收藏");
-
- append_op_button_name("上一首");
- append_op_button_name("关机");
- append_op_button_name("下一首");
-
- const PLAY_TYPE_ONE = 0; // 单曲循环
- const PLAY_TYPE_ALL = 1; // 全部循环
- const PLAY_TYPE_RND = 2; // 随机播放
- const PLAY_TYPE_SIN = 3; // 单曲播放
- const PLAY_TYPE_SEQ = 4; // 顺序播放
- append_op_button("play_type_all", "全部循环", "全部循环");
- append_op_button("play_type_one", "单曲循环", "单曲循环");
- append_op_button("play_type_rnd", "随机播放", "随机播放");
- append_op_button("play_type_sin", "单曲播放", "单曲播放");
- append_op_button("play_type_seq", "顺序播放", "顺序播放");
-
- append_op_button_name("刷新列表");
-
- $container.append($("
"));
-
- append_op_button_name("10分钟后关机");
- append_op_button_name("30分钟后关机");
- append_op_button_name("60分钟后关机");
-
- var offset = 0;
- var duration = 0;
- let no_warning = localStorage.getItem('no-warning');
- // 拉取现有配置
- $.get("/getsetting", function(data, status) {
- console.log(data, status);
- localStorage.setItem('mi_did', data.mi_did);
-
- var did = localStorage.getItem('cur_did');
- var dids = [];
- if (data.mi_did != null) {
- dids = data.mi_did.split(',');
- }
- console.log('cur_did', did);
- console.log('dids', dids);
- if ((dids.length > 0) && (did == null || did == "" || !dids.includes(did))) {
- did = dids[0];
- localStorage.setItem('cur_did', did);
- }
-
- window.did = did;
- $.get(`/getvolume?did=${did}`, function(data, status) {
- console.log(data, status, data["volume"]);
- $("#volume").val(data.volume);
- });
- refresh_music_list();
-
- $("#did").empty();
- var dids = data.mi_did.split(',');
- $.each(dids, function(index, value) {
- var cur_device = Object.values(data.devices).find(device => device.did === value);
- if (cur_device) {
- var option = $('')
- .val(value)
- .text(cur_device.name)
- .prop('selected', value === did);
- $("#did").append(option);
-
- if (value === did) {
- if (cur_device.play_type == PLAY_TYPE_ALL) {
- $("#play_type_all").css('background-color', '#b1a8f3');
- $("#play_type_all").text('✔️ 全部循环');
- } else if (cur_device.play_type == PLAY_TYPE_ONE) {
- $("#play_type_one").css('background-color', '#b1a8f3');
- $("#play_type_one").text('✔️ 单曲循环');
- } else if (cur_device.play_type == PLAY_TYPE_RND) {
- $("#play_type_rnd").css('background-color', '#b1a8f3');
- $("#play_type_rnd").text('✔️ 随机播放');
- } else if (cur_device.play_type == PLAY_TYPE_SIN) {
- $("#play_type_sin").css('background-color', '#b1a8f3');
- $("#play_type_sin").text('✔️ 单曲播放');
- } else if (cur_device.play_type == PLAY_TYPE_SEQ) {
- $("#play_type_seq").css('background-color', '#b1a8f3');
- $("#play_type_seq").text('✔️ 顺序播放');
- }
- }
- }
- });
-
- console.log('cur_did', did);
- $('#did').change(function() {
- did = $(this).val();
- localStorage.setItem('cur_did', did);
- window.did = did;
- console.log('cur_did', did);
- location.reload();
- })
- });
-
- function compareVersion(version1, version2) {
- const v1 = version1.split('.').map(Number);
- const v2 = version2.split('.').map(Number);
- const len = Math.max(v1.length, v2.length);
-
- for (let i = 0; i < len; i++) {
- const num1 = v1[i] || 0;
- const num2 = v2[i] || 0;
- if (num1 > num2) return 1;
- if (num1 < num2) return -1;
- }
- return 0;
- }
-
- // 拉取版本
- $.get("/getversion", function(data, status) {
- console.log(data, status, data["version"]);
- $("#version").text(`${data.version}`);
-
- $.get("/latestversion", function(ret, status) {
- console.log(ret, status);
- if (ret.ret == "OK") {
- const result = compareVersion(ret.version, data.version);
- if (result > 0) {
- console.log(`${ret.version} is greater than ${data.version}`);
- $("#versionnew").text("🆕");
- }
- }
- });
- });
-
- function _refresh_music_list(callback) {
- $('#music_list').empty();
- $.get("/musiclist", function(data, status) {
- console.log(data, status);
- $.each(data, function(key, value) {
- let cnt = value.length;
- $('#music_list').append($('').val(key).text(`${key} (${cnt})`));
- });
-
- $('#music_list').change(function() {
- const selectedValue = $(this).val();
- localStorage.setItem('cur_playlist', selectedValue);
- $('#music_name').empty();
- $.each(data[selectedValue], function(index, item) {
- $('#music_name').append($('').val(item).text(item));
- });
- });
-
- $('#music_list').trigger('change');
-
- // 获取当前播放列表
- $.get(`/curplaylist?did=${did}`, function(playlist, status) {
- if (playlist != "") {
- $('#music_list').val(playlist);
- $('#music_list').trigger('change');
- } else {
- // 使用本地记录的
- playlist = localStorage.getItem('cur_playlist');
- if (data.includes(playlist)) {
- $('#music_list').val(playlist);
- $('#music_list').trigger('change');
- }
- }
- })
- callback();
- })
- }
-
- // 拉取播放列表
- function refresh_music_list() {
- // 刷新列表时清空并临时禁用搜索框
- const searchInput = document.getElementById('search');
- const oriPlaceHolder = searchInput.placeholder
- const oriValue = searchInput.value
- const inputEvent = new Event('input', { bubbles: true });
- searchInput.value = '';
- // 分发事件,让其他控件改变状态
- searchInput.dispatchEvent(inputEvent);
- searchInput.disabled = true;
- searchInput.placeholder = '请等待...';
-
- _refresh_music_list(() => {
- // 刷新完成再启用
- searchInput.disabled = false;
- searchInput.value = oriValue
- searchInput.dispatchEvent(inputEvent);
- searchInput.placeholder = oriPlaceHolder;
- // 每3秒获取下正在播放的音乐
- get_playing_music();
- setInterval(() => {
- get_playing_music();
- }, 3000);
- });
- }
-
- function do_play_music_list(listname, musicname) {
- $.ajax({
- type: "POST",
- url: "/playmusiclist",
- contentType: "application/json; charset=utf-8",
- data: JSON.stringify({did: did, listname: listname, musicname: musicname}),
- success: () => {
- console.log("do_play_music_list succ", listname, musicname);
- },
- error: () => {
- console.log("do_play_music_list failed", listname, musicname);
- }
- });
- }
-
- $("#play_music_list").on("click", () => {
- var music_list = $("#music_list").val();
- var music_name = $("#music_name").val();
- if (no_warning) {
- do_play_music_list(music_list, music_name);
- return;
- }
- $.get(`/musicinfo?name=${music_name}`, function(data, status) {
- console.log(data);
- if (data.ret == "OK") {
- validHost(data.url) && do_play_music_list(music_list, music_name);
- }
- });
- });
-
- $("#web_play").on("click", () => {
- const music_name = $("#music_name").val();
- $.get(`/musicinfo?name=${music_name}`, function(data, status) {
- console.log(data);
- if (data.ret == "OK") {
- validHost(data.url) && $('audio').attr('src',data.url);
- }
- });
- });
-
- $("#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} 失败`);
- }
- });
- }
- });
-
- $("#playurl").on("click", () => {
- var url = $("#music-url").val();
- const encoded_url = encodeURIComponent(url);
- $.get(`/playurl?url=${encoded_url}&did=${did}`, function(data, status) {
- console.log(data);
- });
- });
-
- function append_op_button_name(name) {
- append_op_button(null, name, name);
- }
-
- function append_op_button(id, name, cmd) {
- // 创建按钮
- const $button = $("