mirror of https://gitee.com/zhang_1334717033/kiftd
1340 lines
41 KiB
JavaScript
1340 lines
41 KiB
JavaScript
/**
|
||
* home.js kiftd主页面操作定义 by 青阳龙野 该文件为home.html的操作定义文件,包含了kiftd页面上的主要操作实现。
|
||
*/
|
||
|
||
var locationpath = "root";// 记录当前文件路径
|
||
var parentpath = "null";// 记录当前文件路径的父级目录
|
||
var ap;// 音乐播放器对象
|
||
var zipTimer;// 打包下载计时器
|
||
|
||
// 页面初始化
|
||
$(function() {
|
||
getServerOS();// 得到服务器操作系统信息
|
||
showFolderView(locationpath);// 显示根节点页面视图
|
||
// 点击空白处取消选中文件(不支持火狐)
|
||
$(document).click(function(e) {
|
||
var filetable = $("#filetable")[0];
|
||
if (e.target !== filetable && !$.contains(filetable, e.target)) {
|
||
$(".filerow").removeClass("info");
|
||
}
|
||
});
|
||
// 关闭音乐播放模态框自动停止播放并将进度归0
|
||
$('#audioPlayerModal').on('hidden.bs.modal', function(e) {
|
||
if (ap != null) {
|
||
ap.seek(0);
|
||
ap.pause();
|
||
}
|
||
});
|
||
// 关闭打包下载模态框自动停止计时
|
||
$('#downloadAllCheckedModal').on('hidden.bs.modal', function(e) {
|
||
if(zipTimer!=null){
|
||
window.clearInterval(zipTimer);
|
||
}
|
||
});
|
||
// 关闭登陆模态框自动清空输入数据
|
||
$('#loginModal').on('hidden.bs.modal', function(e) {
|
||
$("#accountid").val('');
|
||
$("#accountpwd").val('');
|
||
});
|
||
});
|
||
|
||
//全局请求失败提示
|
||
function doAlert(){
|
||
alert("kiftd错误:无法连接到服务器,请检查网络连接或服务器运行状态。");
|
||
}
|
||
|
||
// 获取服务器操作系统
|
||
function getServerOS() {
|
||
$.ajax({
|
||
type : "POST",
|
||
dataType : "text",
|
||
data : {
|
||
|
||
},
|
||
url : "homeController/getServerOS.ajax",
|
||
success : function(result) {
|
||
if (result == "mustLogin") {
|
||
window.location.href = "login.html";
|
||
}
|
||
$("#serverOS").text(result);
|
||
},
|
||
error : function() {
|
||
$("#serverOS").html("<a onclick='getServerOS()'>获取失败,点击重试</a>");
|
||
}
|
||
});
|
||
}
|
||
|
||
// 获取实时文件夹视图
|
||
function showFolderView(fid) {
|
||
startLoading();
|
||
$.ajax({
|
||
type : 'POST',
|
||
dataType : 'text',
|
||
data : {
|
||
fid : fid
|
||
},
|
||
url : 'homeController/getFolderView.ajax',
|
||
success : function(result) {
|
||
endLoading();
|
||
if (result == "mustLogin") {
|
||
window.location.href = "login.html";
|
||
} else {
|
||
var folderView = eval("(" + result + ")");
|
||
locationpath = folderView.folder.folderId;
|
||
parentpath = folderView.folder.folderParent;
|
||
showParentList(folderView);
|
||
showAccountView(folderView);
|
||
showPublishTime(folderView);
|
||
showFolderTable(folderView);
|
||
}
|
||
},
|
||
error : function() {
|
||
endLoading();
|
||
doAlert();
|
||
$("#tb").html("<span class='graytext'>获取失败,请尝试刷新</span>");
|
||
$("#publishTime").html("<span class='graytext'>获取失败,请尝试刷新</span>");
|
||
$("#parentlistbox")
|
||
.html("<span class='graytext'>获取失败,请尝试刷新</span>");
|
||
}
|
||
});
|
||
}
|
||
|
||
// 开始文件视图加载动画
|
||
function startLoading(){
|
||
$('#loadingModal').modal({backdrop:'static', keyboard: false});
|
||
$('#loadingModal').modal('show');
|
||
}
|
||
|
||
// 结束文件视图加载动画
|
||
function endLoading(){
|
||
$('#loadingModal').modal('hide');
|
||
}
|
||
|
||
//开始登陆加载动画
|
||
function startLogin(){
|
||
$("#accountid").attr('disabled','disabled');
|
||
$("#accountpwd").attr('disabled','disabled');
|
||
$("#dologinButton").attr('disabled','disabled');
|
||
}
|
||
|
||
//结束登陆加载动画
|
||
function finishLogin(){
|
||
$("#accountid").removeAttr('disabled','disabled');
|
||
$("#accountpwd").removeAttr('disabled','disabled');
|
||
$("#dologinButton").removeAttr('disabled','disabled');
|
||
}
|
||
|
||
// 登录操作
|
||
function dologin() {
|
||
var accountId = $("#accountid").val();
|
||
var accountPwd = $("#accountpwd").val();
|
||
var check = "y";
|
||
if (accountId.length == 0) {
|
||
$("#accountidbox").addClass("has-error");
|
||
check = "n";
|
||
} else {
|
||
$("#accountidbox").removeClass("has-error");
|
||
}
|
||
if (accountPwd.length == 0) {
|
||
$("#accountpwdbox").addClass("has-error");
|
||
check = "n";
|
||
} else {
|
||
$("#accountpwdbox").removeClass("has-error");
|
||
}
|
||
if (check == "y") {
|
||
startLogin();
|
||
// 加密认证-获取公钥并将请求加密发送给服务器,避免中途被窃取
|
||
$.ajax({
|
||
url : 'homeController/getPublicKey.ajax',
|
||
type : 'POST',
|
||
data : {},
|
||
dataType : 'text',
|
||
success : function(result) {
|
||
var publicKeyInfo=eval("("+result+")");
|
||
var date = new Date();// 这个是客户浏览器上的当前时间
|
||
var loginInfo = '{accountId:"' + accountId + '",accountPwd:"'
|
||
+ accountPwd + '",time:"' + publicKeyInfo.time + '"}';
|
||
var encrypt = new JSEncrypt();// 加密插件对象
|
||
encrypt.setPublicKey(publicKeyInfo.publicKey);// 设置公钥
|
||
var encrypted = encrypt.encrypt(loginInfo);// 进行加密
|
||
sendLoginInfo(encrypted);
|
||
},
|
||
error : function() {
|
||
finishLogin();
|
||
$("#alertbox").addClass("alert");
|
||
$("#alertbox").addClass("alert-danger");
|
||
$("#alertbox").text("提示:登录请求失败,请检查网络或服务器运行状态");
|
||
}
|
||
});
|
||
}
|
||
}
|
||
|
||
// 发送加密文本
|
||
function sendLoginInfo(encrypted) {
|
||
$.ajax({
|
||
type : "POST",
|
||
dataType : "text",
|
||
url : "homeController/doLogin.ajax",
|
||
data : {
|
||
encrypted : encrypted
|
||
},
|
||
success : function(result) {
|
||
finishLogin();
|
||
$("#alertbox").removeClass("alert");
|
||
$("#alertbox").removeClass("alert-danger");
|
||
$("#alertbox").text("");
|
||
switch (result) {
|
||
case "permitlogin":
|
||
$("#accountidbox").removeClass("has-error");
|
||
$("#accountpwdbox").removeClass("has-error");
|
||
$('#loginModal').modal('hide');
|
||
showFolderView(locationpath);
|
||
break;
|
||
case "accountnotfound":
|
||
$("#accountidbox").addClass("has-error");
|
||
$("#accountpwdbox").removeClass("has-error");
|
||
$("#alertbox").addClass("alert");
|
||
$("#alertbox").addClass("alert-danger");
|
||
$("#alertbox").text("提示:登录失败,账户不存在或未设置");
|
||
break;
|
||
case "accountpwderror":
|
||
$("#accountpwdbox").addClass("has-error");
|
||
$("#accountidbox").removeClass("has-error");
|
||
$("#alertbox").addClass("alert");
|
||
$("#alertbox").addClass("alert-danger");
|
||
$("#alertbox").text("提示:登录失败,密码错误或未设置");
|
||
break;
|
||
case "error":
|
||
$("#alertbox").addClass("alert");
|
||
$("#alertbox").addClass("alert-danger");
|
||
$("#alertbox").text("提示:登录失败,登录请求无法通过效验(可能是请求耗时过长导致的)");
|
||
break;
|
||
default:
|
||
$("#alertbox").addClass("alert");
|
||
$("#alertbox").addClass("alert-danger");
|
||
$("#alertbox").text("提示:无法登录,未知错误");
|
||
break;
|
||
}
|
||
},
|
||
error : function() {
|
||
finishLogin();
|
||
$("#alertbox").addClass("alert");
|
||
$("#alertbox").addClass("alert-danger");
|
||
$("#alertbox").text("提示:登录请求失败,请检查网络或服务器运行状态");
|
||
}
|
||
});
|
||
}
|
||
|
||
// 注销操作
|
||
function dologout() {
|
||
$('#logoutModal').modal('hide');
|
||
$.ajax({
|
||
url:'homeController/doLogout.ajax',
|
||
type:'POST',
|
||
data:{},
|
||
dataType:'text',
|
||
success:function(result){
|
||
if(result=="SUCCESS"){
|
||
showFolderView(locationpath);
|
||
}
|
||
},
|
||
error:function(){
|
||
doAlert();
|
||
}
|
||
});
|
||
}
|
||
|
||
// 显示当前文件夹的父级路径
|
||
function showParentList(folderView) {
|
||
$("#parentlistbox").html("");
|
||
var f = folderView.folder;
|
||
var index = 0;
|
||
$.each(folderView.parentList, function(n, val) {
|
||
if (index <= 3) {
|
||
$("#parentlistbox").append(
|
||
"<button onclick='entryFolder(" + '"' + val.folderId + '"'
|
||
+ ")' class='btn btn-link btn-xs'>"
|
||
+ val.folderName + "</button> / ");
|
||
index++;
|
||
} else {
|
||
}
|
||
});
|
||
if (index > 3) {
|
||
$("#parentlistbox").append("... / ");
|
||
}
|
||
$("#parentlistbox").append(f.folderName);
|
||
}
|
||
|
||
// 显示用户视图,包括文件列表、登录信息、操作权限接口等
|
||
function showAccountView(folderView) {
|
||
$("#tb").html("");
|
||
if (folderView.account != null) {
|
||
// 说明已经等陆,显示注销按钮
|
||
$("#tb")
|
||
.append(
|
||
"<button class='btn btn-link rightbtn' data-toggle='modal' data-target='#logoutModal'>注销 ["
|
||
+ folderView.account
|
||
+ "] <span class='glyphicon glyphicon-off' aria-hidden='true'></span></button>");
|
||
} else {
|
||
// 说明用户未登录,显示登录按钮
|
||
$("#tb")
|
||
.append(
|
||
"<button class='btn btn-link rightbtn' data-toggle='modal' data-target='#loginModal'>登入<span class='glyphicon glyphicon-user' aria-hidden='true'></span></button>");
|
||
}
|
||
var authList = folderView.authList;
|
||
if (authList != null) {
|
||
if (checkAuth(authList, "C")) {
|
||
$("#parentlistbox")
|
||
.append(
|
||
"<button onclick='showNewFolderModel()' class='btn btn-link btn-xs rightbtn'><span class='glyphicon glyphicon-folder-open'></span> 新建文件夹</button>");
|
||
}
|
||
if (checkAuth(authList, "U")) {
|
||
$("#parentlistbox")
|
||
.append(
|
||
"<button onclick='showUploadFileModel()' class='btn btn-link btn-xs rightbtn'><span class='glyphicon glyphicon-cloud-upload'></span> 上传文件</button>");
|
||
}
|
||
if (checkAuth(authList, "L")) {
|
||
$("#parentlistbox")
|
||
.append(
|
||
"<button onclick='showDownloadAllCheckedModel()' class='btn btn-link btn-xs rightbtn'><span class='glyphicon glyphicon-cloud-download'></span> 打包下载</button>");
|
||
}
|
||
if (checkAuth(authList, "D")) {
|
||
$("#parentlistbox")
|
||
.append(
|
||
"<button onclick='showDeleteAllCheckedModel()' class='btn btn-link btn-xs rightbtn'><span class='glyphicon glyphicon-trash'></span> 批量删除</button>");
|
||
}
|
||
}
|
||
}
|
||
|
||
// 检查权限列表
|
||
function checkAuth(authList, auth) {
|
||
var k = false;
|
||
$.each(authList, function(n, a) {
|
||
if (a == auth) {
|
||
k = true;
|
||
}
|
||
});
|
||
return k;
|
||
}
|
||
|
||
// 显示视图更新时间
|
||
function showPublishTime(folderView) {
|
||
$("#publishTime").html("");
|
||
var pt = "";
|
||
if (folderView.publishTime != null) {
|
||
pt = folderView.publishTime;
|
||
} else {
|
||
pt = "--";
|
||
}
|
||
$("#publishTime").text(pt);
|
||
}
|
||
|
||
// 刷新文件夹视图
|
||
function refreshFolderView() {
|
||
if (locationpath != null && locationpath.length > 0) {
|
||
showFolderView(locationpath);
|
||
} else {
|
||
showFolderView('root');
|
||
}
|
||
}
|
||
|
||
// 返回上一级文件夹
|
||
function returnPF() {
|
||
if (parentpath != null && parentpath != "null") {
|
||
showFolderView(parentpath);
|
||
} else {
|
||
showFolderView('root');
|
||
}
|
||
}
|
||
|
||
// 显示文件夹内容
|
||
function showFolderTable(folderView) {
|
||
$("#foldertable").html("");
|
||
if (parentpath != null && parentpath != "null") {
|
||
$("#foldertable")
|
||
.append(
|
||
"<tr onclick='returnPF()'><td><button onclick='returnPF()' class='btn btn-link btn-xs'>../</button></td><td>--</td><td>--</td><td>--</td><td>--</td></tr>");
|
||
}
|
||
var authList = folderView.authList;
|
||
var aD = false;
|
||
var aR = false;
|
||
var aL = false;
|
||
if (checkAuth(authList, "D")) {
|
||
aD = true;
|
||
}
|
||
if (checkAuth(authList, "R")) {
|
||
aR = true;
|
||
}
|
||
if (checkAuth(authList, "L")) {
|
||
aL = true;
|
||
}
|
||
|
||
$
|
||
.each(
|
||
folderView.folderList,
|
||
function(n, f) {
|
||
var folderRow = "<tr><td><button onclick='entryFolder("
|
||
+ '"' + f.folderId + '"'
|
||
+ ")' class='btn btn-link btn-xs'>/"
|
||
+ f.folderName + "</button></td><td>"
|
||
+ f.folderCreationDate + "</td><td>--</td><td>"
|
||
+ f.folderCreator + "</td><td>";
|
||
if (aD) {
|
||
folderRow = folderRow
|
||
+ "<button onclick='showDeleteFolderModel("
|
||
+ '"'
|
||
+ f.folderId
|
||
+ '","'
|
||
+ f.folderName
|
||
+ '"'
|
||
+ ")' class='btn btn-link btn-xs'><span class='glyphicon glyphicon-remove'></span> 删除</button>";
|
||
}
|
||
if (aR) {
|
||
folderRow = folderRow
|
||
+ "<button onclick='showRenameFolderModel("
|
||
+ '"'
|
||
+ f.folderId
|
||
+ '","'
|
||
+ f.folderName
|
||
+ '"'
|
||
+ ")' class='btn btn-link btn-xs'><span class='glyphicon glyphicon-wrench'></span> 重命名</button>";
|
||
}
|
||
if (!aR && !aD) {
|
||
folderRow = folderRow + "--";
|
||
}
|
||
folderRow = folderRow + "</td></tr>";
|
||
$("#foldertable").append(folderRow);
|
||
});
|
||
$
|
||
.each(
|
||
folderView.fileList,
|
||
function(n, fi) {
|
||
var fileRow = "<tr onclick='checkfile(" + '"'
|
||
+ fi.fileId + '"' + ")' id='" + fi.fileId
|
||
+ "' class='filerow'><td>" + fi.fileName
|
||
+ "</td><td>" + fi.fileCreationDate
|
||
+ "</td><td>" + fi.fileSize + "MB</td><td>"
|
||
+ fi.fileCreator + "</td><td>";
|
||
if (aL) {
|
||
fileRow = fileRow
|
||
+ "<button onclick='showDownloadModel("
|
||
+ '"'
|
||
+ fi.fileId
|
||
+ '","'
|
||
+ fi.fileName
|
||
+ '"'
|
||
+ ")' class='btn btn-link btn-xs'><span class='glyphicon glyphicon-cloud-download'></span> 下载</button>";
|
||
// 对于各种特殊格式文件提供的预览和播放功能
|
||
if (getSuffix(fi.fileName) == "mp4"
|
||
|| getSuffix(fi.fileName) == "webm") {
|
||
fileRow = fileRow
|
||
+ "<button onclick='playVideo("
|
||
+ '"'
|
||
+ fi.fileId
|
||
+ '"'
|
||
+ ")' class='btn btn-link btn-xs'><span class='glyphicon glyphicon-play'></span> 播放</button>";
|
||
} else if (getSuffix(fi.fileName) == "pdf") {
|
||
fileRow = fileRow
|
||
+ "<button onclick='pdfView("
|
||
+ '"'
|
||
+ fi.fileId
|
||
+ '"'
|
||
+ ")' class='btn btn-link btn-xs'><span class='glyphicon glyphicon-eye-open'></span> 预览</button>";
|
||
} else if (getSuffix(fi.fileName) == "jpg"
|
||
|| getSuffix(fi.fileName) == "jpeg"
|
||
|| getSuffix(fi.fileName) == "gif"
|
||
|| getSuffix(fi.fileName) == "png"
|
||
|| getSuffix(fi.fileName) == "bmp") {
|
||
fileRow = fileRow
|
||
+ "<button onclick='showPicture("
|
||
+ '"'
|
||
+ fi.fileId
|
||
+ '"'
|
||
+ ")' class='btn btn-link btn-xs'><span class='glyphicon glyphicon-picture'></span> 查看</button>";
|
||
} else if (getSuffix(fi.fileName) == "mp3"
|
||
|| getSuffix(fi.fileName) == "wav"
|
||
|| getSuffix(fi.fileName) == "ogg") {
|
||
fileRow = fileRow
|
||
+ "<button onclick='playAudio("
|
||
+ '"'
|
||
+ fi.fileId
|
||
+ '"'
|
||
+ ")' class='btn btn-link btn-xs'><span class='glyphicon glyphicon-play'></span> 播放</button>";
|
||
}
|
||
}
|
||
if (aD) {
|
||
fileRow = fileRow
|
||
+ "<button onclick='showDeleteFileModel("
|
||
+ '"'
|
||
+ fi.fileId
|
||
+ '","'
|
||
+ fi.fileName
|
||
+ '"'
|
||
+ ")' class='btn btn-link btn-xs'><span class='glyphicon glyphicon-remove'></span> 删除</button>";
|
||
}
|
||
if (aR) {
|
||
fileRow = fileRow
|
||
+ "<button onclick='showRenameFileModel("
|
||
+ '"'
|
||
+ fi.fileId
|
||
+ '"'
|
||
+ ","
|
||
+ '"'
|
||
+ fi.fileName
|
||
+ '"'
|
||
+ ")' class='btn btn-link btn-xs'><span class='glyphicon glyphicon-wrench'></span> 重命名</button>";
|
||
}
|
||
if (!aR && !aD && !aL) {
|
||
fileRow = fileRow + "--";
|
||
}
|
||
fileRow = fileRow + "</td></tr>";
|
||
$("#foldertable").append(fileRow);
|
||
});
|
||
}
|
||
|
||
// 显示新建文件夹模态框
|
||
function showNewFolderModel() {
|
||
$("#foldername").val("");
|
||
$('#newFolderModal').modal('toggle');
|
||
}
|
||
|
||
// 创建新的文件夹
|
||
function createfolder() {
|
||
var fn = $("#foldername").val();
|
||
var reg = new RegExp("^[0-9a-zA-Z_\\u4E00-\\u9FFF]+$", "g");
|
||
if (fn.length == 0) {
|
||
showFolderAlert("提示:文件夹名称不能为空。");
|
||
} else if (fn.length > 20) {
|
||
showFolderAlert("提示:文件夹名称太长。");
|
||
} else if (reg.test(fn)) {
|
||
$("#folderalert").removeClass("alert");
|
||
$("#folderalert").removeClass("alert-danger");
|
||
$("#foldernamebox").removeClass("has-error");
|
||
$("#folderalert").text("");
|
||
$.ajax({
|
||
type : "POST",
|
||
dataType : "text",
|
||
data : {
|
||
parentId : locationpath,
|
||
folderName : fn
|
||
},
|
||
url : "homeController/newFolder.ajax",
|
||
success : function(result) {
|
||
if (result == "mustLogin") {
|
||
window.location.href = "login.html";
|
||
} else {
|
||
if (result == "noAuthorized") {
|
||
showFolderAlert("提示:您的操作未被授权,创建文件夹失败");
|
||
} else if (result == "errorParameter") {
|
||
showFolderAlert("提示:参数不正确,创建文件夹失败");
|
||
} else if (result == "cannotCreateFolder") {
|
||
showFolderAlert("提示:出现意外错误,可能未能创建文件夹");
|
||
} else if (result == "folderAlreadyExist") {
|
||
showFolderAlert("提示:该文件夹已经存在,请更换文件夹名称");
|
||
} else if (result == "createFolderSuccess") {
|
||
$('#newFolderModal').modal('hide');
|
||
showFolderView(locationpath);
|
||
} else {
|
||
$('#newFolderModal').modal('hide');
|
||
showFolderView(locationpath);
|
||
}
|
||
}
|
||
},
|
||
error : function() {
|
||
showFolderAlert("提示:出现意外错误,可能未能创建文件夹");
|
||
}
|
||
});
|
||
} else {
|
||
showFolderAlert("提示:文件夹名只能包含英文字母、数组、汉字和下划线。");
|
||
}
|
||
}
|
||
|
||
// 显示新建文件夹状态提示
|
||
function showFolderAlert(txt) {
|
||
$("#folderalert").addClass("alert");
|
||
$("#folderalert").addClass("alert-danger");
|
||
$("#foldernamebox").addClass("has-error");
|
||
$("#folderalert").text(txt);
|
||
}
|
||
|
||
// 进入某一文件夹
|
||
function entryFolder(folderId) {
|
||
showFolderView(folderId);
|
||
}
|
||
|
||
// 显示删除文件夹模态框
|
||
function showDeleteFolderModel(folderId, folderName) {
|
||
$('#deleteFolderBox')
|
||
.html(
|
||
"<button id='dmbutton' type='button' class='btn btn-danger' onclick='deleteFolder("
|
||
+ '"' + folderId + '"' + ")'>删除</button>");
|
||
$("#dmbutton").attr('disabled', false);
|
||
$('#deleteFolderMessage').text(
|
||
"提示:确定要彻底删除文件夹:[" + folderName + "]及其全部内容么?该操作不可恢复");
|
||
$('#deleteFolderModal').modal('toggle');
|
||
}
|
||
|
||
// 执行删除文件夹
|
||
function deleteFolder(folderId) {
|
||
$("#dmbutton").attr('disabled', true);
|
||
$('#deleteFolderMessage').text("提示:正在删除,请稍候...");
|
||
$.ajax({
|
||
type : "POST",
|
||
dataType : "text",
|
||
data : {
|
||
folderId : folderId
|
||
},
|
||
url : "homeController/deleteFolder.ajax",
|
||
success : function(result) {
|
||
if (result == "mustLogin") {
|
||
window.location.href = "login.html";
|
||
} else {
|
||
if (result == "noAuthorized") {
|
||
$('#deleteFolderMessage').text("提示:您的操作未被授权,删除文件夹失败");
|
||
$("#dmbutton").attr('disabled', false);
|
||
} else if (result == "errorParameter") {
|
||
$('#deleteFolderMessage').text("提示:参数不正确,删除文件夹失败");
|
||
$("#dmbutton").attr('disabled', false);
|
||
} else if (result == "cannotDeleteFolder") {
|
||
$('#deleteFolderMessage').text("提示:出现意外错误,可能未能删除文件夹");
|
||
$("#dmbutton").attr('disabled', false);
|
||
} else if (result == "deleteFolderSuccess") {
|
||
$('#deleteFolderModal').modal('hide');
|
||
showFolderView(locationpath);
|
||
} else {
|
||
$('#deleteFolderMessage').text("提示:出现意外错误,可能未能删除文件夹");
|
||
$("#dmbutton").attr('disabled', false);
|
||
}
|
||
}
|
||
},
|
||
error : function() {
|
||
$('#deleteFolderMessage').text("提示:出现意外错误,可能未能删除文件夹");
|
||
$("#dmbutton").attr('disabled', false);
|
||
}
|
||
});
|
||
}
|
||
|
||
// 显示重命名文件夹模态框
|
||
function showRenameFolderModel(folderId, folderName) {
|
||
$("#newfolderalert").removeClass("alert");
|
||
$("#newfolderalert").removeClass("alert-danger");
|
||
$("#folderrenamebox").removeClass("has-error");
|
||
$("#newfolderalert").text("");
|
||
$("#renameFolderBox").html(
|
||
"<button type='button' class='btn btn-primary' onclick='renameFolder("
|
||
+ '"' + folderId + '"' + ")'>修改</button>");
|
||
$("#newfoldername").val(folderName);
|
||
$("#renameFolderModal").modal('toggle');
|
||
}
|
||
|
||
// 执行重命名文件夹
|
||
function renameFolder(folderId) {
|
||
var newName = $("#newfoldername").val();
|
||
var reg = new RegExp("^[0-9a-zA-Z_\\u4E00-\\u9FFF]+$", "g");
|
||
if (newName.length == 0) {
|
||
showRenameFolderAlert("提示:文件夹名称不能为空。");
|
||
} else if (newName.length > 20) {
|
||
showRenameFolderAlert("提示:文件夹名称太长。");
|
||
} else if (reg.test(newName)) {
|
||
$("#newfolderalert").removeClass("alert");
|
||
$("#newfolderalert").removeClass("alert-danger");
|
||
$("#folderrenamebox").removeClass("has-error");
|
||
$("#newfolderalert").text("");
|
||
$.ajax({
|
||
type : "POST",
|
||
dataType : "text",
|
||
data : {
|
||
folderId : folderId,
|
||
newName : newName
|
||
},
|
||
url : "homeController/renameFolder.ajax",
|
||
success : function(result) {
|
||
if (result == "mustLogin") {
|
||
window.location.href = "login.html";
|
||
} else {
|
||
if (result == "noAuthorized") {
|
||
showRenameFolderAlert("提示:您的操作未被授权,重命名失败");
|
||
} else if (result == "errorParameter") {
|
||
showRenameFolderAlert("提示:参数不正确,重命名失败");
|
||
} else if (result == "cannotRenameFolder") {
|
||
showRenameFolderAlert("提示:出现意外错误,可能未能重命名文件夹");
|
||
} else if (result == "renameFolderSuccess") {
|
||
$('#renameFolderModal').modal('hide');
|
||
showFolderView(locationpath);
|
||
} else {
|
||
showRenameFolderAlert("提示:出现意外错误,可能未能重命名文件夹");
|
||
}
|
||
}
|
||
},
|
||
error : function() {
|
||
showRenameFolderAlert("提示:出现意外错误,可能未能重命名文件夹");
|
||
}
|
||
});
|
||
} else {
|
||
showRenameFolderAlert("提示:文件夹名只能包含英文字母、数组、汉字和下划线");
|
||
}
|
||
}
|
||
|
||
// 显示重命名文件夹状态提示
|
||
function showRenameFolderAlert(txt) {
|
||
$("#newfolderalert").addClass("alert");
|
||
$("#newfolderalert").addClass("alert-danger");
|
||
$("#folderrenamebox").addClass("has-error");
|
||
$("#newfolderalert").text(txt);
|
||
}
|
||
|
||
// 显示上传文件模态框
|
||
function showUploadFileModel() {
|
||
$("#uploadFileAlert").removeClass("alert");
|
||
$("#uploadFileAlert").removeClass("alert-danger");
|
||
$("#uploadFileAlert").text("");
|
||
$('#uploadFileModal').modal('toggle');
|
||
}
|
||
|
||
// 点击文本框触发input:file选择文件动作
|
||
function checkpath() {
|
||
$('#uploadfile').click();
|
||
}
|
||
|
||
// 文件选中后自动回填文件路径
|
||
function showfilepath() {
|
||
var fs = $("#uploadfile").get(0).files;
|
||
var filename = "";
|
||
for (var i = 0; i < fs.length; i++) {
|
||
filename = filename + fs[i].name;
|
||
if (i < (fs.length - 1)) {
|
||
filename = filename + "、";
|
||
}
|
||
}
|
||
if (fs.length <= 1) {
|
||
$("#selectcount").text("");
|
||
} else {
|
||
$("#selectcount").text("(共" + fs.length + "个)");
|
||
}
|
||
$("#filepath").val(filename);
|
||
}
|
||
|
||
// 检查是否能够上传
|
||
function checkUploadFile() {
|
||
|
||
$("#umbutton").attr('disabled', true);
|
||
|
||
$("#uploadFileAlert").removeClass("alert");
|
||
$("#uploadFileAlert").removeClass("alert-danger");
|
||
$("#uploadFileAlert").text("");
|
||
|
||
var fs = $("#uploadfile").get(0).files;
|
||
var filenames = new Array();
|
||
for (var i = 0; i < fs.length; i++) {
|
||
filenames[i] = fs[i].name.replace(/^.+?\\([^\\]+?)?$/gi, "$1");
|
||
}
|
||
var namelist = JSON.stringify(filenames);
|
||
|
||
$.ajax({
|
||
type : "POST",
|
||
dataType : "text",
|
||
data : {
|
||
folderId : locationpath,
|
||
namelist : namelist
|
||
},
|
||
url : "homeController/checkUploadFile.ajax",
|
||
success : function(result) {
|
||
if (result == "mustLogin") {
|
||
window.location.href = "login.html";
|
||
} else {
|
||
if (result == "errorParameter") {
|
||
showUploadFileAlert("提示:参数不正确,无法开始上传");
|
||
} else if (result == "noAuthorized") {
|
||
showUploadFileAlert("提示:您的操作未被授权,无法开始上传");
|
||
} else if (result.startsWith("duplicationFileName:")) {
|
||
showUploadFileAlert("提示:本路径下已存在同名的文件:["
|
||
+ result.substring(20) + "],无法开始上传");
|
||
} else if (result == "permitUpload") {
|
||
doupload(1);
|
||
} else {
|
||
showUploadFileAlert("提示:出现意外错误,无法开始上传");
|
||
}
|
||
}
|
||
},
|
||
error : function() {
|
||
showUploadFileAlert("提示:出现意外错误,无法开始上传");
|
||
}
|
||
});
|
||
}
|
||
|
||
var xhr;
|
||
|
||
// 执行文件上传并实现上传进度显示
|
||
function doupload(count) {
|
||
|
||
var fs = $("#uploadfile").get(0).files;
|
||
var fcount = fs.length;
|
||
$("#pros").width("0%");// 先将进度条置0
|
||
var uploadfile = fs[count - 1];// 获取要上传的文件
|
||
if (uploadfile != null) {
|
||
|
||
var fname = uploadfile.name;
|
||
if (fcount > 1) {
|
||
$("#filecount").text("(" + count + "/" + fcount + ")");// 显示当前进度
|
||
}
|
||
$("#uploadstatus").prepend(
|
||
"<p>" + fname + "<span id='uls_" + count
|
||
+ "'>[正在上传...]</span></p>");
|
||
xhr = new XMLHttpRequest();// 这东西类似于servlet里面的request
|
||
|
||
var fd = new FormData();// 用于封装文件数据的对象
|
||
|
||
fd.append("file", uploadfile);// 将文件对象添加到FormData对象中,字段名为uploadfile
|
||
fd.append("folderId", locationpath);
|
||
|
||
xhr.open("POST", "homeController/douploadFile.ajax", true);// 上传目标
|
||
|
||
xhr.upload.addEventListener("progress", uploadProgress, false);// 这个是对上传进度的监听
|
||
// 上面的三个参数分别是:事件名(指定名称)、回调函数、是否冒泡(一般是false即可)
|
||
|
||
xhr.send(fd);// 上传FormData对象
|
||
|
||
// 上传结束后执行的回调函数
|
||
xhr.onloadend = function() {
|
||
if (xhr.status === 200) {
|
||
// TODO 上传成功
|
||
var result = xhr.responseText;
|
||
if (result == "uploadsuccess") {
|
||
$("#uls_" + count).text("[已完成]");
|
||
if (count < fcount) {
|
||
doupload(count + 1);
|
||
} else {
|
||
// 清空所有提示信息,还原上传窗口
|
||
$("#uploadfile").val("");
|
||
$("#filepath").val("");
|
||
$("#pros").width("0%");
|
||
$('#uploadFileModal').modal('hide');
|
||
$("#umbutton").attr('disabled', false);
|
||
showFolderView(locationpath);
|
||
$("#filecount").text("");
|
||
$("#uploadstatus").text("");
|
||
$("#selectcount").text("");
|
||
}
|
||
} else if (result == "uploaderror") {
|
||
showUploadFileAlert("提示:出现意外错误,文件:[" + fname
|
||
+ "]上传失败,上传被中断。");
|
||
$("#uls_" + count).text("[失败]");
|
||
} else {
|
||
$('#uploadFileModal').modal('hide');
|
||
$("#uls_" + count).text("[失败]");
|
||
}
|
||
} else {
|
||
showUploadFileAlert("提示:出现意外错误,文件:[" + fname + "]上传失败,上传被中断。");
|
||
$("#uls_" + count).text("[失败]");
|
||
}
|
||
};
|
||
} else {
|
||
showUploadFileAlert("提示:要上传的文件不存在。");
|
||
$("#uploadstatus").prepend(
|
||
"<p>未找到要上传的文件<span id='uls_" + count + "'>[失败]</span></p>");
|
||
}
|
||
}
|
||
|
||
function uploadProgress(evt) {
|
||
if (evt.lengthComputable) {
|
||
// evt.loaded:文件上传的大小 evt.total:文件总的大小
|
||
var percentComplete = Math.round((evt.loaded) * 100 / evt.total);
|
||
// 加载进度条,同时显示信息
|
||
$("#pros").width(percentComplete + "%");
|
||
}
|
||
}
|
||
|
||
// 显示上传文件状态提示
|
||
function showUploadFileAlert(txt) {
|
||
$("#uploadFileAlert").addClass("alert");
|
||
$("#uploadFileAlert").addClass("alert-danger");
|
||
$("#uploadFileAlert").text(txt);
|
||
$("#umbutton").attr('disabled', false);
|
||
}
|
||
|
||
// 显示下载文件模态框
|
||
function showDownloadModel(fileId, fileName) {
|
||
$("#downloadModal").modal('toggle');
|
||
$("#downloadFileName").text("提示:您确认要下载文件:[" + fileName + "]么?");
|
||
$("#downloadFileBox")
|
||
.html(
|
||
"<button id='dlmbutton' type='button' class='btn btn-primary' onclick='dodownload("
|
||
+ '"' + fileId + '"' + ")'>开始下载</button>");
|
||
$("#dlmbutton").attr('disabled', false);
|
||
}
|
||
|
||
// 执行下载操作
|
||
function dodownload(fileId) {
|
||
$("#dlmbutton").attr('disabled', true);
|
||
$("#downloadFileName").text("提示:准备开始下载,请稍候...");
|
||
var t = setTimeout("$('#downloadModal').modal('hide');", 800);
|
||
window.location.href = "homeController/downloadFile.do?fileId=" + fileId;
|
||
}
|
||
|
||
// 显示删除文件模态框
|
||
function showDeleteFileModel(fileId, fileName) {
|
||
$('#deleteFileBox')
|
||
.html(
|
||
"<button id='dfmbutton' type='button' class='btn btn-danger' onclick='deleteFile("
|
||
+ '"' + fileId + '"' + ")'>删除</button>");
|
||
$("#dfmbutton").attr('disabled', false);
|
||
$('#deleteFileMessage').text("提示:确定要彻底删除文件:[" + fileName + "]么?该操作不可恢复");
|
||
$('#deleteFileModal').modal('toggle');
|
||
}
|
||
|
||
// 执行删除文件操作
|
||
function deleteFile(fileId) {
|
||
$("#dfmbutton").attr('disabled', true);
|
||
$('#deleteFileMessage').text("提示:正在删除,请稍候...");
|
||
$.ajax({
|
||
type : "POST",
|
||
dataType : "text",
|
||
data : {
|
||
fileId : fileId
|
||
},
|
||
url : "homeController/deleteFile.ajax",
|
||
success : function(result) {
|
||
if (result == "mustLogin") {
|
||
window.location.href = "login.html";
|
||
} else {
|
||
if (result == "noAuthorized") {
|
||
$('#deleteFileMessage').text("提示:您的操作未被授权,删除失败");
|
||
$("#dfmbutton").attr('disabled', false);
|
||
} else if (result == "errorParameter") {
|
||
$('#deleteFileMessage').text("提示:参数不正确,删除失败");
|
||
$("#dfmbutton").attr('disabled', false);
|
||
} else if (result == "cannotDeleteFile") {
|
||
$('#deleteFileMessage').text("提示:出现意外错误,可能未能删除文件");
|
||
$("#dfmbutton").attr('disabled', false);
|
||
} else if (result == "deleteFileSuccess") {
|
||
$('#deleteFileModal').modal('hide');
|
||
showFolderView(locationpath);
|
||
} else {
|
||
$('#deleteFileMessage').text("提示:出现意外错误,可能未能删除文件");
|
||
$("#dfmbutton").attr('disabled', false);
|
||
}
|
||
}
|
||
},
|
||
error : function() {
|
||
$('#deleteFileMessage').text("提示:出现意外错误,可能未能删除文件");
|
||
$("#dfmbutton").attr('disabled', false);
|
||
}
|
||
});
|
||
}
|
||
|
||
// 显示重命名文件模态框
|
||
function showRenameFileModel(fileId, fileName) {
|
||
$("#newFileNamealert").removeClass("alert");
|
||
$("#newFileNamealert").removeClass("alert-danger");
|
||
$("#filerenamebox").removeClass("has-error");
|
||
$("#newFileNamealert").text("");
|
||
$("#renameFileBox").html(
|
||
"<button type='button' class='btn btn-primary' onclick='renameFile("
|
||
+ '"' + fileId + '"' + ")'>修改</button>");
|
||
$("#newfilename").val(fileName);
|
||
$("#renameFileModal").modal('toggle');
|
||
}
|
||
|
||
// 修改文件名
|
||
function renameFile(fileId) {
|
||
var reg = new RegExp("[\/\|\\s\\\\\*\\<\\>" + '"' + "]+", "g");
|
||
var newFileName = $("#newfilename").val();
|
||
if (newFileName.length > 0) {
|
||
if (newFileName.length < 128) {
|
||
if (!reg.test(newFileName)) {
|
||
$.ajax({
|
||
type : "POST",
|
||
dataType : "text",
|
||
data : {
|
||
fileId : fileId,
|
||
newFileName : newFileName
|
||
},
|
||
url : "homeController/renameFile.ajax",
|
||
success : function(result) {
|
||
if (result == "mustLogin") {
|
||
window.location.href = "login.html";
|
||
} else {
|
||
if (result == "cannotRenameFile") {
|
||
showRenameFolderAlert("提示:出现意外错误,可能未能重命名文件");
|
||
} else if (result == "renameFileSuccess") {
|
||
$('#renameFileModal').modal('hide');
|
||
showFolderView(locationpath);
|
||
} else if (result == "errorParameter") {
|
||
showRenameFolderAlert("提示:参数错误,重命名失败");
|
||
} else if (result == "noAuthorized") {
|
||
showRenameFolderAlert("提示:您的操作未被授权,重命名失败");
|
||
} else {
|
||
showRenameFolderAlert("提示:出现意外错误,可能未能重命名文件");
|
||
}
|
||
}
|
||
},
|
||
error : function() {
|
||
showRenameFolderAlert("提示:出现意外错误,可能未能重命名文件");
|
||
}
|
||
});
|
||
} else {
|
||
showRenameFolderAlert("提示:文件名中不应含有:空格 引号 / \ * | < > ");
|
||
}
|
||
} else {
|
||
showRenameFolderAlert("提示:文件名称太长");
|
||
}
|
||
} else {
|
||
showRenameFolderAlert("提示:文件名不能为空");
|
||
}
|
||
}
|
||
|
||
// 显示重命名文件状态提示
|
||
function showRenameFolderAlert(txt) {
|
||
$("#newFileNamealert").addClass("alert");
|
||
$("#newFileNamealert").addClass("alert-danger");
|
||
$("#filerenamebox").addClass("has-error");
|
||
$("#newFileNamealert").text(txt);
|
||
}
|
||
|
||
// 取消上传
|
||
function abortUpload() {
|
||
if (xhr != null) {
|
||
xhr.abort();
|
||
$("#umbutton").attr('disabled', false);
|
||
$("#pros").width("0%");
|
||
$("#filecount").text("");
|
||
}
|
||
$("#uploadfile").val("");
|
||
$("#filepath").val("");
|
||
$("#uploadstatus").html("");
|
||
$("#selectcount").text("");
|
||
$('#uploadFileModal').modal('hide');
|
||
showFolderView(locationpath);
|
||
}
|
||
|
||
// 获取文件名的后缀名,以小写形式输出
|
||
function getSuffix(filename) {
|
||
var index1 = filename.lastIndexOf(".");
|
||
var index2 = filename.length;
|
||
var suffix = filename.substring(index1 + 1, index2);
|
||
return suffix.toLowerCase();
|
||
}
|
||
|
||
// 播放指定格式的视频
|
||
function playVideo(fileId) {
|
||
window.open("quickview/video.html?fileId=" + fileId);
|
||
}
|
||
|
||
// 预览PDF文档
|
||
function pdfView(fileId) {
|
||
window.open("homeController/pdfView.do?fileId=" + fileId);
|
||
}
|
||
|
||
// 查看图片
|
||
function showPicture(fileId) {
|
||
$.ajax({
|
||
url : "homeController/getPrePicture.ajax",
|
||
data : {
|
||
fileId : fileId
|
||
},
|
||
type : "POST",
|
||
dataType : "text",
|
||
success : function(result) {
|
||
if (result != "ERROR") {
|
||
var pvl = eval("(" + result + ")");
|
||
// TODO 整合viewer.js插件
|
||
var imageslist = document.createElement("ul");
|
||
$.each(pvl.pictureViewList, function(n, val) {
|
||
var image = new Image();
|
||
image.src = "fileblocks/" + val.filePath;
|
||
image.alt = val.fileName;
|
||
var imagerow = document.createElement("li");
|
||
imagerow.appendChild(image);
|
||
imageslist.appendChild(imagerow);
|
||
});
|
||
viewer = new Viewer(imageslist, {
|
||
hidden : function() {
|
||
viewer.destroy();
|
||
}
|
||
});
|
||
viewer.view(pvl.index);
|
||
viewer.show();
|
||
} else {
|
||
alert("错误:无法定位要预览的文件或该操作未被授权。");
|
||
}
|
||
},
|
||
error : function() {
|
||
alert("错误:请求失败,请刷新重试。");
|
||
}
|
||
});
|
||
}
|
||
|
||
// 选中某一行文件,如果使用Shift点击则为多选
|
||
function checkfile(fileId) {
|
||
if (!window.event.shiftKey) {
|
||
$(".filerow").removeClass("info");
|
||
$("#" + fileId).addClass("info");
|
||
} else {
|
||
if ($("#" + fileId).hasClass("info")) {
|
||
$("#" + fileId).removeClass("info");
|
||
} else {
|
||
$("#" + fileId).addClass("info");
|
||
}
|
||
}
|
||
}
|
||
|
||
var checkAll = true;
|
||
|
||
// 切换全部文件行的选中或非选中
|
||
function checkallfile() {
|
||
if (checkAll) {
|
||
$(".filerow").addClass("info");
|
||
checkAll = false;
|
||
} else {
|
||
$(".filerow").removeClass("info");
|
||
checkAll = true;
|
||
}
|
||
}
|
||
|
||
// 显示打包下载模态框
|
||
function showDownloadAllCheckedModel() {
|
||
$("#downloadAllCheckedBox").html("");
|
||
$("#downloadAllCheckedLoad").text("");
|
||
var checkedfiles = $(".info").get();
|
||
if (checkedfiles.length == 0) {
|
||
$("#downloadAllCheckedName")
|
||
.text(
|
||
"提示:您还未选择任何文件,请先选中一些文件后再执行本操作(点击某一文件行来选中单一文件;按住Shift并点击文件行选中多个文件;点击列表的表头来选中/取消选中所有文件)。");
|
||
} else {
|
||
$("#downloadAllCheckedName").text(
|
||
"提示:您确认要打包并下载这" + checkedfiles.length + "项么?");
|
||
$("#downloadAllCheckedBox")
|
||
.html(
|
||
"<button id='dclmbutton' type='button' class='btn btn-primary' onclick='downloadAllChecked()'>开始下载</button>");
|
||
$("#dclmbutton").attr('disabled', false);
|
||
}
|
||
$("#downloadAllCheckedModal").modal('toggle');
|
||
}
|
||
|
||
// 下载选中的所有文件
|
||
function downloadAllChecked() {
|
||
$("#dclmbutton").attr('disabled', true);
|
||
var checkedfiles = $(".info").get();
|
||
var downloadIdArray = new Array();
|
||
for (var i = 0; i < checkedfiles.length; i++) {
|
||
downloadIdArray[i] = checkedfiles[i].id;
|
||
}
|
||
var strIdList = JSON.stringify(downloadIdArray);
|
||
$("#downloadAllCheckedName").text(
|
||
"提示:服务器正在对选中资源进行压缩(共" + checkedfiles.length
|
||
+ "项),这可能需要一些时间(文件越大耗时越长),压缩完成将自动开始下载。");
|
||
// 计算预计耗时
|
||
$.ajax({
|
||
url:'homeController/getPackTime.ajax',
|
||
type:'POST',
|
||
data:{
|
||
strIdList:strIdList
|
||
},
|
||
dataType:'text',
|
||
success:function(result){
|
||
if(result!="0"){
|
||
var count = 0;
|
||
$("#downloadAllCheckedLoad").text("已耗时:"+count+"秒(预计耗时:"+result+")");
|
||
zipTimer=setInterval(function() {
|
||
count++;
|
||
$("#downloadAllCheckedLoad").text("已耗时:"+count+"秒(预计耗时:"+result+")");
|
||
},1000);
|
||
}else{
|
||
var count = 0;
|
||
$("#downloadAllCheckedLoad").text("已耗时:"+count+"秒");
|
||
zipTimer=setInterval(function() {
|
||
count++;
|
||
$("#downloadAllCheckedLoad").text("已耗时:"+count+"秒");
|
||
},1000);
|
||
}
|
||
},
|
||
error:function(){
|
||
$("#downloadAllCheckedLoad").text("(无法获取预计耗时)");
|
||
}
|
||
});
|
||
// 同时发送压缩下载请求
|
||
$.ajax({
|
||
type : "POST",
|
||
url : "homeController/downloadCheckedFiles.ajax",
|
||
data : {
|
||
strIdList : strIdList
|
||
},
|
||
dataType : "text",
|
||
success : function(result) {
|
||
if(zipTimer!=null){
|
||
window.clearInterval(zipTimer);
|
||
}
|
||
if (result == "ERROR") {
|
||
$("#downloadAllCheckedName")
|
||
.text("提示:压缩过程出错。无法完成压缩,请重试或告知管理员。");
|
||
} else {
|
||
$("#downloadAllCheckedLoad").text("");
|
||
$("#downloadAllCheckedName").text("提示:压缩完成!准备开始下载...");
|
||
var t = setTimeout(
|
||
"$('#downloadAllCheckedModal').modal('hide');", 800);
|
||
// POST提交全部下载请求
|
||
var temp = document.createElement("form");
|
||
temp.action = 'homeController/downloadCheckedFilesZip.do';
|
||
temp.method = "post";
|
||
temp.style.display = "none";
|
||
var sl = document.createElement("input");
|
||
sl.name = 'zipId';
|
||
sl.value = result;
|
||
temp.appendChild(sl);
|
||
document.body.appendChild(temp);
|
||
temp.submit();
|
||
}
|
||
},
|
||
error : function() {
|
||
$("#downloadAllCheckedName").text("提示:请求失败。无法完成压缩,请重试或告知管理员。");
|
||
}
|
||
});
|
||
}
|
||
|
||
// 删除选中的所有文件
|
||
function showDeleteAllCheckedModel() {
|
||
$('#deleteFileBox').html("");
|
||
var checkedfiles = $(".info").get();
|
||
$("#dfmbutton").attr('disabled', false);
|
||
if (checkedfiles.length == 0) {
|
||
$('#deleteFileMessage')
|
||
.text(
|
||
"提示:您还未选择任何文件,请先选中一些文件后再执行本操作(点击某一文件行来选中单一文件;按住Shift并点击文件行选中多个文件;点击列表的表头来选中/取消选中所有文件)。");
|
||
} else {
|
||
$('#deleteFileBox')
|
||
.html(
|
||
"<button id='dfmbutton' type='button' class='btn btn-danger' onclick='deleteAllChecked()'>全部删除</button>");
|
||
$('#deleteFileMessage').text(
|
||
"提示:确定要彻底删除这" + checkedfiles.length + "项么?该操作不可恢复");
|
||
}
|
||
$('#deleteFileModal').modal('toggle');
|
||
}
|
||
|
||
// 删除选中的所有文件
|
||
function deleteAllChecked() {
|
||
// TODO 提交全部删除请求
|
||
var checkedfiles = $(".info").get();
|
||
var downloadIdArray = new Array();
|
||
for (var i = 0; i < checkedfiles.length; i++) {
|
||
downloadIdArray[i] = checkedfiles[i].id;
|
||
}
|
||
var strIdList = JSON.stringify(downloadIdArray);
|
||
$("#dfmbutton").attr('disabled', true);
|
||
$('#deleteFileMessage').text("提示:正在删除,请稍候...");
|
||
$.ajax({
|
||
type : "POST",
|
||
dataType : "text",
|
||
data : {
|
||
strIdList : strIdList
|
||
},
|
||
url : "homeController/deleteCheckedFiles.ajax",
|
||
success : function(result) {
|
||
if (result == "mustLogin") {
|
||
window.location.href = "login.html";
|
||
} else {
|
||
if (result == "noAuthorized") {
|
||
$('#deleteFileMessage').text("提示:您的操作未被授权,删除失败");
|
||
$("#dfmbutton").attr('disabled', false);
|
||
} else if (result == "errorParameter") {
|
||
$('#deleteFileMessage').text("提示:参数不正确,未能全部删除文件");
|
||
$("#dfmbutton").attr('disabled', false);
|
||
} else if (result == "cannotDeleteFile") {
|
||
$('#deleteFileMessage').text("提示:出现意外错误,可能未能删除全部文件");
|
||
$("#dfmbutton").attr('disabled', false);
|
||
} else if (result == "deleteFileSuccess") {
|
||
$('#deleteFileModal').modal('hide');
|
||
showFolderView(locationpath);
|
||
} else {
|
||
$('#deleteFileMessage').text("提示:出现意外错误,可能未能删除全部文件");
|
||
$("#dfmbutton").attr('disabled', false);
|
||
}
|
||
}
|
||
},
|
||
error : function() {
|
||
$('#deleteFileMessage').text("提示:出现意外错误,可能未能删除全部文件");
|
||
$("#dfmbutton").attr('disabled', false);
|
||
}
|
||
});
|
||
}
|
||
|
||
// 播放音乐
|
||
function playAudio(fileId) {
|
||
$('#audioPlayerModal').modal('show');
|
||
if (ap == null) {
|
||
ap = new APlayer({
|
||
container : document.getElementById('aplayer'),
|
||
lrcType : 3,
|
||
mutex : true,
|
||
volume : 0.7,
|
||
theme:'#EDEDED',
|
||
audio : []
|
||
});
|
||
ap.on('pause', function() {
|
||
$("#playOrPause").html("<span class='glyphicon glyphicon-play' aria-hidden='true'></span>");
|
||
});
|
||
ap.on('play', function() {
|
||
$("#playOrPause").html("<span class='glyphicon glyphicon-pause' aria-hidden='true'></span>");
|
||
});
|
||
}
|
||
ap.list.clear();
|
||
$.ajax({
|
||
url:'homeController/playAudios.ajax',
|
||
data:{
|
||
fileId:fileId
|
||
},
|
||
type:'POST',
|
||
dataType:'text',
|
||
success:function(result){
|
||
var ail=eval("("+result+")");
|
||
ap.list.add(ail.as);
|
||
ap.list.switch(ail.index);
|
||
audio_play();
|
||
},
|
||
error:function(){
|
||
alert("错误:无法获取音乐列表,请稍后再试");
|
||
closeAudioPlayer();
|
||
}
|
||
});
|
||
}
|
||
|
||
// 关闭音乐播放器
|
||
function closeAudioPlayer() {
|
||
$('#audioPlayerModal').modal('hide');
|
||
ap.seek(0);
|
||
ap.pause();
|
||
}
|
||
|
||
// 切换按钮状态与
|
||
function audio_playOrPause() {
|
||
ap.toggle();
|
||
}
|
||
|
||
// 播放
|
||
function audio_play() {
|
||
ap.play();
|
||
}
|
||
|
||
// 暂停
|
||
function audio_pasue() {
|
||
ap.pause();
|
||
}
|
||
|
||
// 下一首
|
||
function audio_fw() {
|
||
ap.skipForward();
|
||
}
|
||
|
||
// 上一首
|
||
function audio_bw() {
|
||
ap.skipBack();
|
||
}
|
||
|
||
// 音量加大,每次10%
|
||
function audio_vulome_up(){
|
||
ap.volume(ap.audio.volume+0.1,true);
|
||
}
|
||
|
||
// 音量减少,每次10%
|
||
function audio_vulome_down(){
|
||
ap.volume(ap.audio.volume-0.1,true);
|
||
} |