diff --git a/README.md b/README.md index 2349ef4..283424e 100644 --- a/README.md +++ b/README.md @@ -1,21 +1,21 @@ -# kiftd——青阳网络文件系统 # -## 一款小型、便捷、开源的个人网盘系统。 ## +# kiftd——青阳网络文件传输系统 # +## 一款便捷、开源、功能完善的个人&团队&小型组织网盘服务器系统。 ## ### 快速导航 * 外网访问太慢?可以转至国内托管地址进行下载: https://gitee.com/kohgylw/kiftd * 需要从github上浏览项目?可以访问github上的项目主页: https://github.com/KOHGYLW/kiftd * 图示预览:请见本页面最下方。 -### 什么是kift? +### 什么是kiftd? * 您还在使用U盘分享软件么? > 很不幸,U盘易丢,同时又无法兼容各种平台的文件系统,在需要大规模分享时--通过U盘拷贝简直就像是接力赛一样原始又低效。 * 您还在使用免费的公用网盘么? > 时不时传来的网盘关停热潮令人担忧,而其由外人管理的特性则让您不敢轻易把隐私文件存放在上面。 * 您需要利用自己的资源搭建起一个网盘系统而苦于没有好的选择? > 使用破解软件同样无法确保安全性,闭源的特性令人担忧。同时,很多已有的网盘服务器软件性能笨重、功能简单、语言的障碍更是使用中不可忽视的问题。 -_注:kift的解压即用版即为kiftd_ +_注:kift为功能性内核的开发代号,其应用版本被称为kiftd_ -### 现在,您可以选择kift了。 +### 现在,您可以选择kiftd了。 本应用的作者 _青阳龙野@kohgylw_ 相信:不仅仅是他本人,而是还有很多人都需要在局域网内自己搭建起一个属于个人或团体的网盘服务器系统,这样就可以让所有在同一局域网内的朋友、同事或学生去访问、上传或下载自己网盘上的文件。 @@ -55,6 +55,12 @@ _注:kift的解压即用版即为kiftd_ ## News 最新讯息: +### 常规更新v1.0.2v2 +该更新为1.0.2版本基础上的性能优化更新,该版本建议所有用户升级体验。 ++ 优化了登录逻辑——现在进行登录和注销操作不会再返回到根目录了,而是保持在当前浏览路径内。这一点是为了方便用户进行频繁的登录和注销操作。 ++ 为登录操作增加了等待效果——让用户在较差的网络环境下能够获得更好的登录操作体验,防止重复操作。 ++ 优化了kiftd应用主界面的显示——使得其能够自适应各种不同的分辨率,从而解决了在高分辨率显示器下kiftd应用主界面显示过小的问题。 + ### 常规更新v1.0.2v1 该更新为1.0.2版本基础上的性能优化更新,该版本建议所有用户升级体验。 + 优化了主页设计,使其在较差的网络环境下的能够更加快速地加载。 diff --git a/kiftd-1.0.2-SNAPSHOT.jar b/kiftd-1.0.2-SNAPSHOT.jar index 40de7a2..315bab7 100644 Binary files a/kiftd-1.0.2-SNAPSHOT.jar and b/kiftd-1.0.2-SNAPSHOT.jar differ diff --git a/kift说明文档.pdf b/kift说明文档.pdf index c87b6bc..04a04b0 100644 Binary files a/kift说明文档.pdf and b/kift说明文档.pdf differ diff --git a/webContext/home.html b/webContext/home.html index 68fb442..fa80fe8 100644 --- a/webContext/home.html +++ b/webContext/home.html @@ -110,7 +110,7 @@ diff --git a/webContext/js/home.js b/webContext/js/home.js index 9267c06..62078e6 100644 --- a/webContext/js/home.js +++ b/webContext/js/home.js @@ -31,8 +31,18 @@ $(function() { window.clearInterval(zipTimer); } }); + // 关闭登陆模态框自动清空输入数据 + $('#loginModal').on('hidden.bs.modal', function(e) { + $("#accountid").val(''); + $("#accountpwd").val(''); + }); }); +//全局请求失败提示 +function doAlert(){ + alert("kiftd错误:无法连接到服务器,请检查网络连接或服务器运行状态。"); +} + // 获取服务器操作系统 function getServerOS() { $.ajax({ @@ -65,8 +75,8 @@ function showFolderView(fid) { }, url : 'homeController/getFolderView.ajax', success : function(result) { + endLoading(); if (result == "mustLogin") { - endLoading(); window.location.href = "login.html"; } else { var folderView = eval("(" + result + ")"); @@ -76,29 +86,44 @@ function showFolderView(fid) { showAccountView(folderView); showPublishTime(folderView); showFolderTable(folderView); - endLoading(); } }, error : function() { + endLoading(); + doAlert(); $("#tb").html("获取失败,请尝试刷新"); $("#publishTime").html("获取失败,请尝试刷新"); $("#parentlistbox") .html("获取失败,请尝试刷新"); - endLoading(); } }); } -// 开始加载动画 +// 开始文件视图加载动画 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(); @@ -117,6 +142,7 @@ function dologin() { $("#accountpwdbox").removeClass("has-error"); } if (check == "y") { + startLogin(); // 加密认证-获取公钥并将请求加密发送给服务器,避免中途被窃取 $.ajax({ url : 'homeController/getPublicKey.ajax', @@ -134,6 +160,7 @@ function dologin() { sendLoginInfo(encrypted); }, error : function() { + finishLogin(); $("#alertbox").addClass("alert"); $("#alertbox").addClass("alert-danger"); $("#alertbox").text("提示:登录请求失败,请检查网络或服务器运行状态"); @@ -152,6 +179,7 @@ function sendLoginInfo(encrypted) { encrypted : encrypted }, success : function(result) { + finishLogin(); $("#alertbox").removeClass("alert"); $("#alertbox").removeClass("alert-danger"); $("#alertbox").text(""); @@ -159,7 +187,8 @@ function sendLoginInfo(encrypted) { case "permitlogin": $("#accountidbox").removeClass("has-error"); $("#accountpwdbox").removeClass("has-error"); - window.location.href = "home.html"; + $('#loginModal').modal('hide'); + showFolderView(locationpath); break; case "accountnotfound": $("#accountidbox").addClass("has-error"); @@ -188,6 +217,7 @@ function sendLoginInfo(encrypted) { } }, error : function() { + finishLogin(); $("#alertbox").addClass("alert"); $("#alertbox").addClass("alert-danger"); $("#alertbox").text("提示:登录请求失败,请检查网络或服务器运行状态"); @@ -198,7 +228,20 @@ function sendLoginInfo(encrypted) { // 注销操作 function dologout() { $('#logoutModal').modal('hide'); - window.location.href = "homeController/doLogout.do"; + $.ajax({ + url:'homeController/doLogout.ajax', + type:'POST', + data:{}, + dataType:'text', + success:function(result){ + if(result=="SUCCESS"){ + showFolderView(locationpath); + } + }, + error:function(){ + doAlert(); + } + }); } // 显示当前文件夹的父级路径 diff --git a/webContext/js/home.min.js b/webContext/js/home.min.js index 4a7e24b..07ae176 100644 --- a/webContext/js/home.min.js +++ b/webContext/js/home.min.js @@ -1 +1 @@ -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")}});$('#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)}})});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("获取失败,点击重试")}})}function showFolderView(fid){startLoading();$.ajax({type:'POST',dataType:'text',data:{fid:fid},url:'homeController/getFolderView.ajax',success:function(result){if(result=="mustLogin"){endLoading();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);endLoading()}},error:function(){$("#tb").html("获取失败,请尝试刷新");$("#publishTime").html("获取失败,请尝试刷新");$("#parentlistbox").html("获取失败,请尝试刷新");endLoading()}})}function startLoading(){$('#loadingModal').modal('show')}function endLoading(){$('#loadingModal').modal('hide')}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"){$.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(){$("#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){$("#alertbox").removeClass("alert");$("#alertbox").removeClass("alert-danger");$("#alertbox").text("");switch(result){case"permitlogin":$("#accountidbox").removeClass("has-error");$("#accountpwdbox").removeClass("has-error");window.location.href="home.html";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(){$("#alertbox").addClass("alert");$("#alertbox").addClass("alert-danger");$("#alertbox").text("提示:登录请求失败,请检查网络或服务器运行状态")}})}function dologout(){$('#logoutModal').modal('hide');window.location.href="homeController/doLogout.do"}function showParentList(folderView){$("#parentlistbox").html("");var f=folderView.folder;var index=0;$.each(folderView.parentList,function(n,val){if(index<=3){$("#parentlistbox").append(" / ");index++}else{}});if(index>3){$("#parentlistbox").append("... / ")}$("#parentlistbox").append(f.folderName)}function showAccountView(folderView){$("#tb").html("");if(folderView.account!=null){$("#tb").append("")}else{$("#tb").append("")}var authList=folderView.authList;if(authList!=null){if(checkAuth(authList,"C")){$("#parentlistbox").append("")}if(checkAuth(authList,"U")){$("#parentlistbox").append("")}if(checkAuth(authList,"L")){$("#parentlistbox").append("")}if(checkAuth(authList,"D")){$("#parentlistbox").append("")}}}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("--------")}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=""+f.folderCreationDate+"--"+f.folderCreator+"";if(aD){folderRow=folderRow+""}if(aR){folderRow=folderRow+""}if(!aR&&!aD){folderRow=folderRow+"--"}folderRow=folderRow+"";$("#foldertable").append(folderRow)});$.each(folderView.fileList,function(n,fi){var fileRow=""+fi.fileName+""+fi.fileCreationDate+""+fi.fileSize+"MB"+fi.fileCreator+"";if(aL){fileRow=fileRow+"";if(getSuffix(fi.fileName)=="mp4"||getSuffix(fi.fileName)=="webm"){fileRow=fileRow+""}else if(getSuffix(fi.fileName)=="pdf"){fileRow=fileRow+""}else if(getSuffix(fi.fileName)=="jpg"||getSuffix(fi.fileName)=="jpeg"||getSuffix(fi.fileName)=="gif"||getSuffix(fi.fileName)=="png"||getSuffix(fi.fileName)=="bmp"){fileRow=fileRow+""}else if(getSuffix(fi.fileName)=="mp3"||getSuffix(fi.fileName)=="wav"||getSuffix(fi.fileName)=="ogg"){fileRow=fileRow+""}}if(aD){fileRow=fileRow+""}if(aR){fileRow=fileRow+""}if(!aR&&!aD&&!aL){fileRow=fileRow+"--"}fileRow=fileRow+"";$("#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("");$("#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("");$("#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')}function checkpath(){$('#uploadfile').click()}function showfilepath(){var fs=$("#uploadfile").get(0).files;var filename="";for(var i=0;i1){$("#filecount").text("("+count+"/"+fcount+")")}$("#uploadstatus").prepend("

"+fname+"[正在上传...]

");xhr=new XMLHttpRequest();var fd=new FormData();fd.append("file",uploadfile);fd.append("folderId",locationpath);xhr.open("POST","homeController/douploadFile.ajax",true);xhr.upload.addEventListener("progress",uploadProgress,false);xhr.send(fd);xhr.onloadend=function(){if(xhr.status===200){var result=xhr.responseText;if(result=="uploadsuccess"){$("#uls_"+count).text("[已完成]");if(count未找到要上传的文件[失败]

")}}function uploadProgress(evt){if(evt.lengthComputable){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("");$("#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("");$("#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("");$("#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)}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+")");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("错误:请求失败,请刷新重试。")}})}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("");$("#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全部删除");$('#deleteFileMessage').text("提示:确定要彻底删除这"+checkedfiles.length+"项么?该操作不可恢复")}$('#deleteFileModal').modal('toggle')}function deleteAllChecked(){var checkedfiles=$(".info").get();var downloadIdArray=new Array();for(var i=0;i