let ic_dir = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAA7AAAAOwBeShxvQAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAIoSURBVFiF7Ze/T9RgGMc/T9/WO+74IXdRNKCJxETPQaOJi8LoxiouTurmv+DAYvwH3JzVhOhgSHByMTqY6GBCCBFMcJFwURC4O1rbvo8DoIg9rvHuYOGTdGjfb/J88vZpn1Z0bKw7JjsiaCcJqMiCKQ1OyuhonLTeLG5MZlLQq/UCooqd/nwfuNcOAUfgSorcbR0fN20RACRF7hgzc0PtEJB47IGmCSq8EXjbOKjG+VG54Buv531puK/WkfO2L0cY+ZI5ksVfD84vTt91U5vCEBvH7qxU0GqV18PX+Xg2+e6GFmZXhPlc3zOX5dW0Do2xMbIeEBuXmVMX68Y8BwxQzhXFlWqtdQKbzA+cIch0pMq630vgX55DTJgY+Bn18ql8hyAqphb4VjjeMLPVeG722nOKztddw0EPTARPUws0ohqB3TRw8w2KAwyaCRara/i2u+niCqxHf85TPQWe+Jw2L3kX3GhaYCdip5xU74FV28dSPNB8QZR8VEbCiCe1h+kFWopCVLH42oWz58Xh98s/y9o+CWzjQOBA4EBg3wX+mgWxdwlrTtSJRrjBK0T99glUC49R52jdcG75Fp7/on0C4BGGIeWFMtsHRL4zT2/hMCoerebfHkgYTWm+2/+XHTsQ4h3y6D/ZnxgWjRKvt0wgv3QTa+rN/I0mbDVipxxLe3c5kWjNgqIOSOO/nRajMVu99kF0hi4iM4LQtSfVrWbigHMa21k35NEvWSq4Cnb1Ay8AAAAASUVORK5CYII='; let ic_file = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAA7AAAAOwBeShxvQAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAJdSURBVFiF7ZfLaxNRFMa/c+8MbZO0xAgmGIIxUmtsQCkobsSNO12I7v0PXAjuBDeCCN0I/gvdu3HhQlHBBwouTA1UUoulKXmYSDp59TEzx4XUpmFm0tsMTRd+u5l7uN9vvnvunRmCh+r1+km2+CWAlFedm5byP79PIHRx8tKk4VYjvCawTfvafs0BoN1qThWNYn7h3cK4EgDPI23P07Ox5pM7+zXfVqPRPFbulPO517nQngBmv3JwkwIPQXQDXDs9KAAANI1WtLpVXcx9yEU8AWY/WU95nRvL1tVbfhgLKXcgGq1oZe3XajabPdJdo3VfMOg2AAL7YQ8kUyewIiQs0wQAbG5sjHbqnUUARx0BAMi/IP4oEAxganpnFcuFEggU7q7x3AUHoaED9C6Bp5gZlmUpGQgSENL9OR0B2KUJCssFFAslJQAShPMXzkHX9b0DuCmRTCCRTCgB9JPzSeirhbeUEjDqBgyjoWQgiBCLxyCEcx8494DLZLZtwzbVmpAFeUaqlEA4EkY4Eu5fqKBDeg64bsNVVEoVJQMCITOTga47WznfJefJ4onjiMWjygBSk67jSgcRCYImlNqmr4beA0M/iP4ncDgT+BfBAUThmQDbpv+OPZ+8ngBa+xWEWfbFt9PqgJmh6/r7XR5OxduIkpcw9uMsWE4MZM7QMKoFq2uBF2dS6VO1vgArWzPIjDwHSUCOA2DXf0sFit9z6XS61nu7F8AEgLfrD/CtfQUhWR3YNzZS+ngzdPc+ps03TuO7Xjuzn61HzHQPDL1pAvaAu4AZJYvo+uPL9MWt5g/5NsVsHsMO8wAAAABJRU5ErkJggg=='; let current_root = ''; let current_file = ''; let current_parent = ''; function search() { doAction('search', { word: $('#keyword').val() }); } function push() { doAction('push', { url: $('#push_url').val() }); } function setting() { doAction('setting', { text: $('#setting_text').val(), name: $('#setting_name').val() }); } function file(path) { doAction('file', { path: path }); } function doAction(action, kv) { kv['do'] = action; $.post('/action', kv, function (data) { console.log(data); }); return false; } function tpl_top(path) { return `
..
`; } function tpl_dir(name, time, path) { return `
` + name + `
` + time + `
`; } function tpl_file(name, time, path, canDel) { return `
` + name + `
` + time + `
`; } function clear_list() { $('#file_list').html(''); } function add_file(node) { $('#file_list').append(node); } function selectFile(path, canDel) { current_file = path; if (canDel) $("#delFileBtn").show(); else $("#delFileBtn").hide(); $("#fileUrl").html("file:/" + current_file); $("#fileInfoDialog").show(); } function pushFile(yes) { hideFileInfo(); if (yes == 1) { file("file:/" + current_file); } } function hideFileInfo() { $("#fileInfoDialog").hide(); } function listFile(path) { $('#loadingToast').show(); $.get('/file' + path, function (res) { let info = JSON.parse(res); let parent = info.parent; let canDel = info.parent != '.'; current_root = path; current_parent = parent; let array = info.files; if (path === '' && array.length == 0) { warnToast('可能沒有存儲權限'); } clear_list(); if (parent !== '.') { add_file(tpl_top(parent)); } if (canDel) { $('#delCurFolder').show(); } else { $('#delCurFolder').hide(); } array.forEach(node => { if (node.dir === 1) { add_file(tpl_dir(node.name, node.time, node.path)); } else { add_file(tpl_file(node.name, node.time, node.path, canDel)); } }); $('#loadingToast').hide(); }) } function uploadFile() { $('#file_uploader').click(); } function uploadTip() { let files = $('#file_uploader')[0].files; if (files.length <= 0) return false; let tip = ''; for (var i = 0; i < files.length; i++) { tip += (files[i].name) + ','; } tip = tip.substring(0, tip.length - 1); $('#uploadTipContent').html(tip); $('#uploadTip').show(); } function doUpload(yes) { $('#uploadTip').hide(); if (yes == 1) { let files = $('#file_uploader')[0].files; if (files.length <= 0) return false; var formData = new FormData(); formData.append('path', current_root); for (i = 0; i < files.length; i++) { formData.append("files-" + i, files[i]); } $('#loadingToast').show(); $.ajax({ url: '/upload', type: 'post', data: formData, processData: false, contentType: false, complete: function () { $('#loadingToast').hide(); listFile(current_root); } }); } } function newFolder() { $('#newFolder').show(); } function doNewFolder(yes) { $('#newFolder').hide(); if (yes == 1) { let name = $('#newFolderContent')[0].value.trim(); if (name.length <= 0) return false; $('#loadingToast').show(); $.post('/newFolder', { path: current_root, name: name }, function (data) { $('#loadingToast').hide(); listFile(current_root); }); } } function delFolder() { $('#delFolderContent').html('是否刪除 ' + current_root); $('#delFolder').show(); } function doDelFolder(yes) { $('#delFolder').hide(); if (yes == 1) { $('#loadingToast').show(); $.post('/delFolder', { path: current_root }, function (data) { $('#loadingToast').hide(); listFile(current_parent); }); } } function delFile() { $('#delFileContent').html('是否刪除 ' + current_file); $('#delFile').show(); hideFileInfo(); } function doDelFile(yes) { $('#delFile').hide(); if (yes == 1) { $('#loadingToast').show(); $.post('/delFile', { path: current_file }, function (data) { $('#loadingToast').hide(); listFile(current_root); }); } } function warnToast(msg) { $('#warnToastContent').html(msg); $('#warnToast').show(); setTimeout(() => { $('#warnToast').hide(); }, 1000); } function showPanel(id) { let tab = $('#tab' + id); $(tab).attr('aria-selected', 'true').addClass('weui-bar__item_on'); $(tab).siblings('.weui-bar__item_on').removeClass('weui-bar__item_on').attr('aria-selected', 'false'); var panelId = '#' + $(tab).attr('aria-controls'); $(panelId).css('display', 'block'); $(panelId).siblings('.weui-tab__panel').css('display', 'none'); if (id === 4) listFile('') } $(function () { $('.weui-tabbar__item').on('click', function () { showPanel(parseInt($(this).attr('id').substr(3))); }); }); $(document).ready(function () { var url = window.location.search; if (url.indexOf('tab=2') > 0) { showPanel(2); } else if (url.indexOf('tab=3') > 0) { showPanel(3); } else if (url.indexOf('tab=4') > 0) { showPanel(4); } else { showPanel(1); } });