Update html

pull/123/head
FongMi 3 years ago
parent 3cfe0e5349
commit e26b2d8bd5
  1. 119
      app/src/main/res/raw/index.html
  2. 212
      app/src/main/res/raw/script.js

@ -47,12 +47,8 @@
<div class="weui-cell weui-cell_active weui-cell_vcode weui-cell_wrap">
<div class="weui-cell__bd weui-flex">
<input id="push_url" class="weui-input weui-cell__control weui-cell__control_flex" type="text" value="" placeholder="請輸入網址..." />
<button onclick="push(); return false;" class="weui-cell__control weui-btn weui-btn_default weui-vcode-btn">確定</button>
</div>
</div>
<div class="weui-cell weui-cell_active weui-cell_vcode weui-cell_wrap">
<div class="weui-cell__bd weui-flex" style="display: flex;justify-content:center;">
<button id="dev" onclick="update(); return false;" class="weui-cell__control weui-btn weui-btn_default weui-vcode-btn" style="margin-right:16px;">內測版</button>
<button onclick="push(); return false;" class="weui-cell__control weui-btn weui-btn_default weui-vcode-btn" style="margin-right: 16px;">確定</button>
<button id="update" onclick="update(); return false;" class="weui-cell__control weui-btn weui-btn_default weui-vcode-btn">內測</button>
</div>
</div>
</div>
@ -61,11 +57,11 @@
</div>
</div>
<div id="panel3" role="tabpanel" aria-labelledby="tab3" class="weui-tab__panel" style="display: none;">
<div class="weui-form">
<div class="weui-form" style="min-height: 0;">
<div class="weui-form__text-area">
<h2 class="weui-form__title">接口</h2>
</div>
<div class="weui-form__control-area">
<div class="weui-form__control-area" style="margin-bottom: 0px !important;">
<div class="weui-cells__group weui-cells__group_form">
<div class="weui-cells">
<div class="weui-cell weui-cell_active weui-cell_vcode weui-cell_wrap">
@ -78,6 +74,21 @@
</div>
</div>
</div>
<div class="weui-form" style="padding-top: 50px; min-height: 0;">
<div class="weui-form__text-area">
<h2 class="weui-form__title">本地</h2>
</div>
<input type="file" id="file_uploader" style="display:none;" onchange="uploadTip()" multiple />
<div class="weui-form__control-area" style="text-align: center;margin-bottom: 10px !important;">
<div class="button-sp-area" style="margin-top: 10px;">
<a href="javascript:void(0)" role="button" class="weui-btn weui-btn_mini weui-btn_default weui-wa-hotarea" href="javascript:void(0)" onclick="uploadFile()">上傳檔案</a>&nbsp;
<a href="javascript:void(0)" role="button" class="weui-btn weui-btn_mini weui-btn_default weui-wa-hotarea" href="javascript:void(0)" onclick="newFolder()">新增資料夾</a>&nbsp;
<a id="delCurFolder" href="javascript:void(0)" role="button" class="weui-btn weui-btn_mini weui-btn_warn weui-wa-hotarea" href="javascript:void(0)" onclick="delFolder()" style="display: none;">刪除當前文件夾</a>
</div>
</div>
<div class="weui-cells" id="file_list">
</div>
</div>
</div>
<div role="tablist" class="weui-tabbar">
<div id="tab1" role="tab" aria-labelledby="t1_title" aria-selected="true" aria-controls="panel1" class="weui-tabbar__item weui-bar__item_on">
@ -96,6 +107,98 @@
</div>
</div>
</div>
<div id="fileInfoDialog" role="dialog" aria-modal="false" aria-hidden="true" style="display: none;">
<div role="button" class="weui-mask"></div>
<div class="weui-half-screen-dialog">
<div class="weui-half-screen-dialog__hd">
<div class="weui-half-screen-dialog__hd__main">
點擊「使用」時請打開接口視窗
</div>
</div>
<div class="weui-half-screen-dialog__bd" id="fileInfo">
<div class="weui-form__control-area" style="margin-bottom: 0px !important;">
<div class="weui-cells__group weui-cells__group_form">
<div class="weui-cells">
<div class="weui-cell weui-cell_active weui-cell_vcode weui-cell_wrap">
<div class="weui-cell__hd"><label class="weui-label">本機地址</label></div>
<div class="weui-cell__bd weui-flex"><button onclick="fileToApi(1); return false;" class="weui-cell__control weui-btn weui-btn_default weui-vcode-btn">使用</button>
</div>
</div>
<div class="weui-cell weui-cell_active weui-cell_vcode weui-cell_wrap">
<div class="weui-cell__bd weui-flex">
<input id="fileUrl1" class="weui-input weui-cell__control weui-cell__control_flex" type="text" value="" readonly />
</div>
</div>
<div class="weui-cell weui-cell_active weui-cell_vcode weui-cell_wrap">
<div class="weui-cell__hd"><label class="weui-label">局域網地址</label></div>
<div class="weui-cell__bd weui-flex"><button onclick="fileToApi(2); return false;" class="weui-cell__control weui-btn weui-btn_default weui-vcode-btn">使用</button>
</div>
</div>
<div class="weui-cell weui-cell_active weui-cell_vcode weui-cell_wrap">
<div class="weui-cell__bd weui-flex">
<input id="fileUrl2" class="weui-input weui-cell__control weui-cell__control_flex" type="text" value="" readonly />
</div>
</div>
</div>
</div>
</div>
</div>
<div class="weui-half-screen-dialog__ft" style="padding-bottom: 30px;">
<div class="weui-half-screen-dialog__btn-area">
<a href="javascript:void(0)" class="weui-btn weui-btn_default" onclick="hideFileInfo()">關閉</a>
<a href="javascript:void(0)" id="delFileBtn" class="weui-btn weui-btn_warn" onclick="delFile()">刪除檔案</a>
</div>
</div>
</div>
</div>
<div role="dialog" aria-hidden="true" aria-modal="true" id="uploadTip" style="display: none;">
<div class="weui-mask"></div>
<div class="weui-dialog">
<div class="weui-dialog__hd"><strong class="weui-dialog__title">確認上傳?</strong></div>
<div class="weui-dialog__bd" id="uploadTipContent"></div>
<div class="weui-dialog__ft">
<a role="button" href="javascript:void(0)" onclick="doUpload(0)" class="weui-dialog__btn weui-dialog__btn_default">取消</a>
<a role="button" href="javascript:void(0)" onclick="doUpload(1)" class="weui-dialog__btn weui-dialog__btn_primary">確定</a>
</div>
</div>
</div>
<div role="dialog" aria-hidden="true" aria-modal="true" id="newFolder" style="display: none;">
<div class="weui-mask"></div>
<div class="weui-dialog">
<div class="weui-dialog__hd"><strong class="weui-dialog__title">新增資料夾</strong></div>
<div class="weui-dialog__bd">
<input id="newFolderContent" class="weui-input weui-cell__control weui-cell__control_flex" type="text" value="" placeholder="請輸入資料夾名稱..." />
</div>
<div class="weui-dialog__ft">
<a role="button" href="javascript:void(0)" onclick="doNewFolder(0)" class="weui-dialog__btn weui-dialog__btn_default">取消</a>
<a role="button" href="javascript:void(0)" onclick="doNewFolder(1)" class="weui-dialog__btn weui-dialog__btn_primary">確定</a>
</div>
</div>
</div>
<div role="dialog" aria-hidden="true" aria-modal="true" id="delFolder" style="display: none;">
<div class="weui-mask"></div>
<div class="weui-dialog">
<div class="weui-dialog__hd"><strong class="weui-dialog__title">刪除資料夾</strong></div>
<div class="weui-dialog__bd" id="delFolderContent"></div>
<div class="weui-dialog__ft">
<a role="button" href="javascript:void(0)" onclick="doDelFolder(0)" class="weui-dialog__btn weui-dialog__btn_default">取消</a>
<a role="button" href="javascript:void(0)" onclick="doDelFolder(1)" class="weui-dialog__btn weui-dialog__btn_primary">確定</a>
</div>
</div>
</div>
<div role="dialog" aria-hidden="true" aria-modal="true" id="delFile" style="display: none;">
<div class="weui-mask"></div>
<div class="weui-dialog">
<div class="weui-dialog__hd"><strong class="weui-dialog__title">刪除檔案</strong></div>
<div class="weui-dialog__bd" id="delFileContent"></div>
<div class="weui-dialog__ft">
<a role="button" href="javascript:void(0)" onclick="doDelFile(0)" class="weui-dialog__btn weui-dialog__btn_default">取消</a>
<a role="button" href="javascript:void(0)" onclick="doDelFile(1)" class="weui-dialog__btn weui-dialog__btn_primary">確定</a>
</div>
</div>
</div>
<div role="alert" id="warnToast" style="display: none;">
<div class="weui-mask_transparent"></div>
<div class="weui-toast">

@ -1,10 +1,17 @@
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_parent = '';
let current_remote = '';
let current_file = '';
function search() {
doAction('search', { text: $('#keyword').val() });
}
function update() {
doAction('update', { text: "dev" });
$('#dev').attr("disabled", true);
$('#update').attr("disabled", true);
}
function push() {
@ -23,6 +30,209 @@ function doAction(action, kv) {
return false;
}
function tpl_top(path) {
return `<a class="weui-cell weui-cell_access" href="javascript:void(0)" onclick="listFile('` + path + `')">
<div class="weui-cell__hd"><img src="`+ ic_dir + `" alt="" style="width: 32px; margin-right: 16px; display: block;"></div>
<span class="weui-cell__bd">
<span>..</span>
</span>
<span class="weui-cell__ft">
</span>
</a>`;
}
function tpl_dir(name, time, path) {
return `<a class="weui-cell weui-cell_access" href="#" onclick="listFile('` + path + `')">
<div class="weui-cell__hd"><img src="`+ ic_dir + `" alt="" style="width: 32px; margin-right: 16px; display: block;"></div>
<span class="weui-cell__bd">
<span>`+ name + `</span>
<div class="weui-cell__desc">`+ time + `</div>
</span>
<span class="weui-cell__ft">
</span>
</a>`;
}
function tpl_file(name, time, path, canDel) {
return `<a class="weui-cell weui-cell_access" href="javascript:void(0)" onclick="selectFile('` + path + `', ` + canDel + `)">
<div class="weui-cell__hd"><img src="`+ ic_file + `" alt="" style="width: 32px; margin-right: 16px; display: block;"></div>
<span class="weui-cell__bd">
<span>`+ name + `</span>
<div class="weui-cell__desc">`+ time + `</div>
</span>
</a>`;
}
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();
$("#fileUrl1")[0].value = "file://" + current_file;
$("#fileUrl2")[0].value = current_remote + current_file;
$("#fileInfoDialog").show();
}
function fileToApi(type) {
if (type === 1) {
doAction('api', { url: "file://" + current_file });
} else {
doAction('api', { url: current_remote + 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.del === 1;
current_root = path;
current_parent = parent;
current_remote = info.remote;
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) + ',';
}
$('#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 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() {
hideFileInfo();
$('#delFileContent').html('是否刪除 ' + current_file);
$('#delFile').show();
}
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();

Loading…
Cancel
Save