diff --git a/README.md b/README.md index dbcc30d..43f8e54 100755 --- a/README.md +++ b/README.md @@ -77,13 +77,19 @@ _注:kift为该功能的开发名称,其实际成果命名为kiftd。_ > 提示:当您更新版本后,请手动清除浏览器的缓存,之后刷新网盘主页以确保数据文件保持最新!否则可能导致新版页面功能无法使用。 -### 常规更新v1.0.28 -_本次更新为维护性的更新,修复一些已经发现的问题并优化使用体验,推荐所有用户升级。_ -+ 修正了部分启动命令提示信息描述不正确的问题。 -+ 优化了系统运行时的终端输出内容,避免输出信息过于杂乱影响命令操作。 -+ 完善了命令模式下“文件管理”功能,进一步优化其命令检验和提示机制,方便使用者进行日常操作。 -+ 进一步完善了文件系统的数据效验机制,更好地保证其“整洁”、稳定和健壮。 -+ 其他一些细节优化。 +### 新版本v1.0.29 +_本次更新加入了新功能,进一步增强kiftd的使用体验,推荐所有用户升级。_ ++ 新增了“复制”功能——这是一项众多用户期待已久的功能,现已正式加入。您可以通过“复制-粘贴”操作来快速复制网盘中的文件和文件夹,并且无需担心该操作会占用额外的存储空间。 ++ 进一步完善了全局搜索功能——全局搜索完成后,您可以在“详细信息”窗口中查看本次搜索的统计信息,包括搜索到的文件和文件夹的数量。 ++ 进一步完善了“永久资源链接”功能中的“复制链接”功能——现在,复制后的链接格式将更加规范、更容易被识别。 ++ 进一步完善了音乐播放功能——解决了在某些情况下播放器无法正常显示列表中第一首歌的歌词的问题。 ++ 修复了在非x86环境下使用自定义ffmpeg视频解码引擎后可能会导致“在线播放”功能出现异常的问题。 ++ 修复了当用户使用上传文件夹功能上传Unix/Linux系统中的隐藏文件夹(以“.”开头)时会导致现操作意外中断的问题,并且该功能现在能够正确上传这些隐藏文件夹了。 ++ 修复了上传文件和上传文件夹功能在取消时可能会引发错误操作的问题。 ++ 修复了“自由注册新账户”功能中存在的一个安全性漏洞。 ++ 修复了上传文件夹功能在Safari浏览器中无法正常使用的问题。 ++ 修复了一些情况下快捷键会失效或出现功能异常的问题。 ++ 其他一些安全性和稳定性优化。 > 需要查看更多版本历史信息?请访问: https://kohgylw.gitee.io/News.html diff --git a/kiftd-1.0.28-RELEASE.jar b/kiftd-1.0.29-RELEASE.jar similarity index 50% rename from kiftd-1.0.28-RELEASE.jar rename to kiftd-1.0.29-RELEASE.jar index 25dadd3..4ab58da 100644 Binary files a/kiftd-1.0.28-RELEASE.jar and b/kiftd-1.0.29-RELEASE.jar differ diff --git a/kiftd说明文档.pdf b/kiftd说明文档.pdf index e57449e..faf4ad3 100644 Binary files a/kiftd说明文档.pdf and b/kiftd说明文档.pdf differ diff --git a/mybatisResource/mapperXML/FolderMapper.xml b/mybatisResource/mapperXML/FolderMapper.xml index 4b1da21..c7f33bd 100644 --- a/mybatisResource/mapperXML/FolderMapper.xml +++ b/mybatisResource/mapperXML/FolderMapper.xml @@ -74,4 +74,15 @@ #{folderId,jdbcType=VARCHAR} + + UPDATE FOLDER SET folder_name + = + #{folderName,jdbcType=VARCHAR},folder_creation_date = + #{folderCreationDate,jdbcType=VARCHAR},folder_creator = + #{folderCreator,jdbcType=VARCHAR},folder_parent = + #{folderParent,jdbcType=VARCHAR},folder_constraint = + #{folderConstraint,jdbcType=INTEGER} WHERE folder_id = + #{folderId,jdbcType=VARCHAR} + + \ No newline at end of file diff --git a/mybatisResource/mapperXML/NodeMapper.xml b/mybatisResource/mapperXML/NodeMapper.xml index a0f9ecb..0ac9c62 100644 --- a/mybatisResource/mapperXML/NodeMapper.xml +++ b/mybatisResource/mapperXML/NodeMapper.xml @@ -73,7 +73,14 @@ + + + onchange="getInputImport()" multiple="multiple" + webkitdirectory="true">
上传进度:
@@ -535,7 +545,7 @@
@@ -599,7 +609,7 @@ @@ -688,7 +698,7 @@ diff --git a/webContext/js/home.js b/webContext/js/home.js index 559e258..99322e8 100644 --- a/webContext/js/home.js +++ b/webContext/js/home.js @@ -12,11 +12,15 @@ var originFolderView;// 保存原始的文件视图对象 var fs;// 选中的要上传的文件列表 var ifs;// 选中的要上传的文件夹内的文件列表 var checkedMovefiles;// 移动文件的存储列表 +var isCopy;// 移动文件是否为复制模式,如果是,则“复制”,否则“剪切” +var repeMap;// 移动文件时,保存用户对每个冲突项目的处理操作 +var strMoveOptMap;// 移动(或复制)操作导致文件名冲突的项目 +var mRepeSize;// 移动(或复制)操作导致文件名冲突的项目数 var constraintLevel;// 当前文件夹限制等级 var account;// 用户账户 -var isUpLoading=false;// 是否正在执行上传操作 -var isImporting=false;// 是否正在执行上传文件夹操作 -var isChangingPassword=false;// 是否正在执行修改密码操作 +var isUpLoading = false;// 是否正在执行上传操作 +var isImporting = false;// 是否正在执行上传文件夹操作 +var isChangingPassword = false;// 是否正在执行修改密码操作 var importFolderName;// 上传文件夹时保存文件夹名称 var xhr;// 文件或文件夹上传请求对象 var viewerPageSize = 15; // 显示图片页的最大长度,注意最好是奇数 @@ -24,10 +28,10 @@ var viewer; // viewer对象,用于预览图片功能 var viewerPageIndex; // 分页预览图片——已浏览图片页号 var viewerTotal; // 分页预览图片——总页码数 var pvl;// 预览图片列表的JSON格式对象 -var checkFilesTip="提示:您还未选择任何文件,请先选中一些文件后再执行本操作:

单击:选中某一文件

Shift+单击:选中多个文件

Shift+双击:选中连续的文件

Shitf+A:选中/取消选中所有文件";// 选取文件提示 +var checkFilesTip = "提示:您还未选择任何文件,请先选中一些文件后再执行本操作:

单击:选中某一文件

Shift+单击:选中多个文件

Shift+双击:选中连续的文件

Shitf+A:选中/取消选中所有文件";// 选取文件提示 var winHeight;// 窗口高度 var pingInt;// 定时应答器的定时装置 -var noticeInited=false;// 公告信息的md5标识 +var noticeInited = false;// 公告信息的md5标识 var loadingComplete;// 判断文件夹视图是否加载完成 var totalFoldersOffset;// 记录文件夹原始的查询偏移量,便于计算加载进度 var totalFilesOffset;// 记录文件原始的查询偏移量,便于计算加载进度 @@ -37,20 +41,20 @@ var loadingFolderView;// 是否正在加载文件夹视图的判断,避免重 // 界面功能方法定义 // 页面初始化 $(function() { - window.onresize = function(){ + window.onresize = function() { changeFilesTableStyle(); updateWinHeight(); - } + } changeFilesTableStyle(); getServerOS();// 得到服务器操作系统信息 subscribeNotice();// 加载公告MD5,以判断是否需要显示最新公告 // 查询是否存在记忆路径,若有,则直接显示记忆路径的内容,否则显示ROOT根路径 var arr = document.cookie.match(new RegExp("(^| )folder_id=([^;]*)(;|$)")); - if (arr != null){ - showFolderView(unescape(arr[2]));// 显示记忆路径页面视图 - }else{ - showFolderView("root");// 显示根节点页面视图 - } + if (arr != null) { + showFolderView(unescape(arr[2]));// 显示记忆路径页面视图 + } else { + showFolderView("root");// 显示根节点页面视图 + } // 点击空白处取消选中文件(已尝试兼容火狐,请期待用户反馈,如不好使再改) $(document).click(function(e) { var filetable = $("#filetable")[0]; @@ -68,20 +72,20 @@ $(function() { ap.seek(0); ap.pause(); } - if(pingInt != null){ + if (pingInt != null) { window.clearInterval(pingInt); pingInt = null; } }); // 关闭打包下载模态框自动停止计时 $('#downloadAllCheckedModal').on('hidden.bs.modal', function(e) { - if(zipTimer!=null){ + if (zipTimer != null) { window.clearInterval(zipTimer); } }); // 关闭登陆模态框自动清空输入数据 $('#loginModal').on('hidden.bs.modal', function(e) { - if($("#dologinButton").attr('disabled') !== 'disabled'){ + if ($("#dologinButton").attr('disabled') !== 'disabled') { $("#accountid").val(''); $("#accountpwd").val(''); } @@ -103,12 +107,12 @@ $(function() { }); $("body").keypress(function(e) { var keyCode = e.keyCode ? e.keyCode : e.which ? e.which : e.charCode; - if(keyCode == 13) { - if("sreachKeyWordIn"===document.activeElement.id){ + if (keyCode == 13) { + if ("sreachKeyWordIn" === document.activeElement.id) { doSearchFile(); - }else{ - var g=$(".shown .btn-primary"); - if(g.get(0)!=null){ + } else { + var g = $(".shown .btn-primary"); + if (g.get(0) != null && g.prop("disabled") == false) { g.click(); } } @@ -120,194 +124,231 @@ $(function() { $("#accountid").focus(); }); // 开启新建文件夹框自动初始化状态 - $('#newFolderModal').on('show.bs.modal', function(e) { - $("#folderalert").removeClass("alert"); - $("#folderalert").removeClass("alert-danger"); - $("#foldernamebox").removeClass("has-error"); - $("#folderalert").text(""); - $("#foldername").val(""); - $("#foldertypelist").html(""); - if(account!=null){ - $("#foldername").attr("folderConstraintLevel",constraintLevel+""); - $("#newfoldertype").text(folderTypes[constraintLevel]); - for(var i=constraintLevel;i"+folderTypes[i]+""); - } - }else{ - $("#foldertypelist").append("
  • "+folderTypes[0]+"
  • "); - } - }); + $('#newFolderModal') + .on( + 'show.bs.modal', + function(e) { + $("#folderalert").removeClass("alert"); + $("#folderalert").removeClass("alert-danger"); + $("#foldernamebox").removeClass("has-error"); + $("#folderalert").text(""); + $("#foldername").val(""); + $("#foldertypelist").html(""); + if (account != null) { + $("#foldername").attr("folderConstraintLevel", + constraintLevel + ""); + $("#newfoldertype").text( + folderTypes[constraintLevel]); + for (var i = constraintLevel; i < folderTypes.length; i++) { + $("#foldertypelist").append( + "
  • " + folderTypes[i] + + "
  • "); + } + } else { + $("#foldertypelist").append( + "
  • " + + folderTypes[0] + "
  • "); + } + }); // 开启新建文件夹模态框自动聚焦文件名输入框 $('#newFolderModal').on('shown.bs.modal', function(e) { $("#foldername").focus(); }); // 关闭上传模态框时自动提示如何查看上传进度 $('#uploadFileModal,#importFolderModal').on('hidden.bs.modal', function(e) { - if(isUpLoading || isImporting){ + if (isUpLoading || isImporting) { $('#operationMenuBox').attr("data-placement", "top"); $('#operationMenuBox').attr("data-trigger", "focus"); $('#operationMenuBox').attr("data-title", "上传中"); $('#operationMenuBox').attr("data-content", "您可以重新打开上传窗口查看上传进度。"); $('#operationMenuBox').popover(); $('#operationMenuBox').popover('show'); - // 2秒后消失提示框 - var closeUploadTips = setTimeout( - function () { - $('#operationMenuBox').attr("data-title", ""); - $('#operationMenuBox').attr("data-content", ""); - $('#operationMenuBox').popover('destroy'); - }, 2000 - ); + // 2秒后消失提示框 + var closeUploadTips = setTimeout(function() { + $('#operationMenuBox').attr("data-title", ""); + $('#operationMenuBox').attr("data-content", ""); + $('#operationMenuBox').popover('destroy'); + }, 2000); } }); // 开启编辑文件夹框自动初始化状态 - $('#renameFolderModal').on('show.bs.modal', function(e) { - $("#editfolderalert").removeClass("alert"); - $("#editfolderalert").removeClass("alert-danger"); - $("#folderrenamebox").removeClass("has-error"); - $("#editfolderalert").text(""); - $("#editfoldertypelist").html(""); - if(account!=null){ - for(var i=constraintLevel;i"+folderTypes[i]+""); - } - }else{ - $("#editfoldertypelist").append("
  • "+folderTypes[0]+"
  • "); - } - }); + $('#renameFolderModal') + .on( + 'show.bs.modal', + function(e) { + $("#editfolderalert").removeClass("alert"); + $("#editfolderalert").removeClass("alert-danger"); + $("#folderrenamebox").removeClass("has-error"); + $("#editfolderalert").text(""); + $("#editfoldertypelist").html(""); + if (account != null) { + for (var i = constraintLevel; i < folderTypes.length; i++) { + $("#editfoldertypelist").append( + "
  • " + folderTypes[i] + + "
  • "); + } + } else { + $("#editfoldertypelist").append( + "
  • " + + folderTypes[0] + "
  • "); + } + }); // 响应拖动上传文件 document.ondragover = function(e) { - if(e.preventDefault){ + if (e.preventDefault) { e.preventDefault(); e.stopPropagation(); - }else{ - window.event.cancelBubble=true; - window.event.returnValue=false; + } else { + window.event.cancelBubble = true; + window.event.returnValue = false; } } document.ondrop = function(e) { - if(e.preventDefault){ + if (e.preventDefault) { e.preventDefault(); e.stopPropagation(); - }else{ - window.event.cancelBubble=true; - window.event.returnValue=false; + } else { + window.event.cancelBubble = true; + window.event.returnValue = false; } if (folderView.authList != null) { if (checkAuth(folderView.authList, "U")) {// 如果有上传权限且未进行其他上传 - if(isUpLoading || isImporting){ - alert("提示:您正在执行另一项上传任务,请在上传窗口关闭后再试。"); - }else{ - if (!(window.ActiveXObject||"ActiveXObject" in window)){// 判断是否为IE + if (isUpLoading || isImporting) { + alert("提示:您正在执行另一项上传任务,请在上传完成后再试。"); + } else { + if (!(window.ActiveXObject || "ActiveXObject" in window)) {// 判断是否为IE var dt; - if(e.dataTransfer != null){ + if (e.dataTransfer != null) { dt = e.dataTransfer; // 获取到拖入上传的文件对象 - }else{ + } else { dt = window.event.dataTransfer; } - var testFile=true; - if(dt.items!==undefined){ - for(var i=0;i 0) { + $('#stickFileButtonLi a').click(); + } + break; + default: + return true; + } + return false; } - break; - case 86: - if($("#cutSignTx").hasClass("cuted")&&checkedMovefiles!==undefined){ - $('#cutFileButtonLi a').click(); - } - break; - - default: - return true; } - return false; - } - } - }); + }); // 关闭移动提示框自动取消移动 $('#moveFilesModal').on('hidden.bs.modal', function(e) { - checkedMovefiles=undefined; - $("#cutSignTx").html("剪切 +C"); - $("#cutSignTx").removeClass("cuted"); + checkedMovefiles = undefined; + $("#copyFileButtonLi").removeClass("hidden"); + $("#copyFileButtonLi").addClass("show"); + $("#cutFileButtonLi").removeClass("hidden"); + $("#cutFileButtonLi").addClass("show"); + $("#stickFileButtonLi").removeClass("show"); + $("#stickFileButtonLi").addClass("hidden"); + $("#stickFilesCount").text(""); $('#moveFilesBox').html(""); }); // IE内核浏览器内的startsWith方法的自实现 - if(typeof String.prototype.startsWith != 'function') { + if (typeof String.prototype.startsWith != 'function') { String.prototype.startsWith = function(prefix) { return this.slice(0, prefix.length) === prefix; }; } - if(typeof String.prototype.endsWith != 'function') { + if (typeof String.prototype.endsWith != 'function') { String.prototype.endsWith = function(suffix) { return this.indexOf(suffix, this.length - suffix.length) !== -1; }; @@ -319,94 +360,119 @@ $(function() { // 获取窗口高度 updateWinHeight(); // 根据屏幕下拉程度自动显示、隐藏“返回顶部”按钮 - $(window).scroll(function(){ - if($(this).scrollTop() > 2*winHeight){ + $(window).scroll(function() { + if ($(this).scrollTop() > 2 * winHeight) { $('#gobacktotopbox').removeClass("hidden"); - }else{ + } else { $('#gobacktotopbox').addClass("hidden"); } }); - + // 打开查看下载链接时,向后台生成/获取下载链接 - $('#downloadURLCollapse').on('shown.bs.collapse', function () { + $('#downloadURLCollapse').on('shown.bs.collapse', function() { getDownloadURL(); }); - + // 开启修改密码模态框时初始化状态 - $('#changePasswordModal').on('show.bs.modal', function(e) { - if(!isChangingPassword){ - $("#changepassword_oldpwd,#changepassword_newpwd,#changepassword_reqnewpwd,#changePasswordButton,#changepassword_vercode").attr('disabled', false); - $("#changepassword_oldepwdbox,#changepassword_newpwdbox,#changepassword_reqnewpwdbox").removeClass("has-error"); - $("#changepassword_oldpwd,#changepassword_newpwd,#changepassword_reqnewpwd").val(""); - $("#changepasswordalertbox,#changepassword_vccodebox").hide(); - } - }); + $('#changePasswordModal') + .on( + 'show.bs.modal', + function(e) { + if (!isChangingPassword) { + $( + "#changepassword_oldpwd,#changepassword_newpwd,#changepassword_reqnewpwd,#changePasswordButton,#changepassword_vercode") + .attr('disabled', false); + $( + "#changepassword_oldepwdbox,#changepassword_newpwdbox,#changepassword_reqnewpwdbox") + .removeClass("has-error"); + $( + "#changepassword_oldpwd,#changepassword_newpwd,#changepassword_reqnewpwd") + .val(""); + $( + "#changepasswordalertbox,#changepassword_vccodebox") + .hide(); + } + }); // 并自动聚焦旧密码输入框 $('#changePasswordModal').on('shown.bs.modal', function(e) { - if(!isChangingPassword){ + if (!isChangingPassword) { $("#changepassword_oldpwd").focus(); } }); // 开启公告信息模态框前自动判断是否已经勾选“30天不再显示” - $('#noticeModal').on('show.bs.modal', function(e) { - var cookieMd530 = document.cookie.match(new RegExp("(^| )notice_md5_30=([^;]*)(;|$)")); - if(cookieMd530){ - $("#dontShowSomeNoticeAt30Day").attr("checked","checked"); - }else{ - $("#dontShowSomeNoticeAt30Day").attr("checked",false); - } - }); - // 关闭公告信息模态框后根据是否已经勾选“30天不再显示”设置cookie - $('#noticeModal').on('hidden.bs.modal', function(e) { - var noticed = new Date(); - if($("#dontShowSomeNoticeAt30Day").prop("checked")){ - noticed.setTime(noticed.getTime() + (30*24*60*60*1000)); - var cookieMd5 = document.cookie.match(new RegExp("(^| )notice_md5=([^;]*)(;|$)")); - if(cookieMd5){ - document.cookie = "notice_md5_30=" + escape(unescape(cookieMd5[2])) + ";expires=" + noticed.toUTCString(); - }else{ - cookieMd5 = document.cookie.match(new RegExp("(^| )notice_md5_30=([^;]*)(;|$)")); - if(cookieMd5){ - document.cookie = "notice_md5_30=" + escape(unescape(cookieMd5[2])) + ";expires=" + noticed.toUTCString(); + $('#noticeModal').on( + 'show.bs.modal', + function(e) { + var cookieMd530 = document.cookie.match(new RegExp( + "(^| )notice_md5_30=([^;]*)(;|$)")); + if (cookieMd530) { + $("#dontShowSomeNoticeAt30Day").attr("checked", "checked"); + } else { + $("#dontShowSomeNoticeAt30Day").attr("checked", false); } - } - }else{ - noticed.setTime(0); - var cookieMd530 = document.cookie.match(new RegExp("(^| )notice_md5_30=([^;]*)(;|$)")); - if(cookieMd530){ - document.cookie = "notice_md5_30=0;expires=" + noticed.toUTCString(); - } - } - }); + }); + // 关闭公告信息模态框后根据是否已经勾选“30天不再显示”设置cookie + $('#noticeModal').on( + 'hidden.bs.modal', + function(e) { + var noticed = new Date(); + if ($("#dontShowSomeNoticeAt30Day").prop("checked")) { + noticed.setTime(noticed.getTime() + + (30 * 24 * 60 * 60 * 1000)); + var cookieMd5 = document.cookie.match(new RegExp( + "(^| )notice_md5=([^;]*)(;|$)")); + if (cookieMd5) { + document.cookie = "notice_md5_30=" + + escape(unescape(cookieMd5[2])) + ";expires=" + + noticed.toUTCString(); + } else { + cookieMd5 = document.cookie.match(new RegExp( + "(^| )notice_md5_30=([^;]*)(;|$)")); + if (cookieMd5) { + document.cookie = "notice_md5_30=" + + escape(unescape(cookieMd5[2])) + + ";expires=" + noticed.toUTCString(); + } + } + } else { + noticed.setTime(0); + var cookieMd530 = document.cookie.match(new RegExp( + "(^| )notice_md5_30=([^;]*)(;|$)")); + if (cookieMd530) { + document.cookie = "notice_md5_30=0;expires=" + + noticed.toUTCString(); + } + } + }); }); // 更新页面高度 -function updateWinHeight(){ - if (window.innerHeight){ +function updateWinHeight() { + if (window.innerHeight) { winHeight = window.innerHeight; - }else if ((document.body) && (document.body.clientHeight)){ + } else if ((document.body) && (document.body.clientHeight)) { winHeight = document.body.clientHeight; } } // 根据屏幕大小增删表格显示内容 -function changeFilesTableStyle(){ +function changeFilesTableStyle() { var win = $(window).width(); - if(win < 768){ - $('#filetableheadera').addClass('filetableheaderstyle'); - $('#filetableheadera').attr('data-toggle','collapse'); - $('#filetableheadera').attr('data-target','#filetableoptmenu'); - $('#mdropdownicon').html('(点击展开/折叠菜单)'); - }else{ - $('#filetableheadera').removeClass('filetableheaderstyle'); - $('#filetableheadera').attr('data-toggle','modal'); - $('#filetableheadera').attr('data-target','#folderInfoModal'); - $('#mdropdownicon').html(''); - } + if (win < 768) { + $('#filetableheadera').addClass('filetableheaderstyle'); + $('#filetableheadera').attr('data-toggle', 'collapse'); + $('#filetableheadera').attr('data-target', '#filetableoptmenu'); + $('#mdropdownicon').html('(点击展开/折叠菜单)'); + } else { + $('#filetableheadera').removeClass('filetableheaderstyle'); + $('#filetableheadera').attr('data-toggle', 'modal'); + $('#filetableheadera').attr('data-target', '#folderInfoModal'); + $('#mdropdownicon').html(''); + } } // 全局请求失败提示 -function doAlert(){ +function doAlert() { alert("错误:无法连接到kiftd服务器,请检查您的网络连接或查看服务器运行状态。"); } @@ -431,13 +497,13 @@ function getServerOS() { } // 获取实时文件夹视图 -function showFolderView(fid,targetId) { +function showFolderView(fid, targetId) { // 判断是否正在进行另一个相同的请求,如果是则取消本次操作 - if(loadingFolderView){ + if (loadingFolderView) { return; } startLoading(); - if(remainingLoadingRequest){ + if (remainingLoadingRequest) { remainingLoadingRequest.abort(); } $.ajax({ @@ -454,8 +520,10 @@ function showFolderView(fid,targetId) { // 获取错误直接弹出提示框并将相关内容填为提示信息 doAlert(); $("#tb").html("获取失败,请尝试刷新"); - $("#publishTime").html("获取失败,请尝试刷新"); - $("#parentlistbox").html("获取失败,请尝试刷新"); + $("#publishTime").html( + "获取失败,请尝试刷新"); + $("#parentlistbox").html( + "获取失败,请尝试刷新"); break; case "NOT_FOUND": case "notAccess": @@ -463,7 +531,7 @@ function showFolderView(fid,targetId) { document.cookie = "folder_id=" + escape("root"); case "mustLogin": // 如果服务器说必须登录,那么也跳转至根路径下(从而进入登录页面) - window.location.href="/"; + window.location.href = "/"; break; default: // 上述情况都不是,则返回的应该是文件夹视图数据,接下来对其进行解析 @@ -475,10 +543,10 @@ function showFolderView(fid,targetId) { // 记录上级目录ID,方便返回上一级 parentpath = folderView.folder.folderParent; // 记录本文件夹的访问级别,便于在新建文件夹时判断应该从哪一个级别开始供用户选择 - constraintLevel=folderView.folder.folderConstraint; - screenedFoldrView=null; + constraintLevel = folderView.folder.folderConstraint; + screenedFoldrView = null; // 备份一份原始的文件夹视图数据,同时也记录下原始的查询偏移量 - originFolderView=$.extend(true, {}, folderView); + originFolderView = $.extend(true, {}, folderView); totalFoldersOffset = folderView.foldersOffset; totalFilesOffset = folderView.filesOffset; // 搜索输入框重置 @@ -496,15 +564,17 @@ function showFolderView(fid,targetId) { // 更新文件夹信息至信息模态框 $("#fim_name").text(folderView.folder.folderName); $("#fim_creator").text(folderView.folder.folderCreator); - $("#fim_folderCreationDate").text(folderView.folder.folderCreationDate); + $("#fim_folderCreationDate").text( + folderView.folder.folderCreationDate); $("#fim_folderId").text(folderView.folder.folderId); updateTheFolderInfo(); // 判断是否还需要加载后续数据 - if(folderView.foldersOffset > folderView.selectStep || folderView.filesOffset > folderView.selectStep){ + if (folderView.foldersOffset > folderView.selectStep + || folderView.filesOffset > folderView.selectStep) { // 如果文件夹偏移量或文件偏移量大于查询步进长度,则说明一定还有后续数据需要加载,那么继续加载后续数据 showLoadingRemaininngBox(); loadingRemainingFolderView(targetId); - }else{ + } else { // 否则,说明文件夹视图加载完成,进行定位工作即可 hiddenLoadingRemaininngBox(); doFixedRow(targetId); @@ -517,36 +587,40 @@ function showFolderView(fid,targetId) { doAlert(); $("#tb").html("获取失败,请尝试刷新"); $("#publishTime").html("获取失败,请尝试刷新"); - $("#parentlistbox").html("获取失败,请尝试刷新"); + $("#parentlistbox") + .html("获取失败,请尝试刷新"); } }); } // 开始文件视图加载动画 -function startLoading(){ +function startLoading() { loadingFolderView = true; - $('#loadingModal').modal({backdrop:'static', keyboard: false}); + $('#loadingModal').modal({ + backdrop : 'static', + keyboard : false + }); $('#loadingModal').modal('show'); $('#loadingModal').addClass("shown"); } // 结束文件视图加载动画 -function endLoading(){ +function endLoading() { loadingFolderView = false; $('#loadingModal').modal('hide'); $('#loadingModal').removeClass("shown"); } // 开始登陆加载动画 -function startLogin(){ - $("#accountid").attr('disabled','disabled'); - $("#accountpwd").attr('disabled','disabled'); - $("#dologinButton").attr('disabled','disabled'); - $("#vercode").attr('disabled','disabled'); +function startLogin() { + $("#accountid").attr('disabled', 'disabled'); + $("#accountpwd").attr('disabled', 'disabled'); + $("#dologinButton").attr('disabled', 'disabled'); + $("#vercode").attr('disabled', 'disabled'); } // 结束登陆加载动画 -function finishLogin(){ +function finishLogin() { $("#accountid").removeAttr('disabled'); $("#accountpwd").removeAttr('disabled'); $("#dologinButton").removeAttr('disabled'); @@ -579,7 +653,7 @@ function dologin() { data : {}, dataType : 'text', success : function(result) { - var publicKeyInfo=eval("("+result+")"); + var publicKeyInfo = eval("(" + result + ")"); var date = new Date();// 这个是客户浏览器上的当前时间 var loginInfo = '{accountId:"' + accountId + '",accountPwd:"' + accountPwd + '",time:"' + publicKeyInfo.time + '"}'; @@ -600,88 +674,95 @@ function dologin() { // 发送加密文本 function sendLoginInfo(encrypted) { - $.ajax({ - type : "POST", - dataType : "text", - url : "homeController/doLogin.ajax", - data : { - encrypted : encrypted, - vercode : $("#vercode").val() - }, - success : function(result) { - finishLogin(); - $("#alertbox").removeClass("alert"); - $("#alertbox").removeClass("alert-danger"); - $("#alertbox").text(""); - $("#vercodebox").html(""); - $("#vercodebox").removeClass("show"); - $("#vercodebox").addClass("hidden"); - 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 "needsubmitvercode": - $("#vercodebox").html("
    "); - $("#vercodebox").removeClass("hidden"); - $("#vercodebox").addClass("show"); - 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("提示:登录请求失败,请检查网络或服务器运行状态"); - } - }); + $ + .ajax({ + type : "POST", + dataType : "text", + url : "homeController/doLogin.ajax", + data : { + encrypted : encrypted, + vercode : $("#vercode").val() + }, + success : function(result) { + finishLogin(); + $("#alertbox").removeClass("alert"); + $("#alertbox").removeClass("alert-danger"); + $("#alertbox").text(""); + $("#vercodebox").html(""); + $("#vercodebox").removeClass("show"); + $("#vercodebox").addClass("hidden"); + 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 "needsubmitvercode": + $("#vercodebox") + .html( + "
    "); + $("#vercodebox").removeClass("hidden"); + $("#vercodebox").addClass("show"); + 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 getNewVerCode(){ - $("#showvercode").attr("src","homeController/getNewVerCode.do?s="+(new Date()).getTime()); +function getNewVerCode() { + $("#showvercode").attr("src", + "homeController/getNewVerCode.do?s=" + (new Date()).getTime()); } // 注销操作 function dologout() { $('#logoutModal').modal('hide'); $.ajax({ - url:'homeController/doLogout.ajax', - type:'POST', - data:{}, - dataType:'text', - success:function(result){ - if(result=="SUCCESS"){ + url : 'homeController/doLogout.ajax', + type : 'POST', + data : {}, + dataType : 'text', + success : function(result) { + if (result == "SUCCESS") { showFolderView(locationpath); } }, - error:function(){ + error : function() { doAlert(); } }); @@ -691,27 +772,30 @@ function dologout() { function showParentList(folderView) { $("#parentFolderList").html(""); var f = folderView.folder; - if(folderView.parentList.length>0){ + if (folderView.parentList.length > 0) { $.each(folderView.parentList, function(n, val) { - $("#parentFolderList").append("
  • "+val.folderName+"
  • "); + $("#parentFolderList").append( + "
  • " + val.folderName + + "
  • "); }); - }else{ + } else { $("#parentFolderList").html("
  • "); } - if(f.folderName.length>6){ - $("#currentFolderName").text(f.folderName.substr(0,6)+"..."); - }else{ + if (f.folderName.length > 6) { + $("#currentFolderName").text(f.folderName.substr(0, 6) + "..."); + } else { $("#currentFolderName").text(f.folderName); } - if(f.folderName == "ROOT"){ + if (f.folderName == "ROOT") { $("#folderIconSpan").removeClass("glyphicon-folder-close"); $("#folderIconSpan").removeClass("glyphicon-search"); $("#folderIconSpan").addClass("glyphicon-home"); - }else if(folderView.keyWorld != null){ + } else if (folderView.keyWorld != null) { $("#folderIconSpan").removeClass("glyphicon-folder-close"); $("#folderIconSpan").removeClass("glyphicon-home"); $("#folderIconSpan").addClass("glyphicon-search"); - }else{ + } else { $("#folderIconSpan").removeClass("glyphicon-home"); $("#folderIconSpan").removeClass("glyphicon-search"); $("#folderIconSpan").addClass("glyphicon-folder-close"); @@ -721,7 +805,7 @@ function showParentList(folderView) { // 显示用户视图,包括文件列表、登录信息、操作权限接口等 function showAccountView(folderView) { $("#tb,#tb2").html(""); - account=folderView.account; + account = folderView.account; if (folderView.account != null) { // 说明已经登录,显示注销按钮 $("#tb") @@ -734,13 +818,13 @@ function showAccountView(folderView) { ""); - if(folderView.allowChangePassword == 'true'){ + if (folderView.allowChangePassword == 'true') { $("#tb") - .append( - " "); + .append( + " "); $("#tb2") - .append( - " "); + .append( + " "); } } else { // 说明用户未登录,显示登录按钮 @@ -750,50 +834,74 @@ function showAccountView(folderView) { $("#tb2") .append( ""); - if(folderView.allowSignUp == 'true'){ + if (folderView.allowSignUp == 'true') { $("#tb") - .append( - " "); + .append( + " "); $("#tb2") - .append( - " "); + .append( + " "); } } var authList = folderView.authList; // 对操作菜单进行初始化,根据权限显示可操作的按钮(并非约束)。 $("#fileListDropDown li").addClass("disabled"); - $("#fileListDropDown li a").attr("onclick",""); - $("#fileListDropDown li a").attr("href","javascript:void(0);"); + $("#fileListDropDown li a").attr("onclick", ""); if (authList != null) { if (checkAuth(authList, "C")) { $("#createFolderButtonLi").removeClass("disabled"); - $("#createFolderButtonLi a").attr("onclick","showNewFolderModel()"); + $("#createFolderButtonLi a") + .attr("onclick", "showNewFolderModel()"); } if (checkAuth(authList, "U")) { $("#uploadFileButtonLi").removeClass("disabled"); - $("#uploadFileButtonLi a").attr("onclick","showUploadFileModel()"); - if(checkAuth(authList, "C") && isSupportWebkitdirectory()){// 若浏览器支持文件夹选择,且具备新建文件夹权限,则允许进行文件夹上传 + $("#uploadFileButtonLi a").attr("onclick", "showUploadFileModel()"); + if (checkAuth(authList, "C") && isSupportWebkitdirectory()) {// 若浏览器支持文件夹选择,且具备新建文件夹权限,则允许进行文件夹上传 $("#uploadFolderButtonLi").removeClass("disabled"); - $("#uploadFolderButtonLi a").attr("onclick","showUploadFolderModel()"); + $("#uploadFolderButtonLi a").attr("onclick", + "showUploadFolderModel()"); } } if (folderView.enableDownloadZip && checkAuth(authList, "L")) { $("#packageDownloadBox") .html( ""); - }else{ + } else { $("#packageDownloadBox").html(""); } if (checkAuth(authList, "D")) { $("#deleteSeelectFileButtonLi").removeClass("disabled"); - $("#deleteSeelectFileButtonLi a").attr("onclick","showDeleteAllCheckedModel()"); + $("#deleteSeelectFileButtonLi a").attr("onclick", + "showDeleteAllCheckedModel()"); } if (checkAuth(authList, "M")) { $("#cutFileButtonLi").removeClass("disabled"); - $("#cutFileButtonLi a").attr("onclick","startMoveFile()"); - if(checkedMovefiles!==undefined&&checkedMovefiles.length>0){ - $("#cutSignTx").text("粘贴("+checkedMovefiles.length+")"); - $("#cutSignTx").addClass("cuted"); + $("#stickFileButtonLi").removeClass("disabled"); + $("#copyFileButtonLi").removeClass("disabled"); + $("#cutFileButtonLi a").attr("onclick", "cutFile()"); + $("#copyFileButtonLi a").attr("onclick", "copyFile()"); + $("#stickFileButtonLi a").attr("onclick", "stickFile()"); + if (checkedMovefiles !== undefined && checkedMovefiles.size > 0) { + if (checkedMovefiles.size < 100) { + $("#stickFilesCount").text( + "(" + checkedMovefiles.size + ")"); + } else { + $("#stickFilesCount").text("(99+)"); + } + $("#copyFileButtonLi").removeClass("show"); + $("#copyFileButtonLi").addClass("hidden"); + $("#cutFileButtonLi").removeClass("show"); + $("#cutFileButtonLi").addClass("hidden"); + $("#stickFileButtonLi").removeClass("hidden"); + $("#stickFileButtonLi").addClass("show"); + } else { + $("#copyFileButtonLi").removeClass("hidden"); + $("#copyFileButtonLi").addClass("show"); + $("#cutFileButtonLi").removeClass("hidden"); + $("#cutFileButtonLi").addClass("show"); + $("#stickFileButtonLi").removeClass("show"); + $("#stickFileButtonLi").addClass("hidden"); + $("#stickFilesCount").text(""); } } } @@ -863,34 +971,36 @@ function showFolderTable(folderView) { if (checkAuth(authList, "L")) { aL = true; } - if (checkAuth(authList, "O")){ + if (checkAuth(authList, "O")) { aO = true; } // 遍历并倒序显示文件夹列表 - for(var i1=folderView.folderList.length;i1>0;i1--){ - var f=folderView.folderList[i1-1]; - $("#foldertable").append(createNewFolderRow(f,aD,aR,aO)); + for (var i1 = folderView.folderList.length; i1 > 0; i1--) { + var f = folderView.folderList[i1 - 1]; + $("#foldertable").append(createNewFolderRow(f, aD, aR, aO)); } // 遍历并倒序显示文件列表 - for(var i2=folderView.fileList.length;i2>0;i2--){ - var fi = folderView.fileList[i2-1]; - $("#foldertable").append(createFileRow(fi,aL,aD,aR,aO)); + for (var i2 = folderView.fileList.length; i2 > 0; i2--) { + var fi = folderView.fileList[i2 - 1]; + $("#foldertable").append(createFileRow(fi, aL, aD, aR, aO)); } } // 根据一个文件对象生成对应的文件行的HTML内容 -function createFileRow(fi,aL,aD,aR,aO){ - fi.fileName = fi.fileName.replace(/\'/g,''').replace(//g,'>'); +function createFileRow(fi, aL, aD, aR, aO) { + fi.fileName = fi.fileName.replace(/\'/g, ''').replace(//g, '>'); var fileRow = "" + fi.fileName + "" + fi.fileCreationDate + ""; - if(fi.fileSize=="0"){ - fileRow=fileRow+"<1MB"; - }else{ - fileRow=fileRow+"" + fi.fileSize + "MB"; + if (fi.fileSize == "0") { + fileRow = fileRow + "<1MB"; + } else { + fileRow = fileRow + "" + fi.fileSize + "MB"; } - fileRow=fileRow +"" + fi.fileCreator + ""; + fileRow = fileRow + "" + fi.fileCreator + ""; if (aL) { fileRow = fileRow + ""; // 对于各种特殊格式文件提供的预览和播放功能 - var suffix=getSuffix(fi.fileName); + var suffix = getSuffix(fi.fileName); switch (suffix) { case "mp4": fileRow = fileRow - + ""; + + ""; break; case "webm": case "mov": @@ -917,22 +1027,22 @@ function createFileRow(fi,aL,aD,aR,aO){ case "wmv": case "mkv": case "flv": - if(folderView.enableFFMPEG){ + if (folderView.enableFFMPEG) { fileRow = fileRow - + ""; + + ""; } break; case "pdf": fileRow = fileRow - + ""; + + ""; break; case "jpg": case "jpeg": @@ -940,46 +1050,46 @@ function createFileRow(fi,aL,aD,aR,aO){ case "png": case "bmp": fileRow = fileRow - + ""; + + ""; break; case "mp3": case "wav": case "ogg": fileRow = fileRow - + ""; + + ""; break; case "docx": fileRow = fileRow - + ""; + + ""; break; case "txt": fileRow = fileRow - + ""; + + ""; break; case "ppt": case "pptx": fileRow = fileRow - + ""; + + ""; break; default: break; @@ -1019,13 +1129,13 @@ function createFileRow(fi,aL,aD,aR,aO){ } if (aL && folderView.showFileChain == 'true') { fileRow = fileRow - + ""; + + ""; } if (!aR && !aD && !aL && !aO) { fileRow = fileRow + "--"; @@ -1035,11 +1145,21 @@ function createFileRow(fi,aL,aD,aR,aO){ } // 根据一个文件夹对象生成对应的文件行的HTML内容 -function createNewFolderRow(f,aD,aR,aO){ - f.folderName = f.folderName.replace(/\'/g,''').replace(//g,'>'); - var folderRow = "" + f.folderCreationDate + "--" + f.folderCreator + ""; @@ -1081,7 +1201,7 @@ function createNewFolderRow(f,aD,aR,aO){ return folderRow; } -var folderTypes=['公开的','仅小组','仅创建者'];// 文件夹约束条件(由小至大) +var folderTypes = [ '公开的', '仅小组', '仅创建者' ];// 文件夹约束条件(由小至大) // 显示新建文件夹模态框 function showNewFolderModel() { @@ -1089,15 +1209,15 @@ function showNewFolderModel() { } // 修改新建文件夹约束等级 -function changeNewFolderType(type){ +function changeNewFolderType(type) { $("#newfoldertype").text(folderTypes[type]); - $("#foldername").attr("folderConstraintLevel",type+""); + $("#foldername").attr("folderConstraintLevel", type + ""); } // 创建新的文件夹 function createfolder() { var fn = $("#foldername").val(); - var fc=$("#foldername").attr("folderConstraintLevel"); + var fc = $("#foldername").attr("folderConstraintLevel"); var reg = new RegExp("[\/\|\\\\\*\\<\\>\\?\\:\\&\\$" + '"' + "]+", "g"); if (fn.length == 0) { showFolderAlert("提示:文件夹名称不能为空。"); @@ -1176,6 +1296,7 @@ function showDeleteFolderModel(folderId, folderName) { ""); $("#dmbutton").attr('disabled', false); + $("#cancelDeleteFolderBtn").attr('disabled', false); $('#deleteFolderMessage').text( "提示:确定要彻底删除文件夹:[" + folderName + "]及其全部内容么?该操作不可恢复"); $('#deleteFolderModal').modal('toggle'); @@ -1184,6 +1305,7 @@ function showDeleteFolderModel(folderId, folderName) { // 执行删除文件夹 function deleteFolder(folderId) { $("#dmbutton").attr('disabled', true); + $("#cancelDeleteFolderBtn").attr('disabled', true); $('#deleteFolderMessage').text("提示:正在删除,请稍候..."); $.ajax({ type : "POST", @@ -1199,24 +1321,29 @@ function deleteFolder(folderId) { if (result == "noAuthorized") { $('#deleteFolderMessage').text("提示:您的操作未被授权,删除文件夹失败"); $("#dmbutton").attr('disabled', false); + $("#cancelDeleteFolderBtn").attr('disabled', true); } else if (result == "errorParameter") { $('#deleteFolderMessage').text("提示:参数不正确,删除文件夹失败"); $("#dmbutton").attr('disabled', false); + $("#cancelDeleteFolderBtn").attr('disabled', true); } else if (result == "cannotDeleteFolder") { $('#deleteFolderMessage').text("提示:出现意外错误,可能未能删除文件夹"); $("#dmbutton").attr('disabled', false); + $("#cancelDeleteFolderBtn").attr('disabled', true); } else if (result == "deleteFolderSuccess") { $('#deleteFolderModal').modal('hide'); showFolderView(locationpath); } else { $('#deleteFolderMessage').text("提示:出现意外错误,可能未能删除文件夹"); $("#dmbutton").attr('disabled', false); + $("#cancelDeleteFolderBtn").attr('disabled', true); } } }, error : function() { $('#deleteFolderMessage').text("提示:出现意外错误,可能未能删除文件夹"); $("#dmbutton").attr('disabled', false); + $("#cancelDeleteFolderBtn").attr('disabled', true); } }); } @@ -1232,15 +1359,15 @@ function showRenameFolderModel(folderId, folderName, type) { } // 修改编辑文件夹的约束等级 -function changeEditFolderType(type){ +function changeEditFolderType(type) { $("#editfoldertype").text(folderTypes[type]); - $("#newfoldername").attr("folderConstraintLevel",type+""); + $("#newfoldername").attr("folderConstraintLevel", type + ""); } // 执行重命名文件夹 function renameFolder(folderId) { var newName = $("#newfoldername").val(); - var fc=$("#newfoldername").attr("folderConstraintLevel"); + var fc = $("#newfoldername").attr("folderConstraintLevel"); var reg = new RegExp("[\/\|\\\\\*\\<\\>\\?\\:\\&\\$" + '"' + "]+", "g"); if (newName.length == 0) { showRFolderAlert("提示:文件夹名称不能为空。"); @@ -1299,12 +1426,12 @@ function showRFolderAlert(txt) { function showUploadFileModel() { $("#uploadFileAlert").hide(); $("#uploadFileAlert").text(""); - if(isUpLoading==false){ + if (isUpLoading == false) { $("#filepath").removeAttr("disabled"); $("#uploadfile").val(""); $("#filepath").val(""); $("#pros").width("0%"); - $("#pros").attr('aria-valuenow','0'); + $("#pros").attr('aria-valuenow', '0'); $("#umbutton").attr('disabled', false); $("#filecount").text(""); $("#uploadstatus").html(""); @@ -1321,7 +1448,7 @@ function checkpath() { } // 获取选中文件 -function getInputUpload(){ +function getInputUpload() { fs = $("#uploadfile").get(0).files; showfilepath(); } @@ -1345,12 +1472,12 @@ function showfilepath() { // 检查文件是否能够上传 function checkUploadFile() { - if(isUpLoading==false && isImporting == false){ - if(fs!=null&&fs.length>0){ - $("#filepath").attr("disabled","disabled"); + if (isUpLoading == false && isImporting == false) { + if (fs != null && fs.length > 0) { + $("#filepath").attr("disabled", "disabled"); $("#umbutton").attr('disabled', true); - isUpLoading=true; - repeModelList=null; + isUpLoading = true; + repeModelList = null; $("#uploadFileAlert").hide(); $("#uploadFileAlert").text(""); var filenames = new Array(); @@ -1358,62 +1485,67 @@ function checkUploadFile() { var maxFileIndex = 0; for (var i = 0; i < fs.length; i++) { filenames[i] = fs[i].name.replace(/^.+?\\([^\\]+?)?$/gi, "$1"); - if(fs[i].size > maxSize){ + if (fs[i].size > maxSize) { maxSize = fs[i].size; maxFileIndex = i; } } var namelist = JSON.stringify(filenames); - - $.ajax({ - type : "POST", - dataType : "text", - data : { - folderId : locationpath, - namelist : namelist, - maxSize : maxSize, - maxFileIndex : maxFileIndex - }, - url : "homeController/checkUploadFile.ajax", - success : function(result) { - if (result == "mustLogin") { - window.location.href = "prv/login.html"; - } else { - switch (result) { - case "errorParameter": - showUploadFileAlert("提示:参数不正确,无法开始上传"); - break; - case "noAuthorized": - showUploadFileAlert("提示:您的操作未被授权,无法开始上传"); - break; - case "filesTotalOutOfLimit": - showUploadFileAlert("提示:该文件夹内存储的文件数量已达上限,无法在其中上传更多文件。您可以尝试将其上传至其他文件夹内。"); - break; - default: - var resp=eval("("+result+")"); - if(resp.checkResult == "fileTooLarge"){ - showUploadFileAlert("提示:文件["+resp.overSizeFile+"]的体积超过最大限制("+resp.maxUploadFileSize+"),无法开始上传"); - }else if(resp.checkResult == "hasExistsNames"){ - repeList=resp.pereFileNameList; - repeIndex=0; - selectFileUpLoadModelStart(); - }else if(resp.checkResult == "permitUpload"){ - doupload(1); - }else { - showUploadFileAlert("提示:出现意外错误,无法开始上传"); + + $ + .ajax({ + type : "POST", + dataType : "text", + data : { + folderId : locationpath, + namelist : namelist, + maxSize : maxSize, + maxFileIndex : maxFileIndex + }, + url : "homeController/checkUploadFile.ajax", + success : function(result) { + if (result == "mustLogin") { + window.location.href = "prv/login.html"; + } else { + switch (result) { + case "errorParameter": + showUploadFileAlert("提示:参数不正确,无法开始上传"); + break; + case "noAuthorized": + showUploadFileAlert("提示:您的操作未被授权,无法开始上传"); + break; + case "filesTotalOutOfLimit": + showUploadFileAlert("提示:该文件夹内存储的文件数量已达上限,无法在其中上传更多文件。您可以尝试将其上传至其他文件夹内。"); + break; + default: + var resp = eval("(" + result + ")"); + if (resp.checkResult == "fileTooLarge") { + showUploadFileAlert("提示:文件[" + + resp.overSizeFile + + "]的体积超过最大限制(" + + resp.maxUploadFileSize + + "),无法开始上传"); + } else if (resp.checkResult == "hasExistsNames") { + repeList = resp.pereFileNameList; + repeIndex = 0; + selectFileUpLoadModelStart(); + } else if (resp.checkResult == "permitUpload") { + doupload(1); + } else { + showUploadFileAlert("提示:出现意外错误,无法开始上传"); + } + break; + } } - break; + }, + error : function() { + showUploadFileAlert("提示:出现意外错误,无法开始上传"); } - } - }, - error : function() { - showUploadFileAlert("提示:出现意外错误,无法开始上传"); - } - }); - }else{ + }); + } else { showUploadFileAlert("提示:您未选择任何文件,无法开始上传"); } - }else{ + } else { showUploadFileAlert("提示:另一项上传文件或文件夹的任务尚未完成,无法开始上传"); } } @@ -1423,11 +1555,11 @@ var repeIndex;// 当前设定上传模式的文件序号 var repeModelList;// 这个是对每一个重复文件选取的上传模式,型如{'xxx':'skip','ooo':'both',...} // 针对同名文件,选择上传的模式:跳过(skip)、覆盖(cover)和保留两者(both) -function selectFileUpLoadModelStart(){ +function selectFileUpLoadModelStart() { var authList = originFolderView.authList; - if(checkAuth(authList, "D")){ + if (checkAuth(authList, "D")) { $("#uploadcoverbtn").show(); - }else{ + } else { $("#uploadcoverbtn").hide(); } $("#selectFileUpLoadModelAlert").show(); @@ -1435,22 +1567,22 @@ function selectFileUpLoadModelStart(){ } // 设定重名文件的处理方法 -function selectFileUpLoadModelEnd(t){ - if(repeModelList == null){ - repeModelList={}; +function selectFileUpLoadModelEnd(t) { + if (repeModelList == null) { + repeModelList = {}; } - repeModelList[$("#repeFileName").text()]=t; + repeModelList[$("#repeFileName").text()] = t; $("#selectFileUpLoadModelAlert").hide(); - if($('#selectFileUpLoadModelAsAll').prop('checked')){ - for(var i=repeIndex;i正在生成..."); - getDownloadFileId=fileId; - getDownloadFileName=fileName; + getDownloadFileId = fileId; + getDownloadFileName = fileName; $("#downloadFileBox") .html( ""); $("#dfmbutton").attr('disabled', false); + $("#cancelDeleteFileBox").attr('disabled', false); $('#deleteFileMessage').text("提示:确定要彻底删除文件:[" + fileName + "]么?该操作不可恢复"); $('#deleteFileModal').modal('toggle'); } @@ -1632,6 +1767,7 @@ function showDeleteFileModel(fileId, fileName) { // 执行删除文件操作 function deleteFile(fileId) { $("#dfmbutton").attr('disabled', true); + $("#cancelDeleteFileBox").attr('disabled', true); $('#deleteFileMessage').text("提示:正在删除,请稍候..."); $.ajax({ type : "POST", @@ -1647,24 +1783,29 @@ function deleteFile(fileId) { if (result == "noAuthorized") { $('#deleteFileMessage').text("提示:您的操作未被授权,删除失败"); $("#dfmbutton").attr('disabled', false); + $("#cancelDeleteFileBox").attr('disabled', false); } else if (result == "errorParameter") { $('#deleteFileMessage').text("提示:参数不正确,删除失败"); $("#dfmbutton").attr('disabled', false); + $("#cancelDeleteFileBox").attr('disabled', false); } else if (result == "cannotDeleteFile") { $('#deleteFileMessage').text("提示:出现意外错误,可能未能删除文件"); $("#dfmbutton").attr('disabled', false); + $("#cancelDeleteFileBox").attr('disabled', false); } else if (result == "deleteFileSuccess") { $('#deleteFileModal').modal('hide'); showFolderView(locationpath); } else { $('#deleteFileMessage').text("提示:出现意外错误,可能未能删除文件"); $("#dfmbutton").attr('disabled', false); + $("#cancelDeleteFileBox").attr('disabled', false); } } }, error : function() { $('#deleteFileMessage').text("提示:出现意外错误,可能未能删除文件"); $("#dfmbutton").attr('disabled', false); + $("#cancelDeleteFileBox").attr('disabled', false); } }); } @@ -1688,7 +1829,7 @@ function renameFile(fileId) { var newFileName = $("#newfilename").val(); if (newFileName.length > 0) { if (newFileName.length < 128) { - if (!reg.test(newFileName) && newFileName.indexOf(".")!=0) { + if (!reg.test(newFileName) && newFileName.indexOf(".") != 0) { $.ajax({ type : "POST", dataType : "text", @@ -1754,23 +1895,29 @@ function playVideo(fileId) { } // 预览PDF文档 -function pdfView(filePath) { - window.open("/pdfview/web/viewer.html?file=/fileblocks/" + filePath); +function pdfView(fileId) { + window + .open("/pdfview/web/viewer.html?file=/resourceController/getResource/" + + fileId); } // 预览Docx文档 -function docxView(fileId){ - window.open("/pdfview/web/viewer.html?file=/resourceController/getWordView/" + fileId); +function docxView(fileId) { + window + .open("/pdfview/web/viewer.html?file=/resourceController/getWordView/" + + fileId); } // 预览TXT文档 -function txtView(fileId){ - window.open("/pdfview/web/viewer.html?file=/resourceController/getTxtView/" + fileId); +function txtView(fileId) { + window.open("/pdfview/web/viewer.html?file=/resourceController/getTxtView/" + + fileId); } // 预览PPT文档 -function pptView(fileId){ - window.open("/pdfview/web/viewer.html?file=/resourceController/getPPTView/" + fileId); +function pptView(fileId) { + window.open("/pdfview/web/viewer.html?file=/resourceController/getPPTView/" + + fileId); } // 查看图片 @@ -1786,15 +1933,18 @@ function showPicture(fileId) { if (result != "ERROR") { pvl = eval("(" + result + ")"); // TODO 整合viewer.js插件 - if(pvl.pictureViewList.length <= viewerPageSize) { + if (pvl.pictureViewList.length <= viewerPageSize) { createViewList();// 以全列方式显示图片列表 } else { // 以分页方式显示图片列表 - viewerPageIndex = Math.ceil((pvl.index + 1) / viewerPageSize); - viewerTotal = Math.ceil(pvl.pictureViewList.length / viewerPageSize); + viewerPageIndex = Math.ceil((pvl.index + 1) + / viewerPageSize); + viewerTotal = Math.ceil(pvl.pictureViewList.length + / viewerPageSize); createViewListByPage(); - var innerIndex = pvl.index - ((viewerPageIndex - 1) * viewerPageSize); - if(viewerPageIndex > 1) { + var innerIndex = pvl.index + - ((viewerPageIndex - 1) * viewerPageSize); + if (viewerPageIndex > 1) { innerIndex++; } viewer.viewer('view', innerIndex); @@ -1813,19 +1963,17 @@ function showPicture(fileId) { // 用于创建并显示小于2*limit+1长度的图片列表 function createViewList() { - if(viewer == null) { + if (viewer == null) { var images = document.createElement("ul"); - for(var i = 0; i < pvl.pictureViewList.length; i++) { - if(pvl.pictureViewList[i].filePath.startsWith("homeController")){ - $(images).append("
  • " + pvl.pictureViewList[i].fileName + "
  • "); - }else{ - $(images).append("
  • " + pvl.pictureViewList[i].fileName + "
  • "); - } + for (var i = 0; i < pvl.pictureViewList.length; i++) { + $(images).append( + "
  • "
+							+ pvl.pictureViewList[i].fileName + "
  • "); } viewer = $(images); viewer.viewer({ - loop: false, - hidden: function() { + loop : false, + hidden : function() { viewer.data('viewer').destroy(); viewer = null; } @@ -1838,72 +1986,76 @@ function createViewList() { // 用于创建长于2*limit+1长度的图片分页列表 function createViewListByPage() { // 初始化分页结构 - if(viewer == null) { + if (viewer == null) { var images = document.createElement("ul"); var startIndex = (viewerPageIndex - 1) * viewerPageSize; - if(viewerPageIndex > 1) { + if (viewerPageIndex > 1) { $(images).append("
  • 上一页
  • "); } - for(var i = 0; i < viewerPageSize && i < (pvl.pictureViewList.length - (viewerPageIndex - 1) * viewerPageSize); i++) { - if(pvl.pictureViewList[startIndex+i].filePath.startsWith("homeController")){ - $(images).append("
  • " + pvl.pictureViewList[startIndex+i].fileName + "
  • "); - }else{ - $(images).append("
  • " + pvl.pictureViewList[startIndex+i].fileName + "
  • "); - } + for (var i = 0; i < viewerPageSize + && i < (pvl.pictureViewList.length - (viewerPageIndex - 1) + * viewerPageSize); i++) { + $(images).append( + "
  • "
+							+ pvl.pictureViewList[startIndex + i].fileName
+							+ "
  • "); } - if(viewerPageIndex < viewerTotal) { + if (viewerPageIndex < viewerTotal) { $(images).append("
  • 下一页
  • "); } viewer = $(images); - viewer.viewer({ - loop: false, - view: function(event) { - // 点击的计数为event.detail.index; - if(event.detail.index == 0 && viewerPageIndex != 1) { - viewerPageIndex--; - viewer.data('viewer').destroy(); - viewer.empty(); - viewer = null; - createViewListByPage(); - if(viewerPageIndex > 1){ - viewer.viewer('view',viewerPageSize); - }else{ - viewer.viewer('view',viewerPageSize - 1); + viewer + .viewer({ + loop : false, + view : function(event) { + // 点击的计数为event.detail.index; + if (event.detail.index == 0 && viewerPageIndex != 1) { + viewerPageIndex--; + viewer.data('viewer').destroy(); + viewer.empty(); + viewer = null; + createViewListByPage(); + if (viewerPageIndex > 1) { + viewer.viewer('view', viewerPageSize); + } else { + viewer.viewer('view', viewerPageSize - 1); + } + } else if (event.detail.index == viewerPageSize + 1 + || (event.detail.index == viewerPageSize && viewerPageIndex == 1)) { + viewerPageIndex++; + viewer.data('viewer').destroy(); + viewer.empty(); + viewer = null; + createViewListByPage(); + viewer.viewer('view', 1); + } + }, + hidden : function() { + viewer.data('viewer').destroy(); + viewer.empty(); + viewer = null; } - } else if(event.detail.index == viewerPageSize + 1 || (event.detail.index == viewerPageSize && viewerPageIndex == 1)) { - viewerPageIndex++; - viewer.data('viewer').destroy(); - viewer.empty(); - viewer = null; - createViewListByPage(); - viewer.viewer('view',1); - } - }, - hidden: function() { - viewer.data('viewer').destroy(); - viewer.empty(); - viewer = null; - } - }); + }); } } // 兼容Chrome、IE、FF的Shift判定 -function isShift(event){ - var e=window.event ||event; - if(e.shiftKey){ +function isShift(event) { + var e = window.event || event; + if (e.shiftKey) { return true; - }else{ + } else { return false; } } // 选中某一行文件,如果使用Shift点击则为多选 -function checkfile(event,fileId) { - if(!isShift(event)){ +function checkfile(event, fileId) { + if (!isShift(event)) { $(".filerow").removeClass("info"); $("#" + fileId).addClass("info"); - }else{ + } else { if ($("#" + fileId).hasClass("info")) { $("#" + fileId).removeClass("info"); } else { @@ -1913,40 +2065,39 @@ function checkfile(event,fileId) { } // 连续选中若干行文件:Shift+双击,选中规则为:前有选前,后有选后,全有也选后。 -function checkConsFile(event,fileId){ - if(isShift(event)){ - var endRow=$("#" + fileId); - var endRowIndex=endRow.index(); - var startRowIndex=$('.filerow.info:last').index(); - if(startRowIndex != -1){ - if(startRowIndex < endRowIndex){ - while(endRow[0] && !endRow.hasClass("info")){ +function checkConsFile(event, fileId) { + if (isShift(event)) { + var endRow = $("#" + fileId); + var endRowIndex = endRow.index(); + var startRowIndex = $('.filerow.info:last').index(); + if (startRowIndex != -1) { + if (startRowIndex < endRowIndex) { + while (endRow[0] && !endRow.hasClass("info")) { endRow.addClass("info"); - endRow=endRow.prev(); + endRow = endRow.prev(); } - }else{ - while(endRow[0] && !endRow.hasClass("info")){ + } else { + while (endRow[0] && !endRow.hasClass("info")) { endRow.addClass("info"); - endRow=endRow.next(); + endRow = endRow.next(); } } } } } - // 用于获取全部选中的文件夹和文件ID,该function返回一个对象。 // 该对象中,filesId属性为文件ID,foldersId属性为文件夹ID。两个属性均为JSON数组形式的字符串,可直接发送至服务器。此外还有size,包含了元素的总数。 -function getCheckedFilesAndFolders(){ - var filesAndFolders=new Object(); - filesAndFolders.size=0; - var filesId=new Array(); - var foldersId=new Array(); +function getCheckedFilesAndFolders() { + var filesAndFolders = new Object(); + filesAndFolders.size = 0; + var filesId = new Array(); + var foldersId = new Array(); var checkedfiles = $(".info").get(); for (var i = 0; i < checkedfiles.length; i++) { - if(checkedfiles[i].getAttribute("iskfolder")=="true"){ + if (checkedfiles[i].getAttribute("iskfolder") == "true") { foldersId.push(checkedfiles[i].id); - }else{ + } else { filesId.push(checkedfiles[i].id); } filesAndFolders.size++; @@ -1958,7 +2109,7 @@ function getCheckedFilesAndFolders(){ // 切换全部文件行的选中或非选中 function checkallfile() { - if ($(".filerow.info").length==$(".filerow").length) { + if ($(".filerow.info").length == $(".filerow").length) { $(".filerow").removeClass("info"); } else { $(".filerow").addClass("info"); @@ -1967,59 +2118,62 @@ function checkallfile() { // 显示打包下载模态框 function showDownloadAllCheckedModel() { - if(!folderView.enableDownloadZip){ + if (!folderView.enableDownloadZip) { return; } $("#downloadAllCheckedBox").html(""); $("#downloadAllCheckedLoad").text(""); - var faf=getCheckedFilesAndFolders(); + var faf = getCheckedFilesAndFolders(); if (faf.size == 0) { $("#downloadAllCheckedName").html(checkFilesTip); } else { - $("#downloadAllCheckedName").text( - "提示:您确认要打包并下载这" + faf.size + "项么?"); + $("#downloadAllCheckedName").text("提示:您确认要打包并下载这" + faf.size + "项么?"); $("#downloadAllCheckedBox") .html( ""); $("#dclmbutton").attr('disabled', false); } + $("#cancelDownloadAllCheckedBtn").attr('disabled', false); $("#downloadAllCheckedModal").modal('toggle'); } // 下载选中的所有文件 function downloadAllChecked() { $("#dclmbutton").attr('disabled', true); - var faf=getCheckedFilesAndFolders(); + $("#cancelDownloadAllCheckedBtn").attr('disabled', true); + var faf = getCheckedFilesAndFolders(); $("#downloadAllCheckedName").text( "提示:服务器正在对选中资源进行压缩(共" + faf.size - + "项),这可能需要一些时间(文件越大耗时越长),压缩完成将自动开始下载。"); + + "项),这可能需要一些时间(文件越大耗时越长),压缩完成将自动开始下载。"); // 计算预计耗时 $.ajax({ - url:'homeController/getPackTime.ajax', - type:'POST', - data:{ - strIdList:faf.filesId, - strFidList:faf.foldersId + url : 'homeController/getPackTime.ajax', + type : 'POST', + data : { + strIdList : faf.filesId, + strFidList : faf.foldersId }, - dataType:'text', - success:function(result){ - if(result!="0"){ + dataType : 'text', + success : function(result) { + if (result != "0") { var count = 0; - $("#downloadAllCheckedLoad").text("已耗时:"+count+"秒(预计耗时:"+result+")"); - zipTimer=setInterval(function() { + $("#downloadAllCheckedLoad").text( + "已耗时:" + count + "秒(预计耗时:" + result + ")"); + zipTimer = setInterval(function() { count++; - $("#downloadAllCheckedLoad").text("已耗时:"+count+"秒(预计耗时:"+result+")"); - },1000); - }else{ + $("#downloadAllCheckedLoad").text( + "已耗时:" + count + "秒(预计耗时:" + result + ")"); + }, 1000); + } else { var count = 0; - $("#downloadAllCheckedLoad").text("已耗时:"+count+"秒"); - zipTimer=setInterval(function() { + $("#downloadAllCheckedLoad").text("已耗时:" + count + "秒"); + zipTimer = setInterval(function() { count++; - $("#downloadAllCheckedLoad").text("已耗时:"+count+"秒"); - },1000); + $("#downloadAllCheckedLoad").text("已耗时:" + count + "秒"); + }, 1000); } }, - error:function(){ + error : function() { $("#downloadAllCheckedLoad").text("(无法获取预计耗时)"); } }); @@ -2028,17 +2182,19 @@ function downloadAllChecked() { type : "POST", url : "homeController/downloadCheckedFiles.ajax", data : { - strIdList:faf.filesId, - strFidList:faf.foldersId + strIdList : faf.filesId, + strFidList : faf.foldersId }, dataType : "text", success : function(result) { - if(zipTimer!=null){ + if (zipTimer != null) { window.clearInterval(zipTimer); } if (result == "ERROR") { $("#downloadAllCheckedName") .text("提示:压缩过程出错。无法完成压缩,请重试或告知管理员。"); + $("#dclmbutton").attr('disabled', false); + $("#cancelDownloadAllCheckedBtn").attr('disabled', false); } else { $("#downloadAllCheckedLoad").text(""); $("#downloadAllCheckedName").text("提示:压缩完成!准备开始下载..."); @@ -2059,6 +2215,8 @@ function downloadAllChecked() { }, error : function() { $("#downloadAllCheckedName").text("提示:请求失败。无法完成压缩,请重试或告知管理员。"); + $("#dclmbutton").attr('disabled', false); + $("#cancelDownloadAllCheckedBtn").attr('disabled', false); } }); } @@ -2066,16 +2224,16 @@ function downloadAllChecked() { // 删除选中的所有文件 function showDeleteAllCheckedModel() { $('#deleteFileBox').html(""); - var faf=getCheckedFilesAndFolders(); + var faf = getCheckedFilesAndFolders(); $("#dfmbutton").attr('disabled', false); + $("#cancelDeleteFileBox").attr('disabled', false); if (faf.size == 0) { $('#deleteFileMessage').html(checkFilesTip); } else { $('#deleteFileBox') .html( ""); - $('#deleteFileMessage').text( - "提示:确定要彻底删除这" + faf.size + "项么?该操作不可恢复!"); + $('#deleteFileMessage').text("提示:确定要彻底删除这" + faf.size + "项么?该操作不可恢复!"); } $('#deleteFileModal').modal('toggle'); } @@ -2083,8 +2241,9 @@ function showDeleteAllCheckedModel() { // 删除选中的所有文件 function deleteAllChecked() { // TODO 提交全部删除请求 - var faf=getCheckedFilesAndFolders(); + var faf = getCheckedFilesAndFolders(); $("#dfmbutton").attr('disabled', true); + $("#cancelDeleteFileBox").attr('disabled', true); $('#deleteFileMessage').text("提示:正在删除,请稍候..."); $.ajax({ type : "POST", @@ -2101,24 +2260,29 @@ function deleteAllChecked() { if (result == "noAuthorized") { $('#deleteFileMessage').text("提示:您的操作未被授权,删除失败"); $("#dfmbutton").attr('disabled', false); + $("#cancelDeleteFileBox").attr('disabled', false); } else if (result == "errorParameter") { $('#deleteFileMessage').text("提示:参数不正确,未能全部删除文件"); $("#dfmbutton").attr('disabled', false); + $("#cancelDeleteFileBox").attr('disabled', false); } else if (result == "cannotDeleteFile") { $('#deleteFileMessage').text("提示:出现意外错误,可能未能删除全部文件"); $("#dfmbutton").attr('disabled', false); + $("#cancelDeleteFileBox").attr('disabled', false); } else if (result == "deleteFileSuccess") { $('#deleteFileModal').modal('hide'); showFolderView(locationpath); } else { $('#deleteFileMessage').text("提示:出现意外错误,可能未能删除全部文件"); $("#dfmbutton").attr('disabled', false); + $("#cancelDeleteFileBox").attr('disabled', false); } } }, error : function() { $('#deleteFileMessage').text("提示:出现意外错误,可能未能删除全部文件"); $("#dfmbutton").attr('disabled', false); + $("#cancelDeleteFileBox").attr('disabled', false); } }); } @@ -2126,8 +2290,8 @@ function deleteAllChecked() { // 播放音乐 function playAudio(fileId) { $('#audioPlayerModal').modal('show'); - if(pingInt == null){ - pingInt = setInterval("ping()",60000);// 播放中开始计时应答 + if (pingInt == null) { + pingInt = setInterval("ping()", 60000);// 播放中开始计时应答 } if (ap == null) { ap = new APlayer({ @@ -2135,35 +2299,50 @@ function playAudio(fileId) { lrcType : 3, mutex : true, volume : 0.7, - theme:'#EDEDED', + theme : '#EDEDED', audio : [] }); - ap.on('pause', function() { - $("#playOrPause").html(""); - }); - ap.on('play', function() { - $("#playOrPause").html(""); - }); + ap + .on( + 'pause', + function() { + $("#playOrPause") + .html( + ""); + }); + ap + .on( + 'play', + function() { + $("#playOrPause") + .html( + ""); + }); } ap.list.clear(); $.ajax({ - url:'homeController/playAudios.ajax', - data:{ - fileId:fileId + url : 'homeController/playAudios.ajax', + data : { + fileId : fileId }, - type:'POST', - dataType:'text', - success:function(result){ - var ail=eval("("+result+")"); + type : 'POST', + dataType : 'text', + success : function(result) { + var ail = eval("(" + result + ")"); // 避免存在恶意标签注入在文件名中 - for(var i=0;i','>'); + for (var i = ail.index; i < ail.as.length; i++) { + ail.as[i].name = ail.as[i].name.replace('\'', ''').replace( + '<', '<').replace('>', '>'); + ap.list.add(ail.as[i]); + } + for (var i = 0; i < ail.index; i++) { + ail.as[i].name = ail.as[i].name.replace('\'', ''').replace( + '<', '<').replace('>', '>'); + ap.list.add(ail.as[i]); } - ap.list.add(ail.as); - ap.list.switch(ail.index); audio_play(); }, - error:function(){ + error : function() { alert("错误:无法获取音乐列表,请稍后再试"); closeAudioPlayer(); } @@ -2201,165 +2380,177 @@ function audio_bw() { } // 音量加大,每次10% -function audio_vulome_up(){ - ap.volume(ap.audio.volume+0.1,true); +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); +function audio_vulome_down() { + ap.volume(ap.audio.volume - 0.1, true); } // 按文件名排序 -function sortbyfn(){ - if(!loadingComplete){ +function sortbyfn() { + if (!loadingComplete) { return; } - if($("#sortByCD,#sortByFS,#sortByCN,#sortByOR").hasClass("glyphicon glyphicon-hourglass")){ + if ($("#sortByCD,#sortByFS,#sortByCN,#sortByOR").hasClass( + "glyphicon glyphicon-hourglass")) { return; } $("#sortByCD").removeClass(); $("#sortByFS").removeClass(); $("#sortByCN").removeClass(); $("#sortByOR").removeClass(); - var order=1; - if($("#sortByFN").hasClass('glyphicon-triangle-bottom')){ - order=-1; + var order = 1; + if ($("#sortByFN").hasClass('glyphicon-triangle-bottom')) { + order = -1; } $("#sortByFN").removeClass(); $("#sortByFN").addClass("glyphicon glyphicon-hourglass"); // 另开一个计时器进行排序操作,避免因卡死导致加载动画无法显示 - setTimeout(function(){ - folderView.fileList.sort(function(v1,v2){ - return order * v2.fileName.localeCompare(v1.fileName,"zh"); + setTimeout(function() { + folderView.fileList.sort(function(v1, v2) { + return order * v2.fileName.localeCompare(v1.fileName, "zh"); }); - folderView.folderList.sort(function(v1,v2){ - return order * v2.folderName.localeCompare(v1.folderName,"zh"); + folderView.folderList.sort(function(v1, v2) { + return order * v2.folderName.localeCompare(v1.folderName, "zh"); }); showFolderTable(folderView); $("#sortByFN").removeClass(); - if(order == -1){ + if (order == -1) { $("#sortByFN").addClass("glyphicon glyphicon-triangle-top"); - }else{ + } else { $("#sortByFN").addClass("glyphicon glyphicon-triangle-bottom"); } }, 0); } // 按创建日期排序 -function sortbycd(){ - if(!loadingComplete){ +function sortbycd() { + if (!loadingComplete) { return; } - if($("#sortByFN,#sortByFS,#sortByCN,#sortByOR").hasClass("glyphicon glyphicon-hourglass")){ + if ($("#sortByFN,#sortByFS,#sortByCN,#sortByOR").hasClass( + "glyphicon glyphicon-hourglass")) { return; } $("#sortByFN").removeClass(); $("#sortByFS").removeClass(); $("#sortByCN").removeClass(); $("#sortByOR").removeClass(); - var order=1; - if($("#sortByCD").hasClass('glyphicon-triangle-bottom')){ - order=-1; + var order = 1; + if ($("#sortByCD").hasClass('glyphicon-triangle-bottom')) { + order = -1; } $("#sortByCD").removeClass(); $("#sortByCD").addClass("glyphicon glyphicon-hourglass"); - setTimeout(function(){ - folderView.fileList.sort(function(v1,v2){ - var v1DateStr=v1.fileCreationDate.replace("年","-").replace("月","-").replace("日",""); - var v2DateStr=v2.fileCreationDate.replace("年","-").replace("月","-").replace("日",""); - var res=((new Date(Date.parse(v1DateStr)).getTime())-(new Date(Date.parse(v2DateStr)).getTime())); + setTimeout(function() { + folderView.fileList.sort(function(v1, v2) { + var v1DateStr = v1.fileCreationDate.replace("年", "-").replace("月", + "-").replace("日", ""); + var v2DateStr = v2.fileCreationDate.replace("年", "-").replace("月", + "-").replace("日", ""); + var res = ((new Date(Date.parse(v1DateStr)).getTime()) - (new Date( + Date.parse(v2DateStr)).getTime())); return order * res; }); - folderView.folderList.sort(function(v1,v2){ - var v1DateStr=v1.folderCreationDate.replace("年","-").replace("月","-").replace("日",""); - var v2DateStr=v2.folderCreationDate.replace("年","-").replace("月","-").replace("日",""); - var res=((new Date(Date.parse(v1DateStr)).getTime())-(new Date(Date.parse(v2DateStr)).getTime())); + folderView.folderList.sort(function(v1, v2) { + var v1DateStr = v1.folderCreationDate.replace("年", "-").replace( + "月", "-").replace("日", ""); + var v2DateStr = v2.folderCreationDate.replace("年", "-").replace( + "月", "-").replace("日", ""); + var res = ((new Date(Date.parse(v1DateStr)).getTime()) - (new Date( + Date.parse(v2DateStr)).getTime())); return order * res; }); showFolderTable(folderView); $("#sortByCD").removeClass(); - if(order == -1){ + if (order == -1) { $("#sortByCD").addClass("glyphicon glyphicon-triangle-top"); - }else{ + } else { $("#sortByCD").addClass("glyphicon glyphicon-triangle-bottom"); } }, 0); } // 按文件大小排序 -function sortbyfs(){ - if(!loadingComplete){ +function sortbyfs() { + if (!loadingComplete) { return; } - if($("#sortByFN,#sortByCD,#sortByCN,#sortByOR").hasClass("glyphicon glyphicon-hourglass")){ + if ($("#sortByFN,#sortByCD,#sortByCN,#sortByOR").hasClass( + "glyphicon glyphicon-hourglass")) { return; } $("#sortByFN").removeClass(); $("#sortByCD").removeClass(); $("#sortByCN").removeClass(); $("#sortByOR").removeClass(); - var order=1; - if($("#sortByFS").hasClass("glyphicon-triangle-bottom")){ - order=-1; + var order = 1; + if ($("#sortByFS").hasClass("glyphicon-triangle-bottom")) { + order = -1; } $("#sortByFS").removeClass(); $("#sortByFS").addClass("glyphicon glyphicon-hourglass"); - setTimeout(function(){ - folderView.fileList.sort(function(v1,v2){ + setTimeout(function() { + folderView.fileList.sort(function(v1, v2) { return order * (v1.fileSize - v2.fileSize); }); showFolderTable(folderView); $("#sortByFS").removeClass(); - if(order == -1){ + if (order == -1) { $("#sortByFS").addClass("glyphicon glyphicon-triangle-top"); - }else{ + } else { $("#sortByFS").addClass("glyphicon glyphicon-triangle-bottom"); } }, 0); } // 按创建者排序 -function sortbycn(){ - if(!loadingComplete){ +function sortbycn() { + if (!loadingComplete) { return; } - if($("#sortByFN,#sortByCD,#sortByFS,#sortByOR").hasClass("glyphicon glyphicon-hourglass")){ + if ($("#sortByFN,#sortByCD,#sortByFS,#sortByOR").hasClass( + "glyphicon glyphicon-hourglass")) { return; } $("#sortByFN").removeClass(); $("#sortByCD").removeClass(); $("#sortByFS").removeClass(); $("#sortByOR").removeClass(); - var order=1; - if($("#sortByCN").hasClass('glyphicon-triangle-bottom')){ - order=-1; + var order = 1; + if ($("#sortByCN").hasClass('glyphicon-triangle-bottom')) { + order = -1; } $("#sortByCN").removeClass(); $("#sortByCN").addClass("glyphicon glyphicon-hourglass"); - setTimeout(function(){ - folderView.fileList.sort(function(v1,v2){ - return order * v2.fileCreator.localeCompare(v1.fileCreator,"zh"); + setTimeout(function() { + folderView.fileList.sort(function(v1, v2) { + return order * v2.fileCreator.localeCompare(v1.fileCreator, "zh"); }); - folderView.folderList.sort(function(v1,v2){ - return order * v2.folderCreator.localeCompare(v1.folderCreator,"zh"); + folderView.folderList.sort(function(v1, v2) { + return order + * v2.folderCreator.localeCompare(v1.folderCreator, "zh"); }); showFolderTable(folderView); $("#sortByCN").removeClass(); - if(order == -1){ + if (order == -1) { $("#sortByCN").addClass("glyphicon glyphicon-triangle-top"); - }else{ + } else { $("#sortByCN").addClass("glyphicon glyphicon-triangle-bottom"); } }, 0); } // 显示原始的顺序 -function showOriginFolderView(){ - if(!loadingComplete){ +function showOriginFolderView() { + if (!loadingComplete) { return; } - if($("#sortByFN,#sortByCD,#sortByFS,#sortByCN").hasClass("glyphicon glyphicon-hourglass")){ + if ($("#sortByFN,#sortByCD,#sortByFS,#sortByCN").hasClass( + "glyphicon glyphicon-hourglass")) { return; } $("#sortByFN").removeClass(); @@ -2367,248 +2558,351 @@ function showOriginFolderView(){ $("#sortByFS").removeClass(); $("#sortByCN").removeClass(); $("#sortByOR").addClass("glyphicon glyphicon-hourglass"); - setTimeout(function(){ - if(screenedFoldrView!=null){ - folderView=$.extend(true, {}, screenedFoldrView); - }else{ - folderView=$.extend(true, {}, originFolderView); + setTimeout(function() { + if (screenedFoldrView != null) { + folderView = $.extend(true, {}, screenedFoldrView); + } else { + folderView = $.extend(true, {}, originFolderView); } showFolderTable(folderView); $("#sortByOR").removeClass(); }, 0); } -// 确认文件移动(剪切-粘贴)操作 -function startMoveFile(){ - if($("#cutSignTx").hasClass("cuted")&&checkedMovefiles!==undefined){ - $('#moveFilesMessage').text("提示:确定将这"+checkedMovefiles.size+"项移动到当前位置么?"); - $('#moveFilesBox').html(""); +// 执行“剪切”操作 +function cutFile() { + checkedMovefiles = getCheckedFilesAndFolders(); + if (checkedMovefiles == undefined || checkedMovefiles.size == 0) { + // 如果未选中任何文件,则提示用户要先选 + $('#moveFilesMessage').html(checkFilesTip); $("#selectFileMoveModelAsAll").removeAttr("checked"); $("#selectFileMoveModelAlert").hide(); $('#moveFilesModal').modal('show'); - }else{ - checkedMovefiles = getCheckedFilesAndFolders(); - if (checkedMovefiles==undefined||checkedMovefiles.size == 0) { - $('#moveFilesMessage').html(checkFilesTip); - $("#selectFileMoveModelAsAll").removeAttr("checked"); - $("#selectFileMoveModelAlert").hide(); - $('#moveFilesModal').modal('show'); + } else { + // 否则,隐藏“剪切”和“复制”按钮,显示“粘贴”按钮 + if (checkedMovefiles.size < 100) { + $("#stickFilesCount").text("(" + checkedMovefiles.size + ")"); } else { - $("#cutSignTx").html("粘贴("+checkedMovefiles.size+")+V"); - $("#cutSignTx").addClass("cuted"); + $("#stickFilesCount").text("(99+)"); } + $("#copyFileButtonLi").removeClass("show"); + $("#copyFileButtonLi").addClass("hidden"); + $("#cutFileButtonLi").removeClass("show"); + $("#cutFileButtonLi").addClass("hidden"); + $("#stickFileButtonLi").removeClass("hidden"); + $("#stickFileButtonLi").addClass("show"); + isCopy = false; } } -var repeMap; -var strMoveOptMap; -var mRepeSize; - -// 执行文件移动操作 -function doMoveFiles(){ - $("#dmvfbutton").attr('disabled', true); - $('#moveFilesMessage').text("提示:正在移动,请稍候..."); - // 确认移动目标位置 - $.ajax({ - type : "POST", - dataType : "text", - data : { - strIdList : checkedMovefiles.filesId, - strFidList : checkedMovefiles.foldersId, - locationpath:locationpath - }, - url : "homeController/confirmMoveFiles.ajax", - success : function(result) { - if (result == "mustLogin") { - window.location.href = "prv/login.html"; - } else { - switch (result) { - case "noAuthorized": - $('#moveFilesMessage').text("提示:您的操作未被授权,移动失败"); - $("#dmvfbutton").attr('disabled', false); - break; - case "errorParameter": - $('#moveFilesMessage').text("提示:参数不正确,未能全部移动文件,请刷新后重试"); - $("#dmvfbutton").attr('disabled', false); - break; - case "cannotMoveFiles": - $('#moveFilesMessage').text("提示:出现意外错误,可能未能移动全部文件,请刷新后重试"); - $("#dmvfbutton").attr('disabled', false); - break; - case "filesTotalOutOfLimit": - $('#moveFilesMessage').text("提示:该文件夹内存储的文件数量已达上限,无法移入更多文件"); - $("#dmvfbutton").attr('disabled', false); - break; - case "foldersTotalOutOfLimit": - $('#moveFilesMessage').text("提示:该文件夹内存储的文件夹数量已达上限,无法移入更多文件夹"); - $("#dmvfbutton").attr('disabled', false); - break; - case "confirmMoveFiles": - strMoveOptMap={}; - sendMoveFilesReq(); - break; - default: - if(result.startsWith("duplicationFileName:")){ - repeMap=eval("("+result.substring(20)+")"); - repeIndex=0; - strMoveOptMap={}; - mRepeSize=repeMap.repeFolders.length+repeMap.repeNodes.length; - if(repeMap.repeFolders.length>0){ - $("#mrepeFileName").text(repeMap.repeFolders[repeIndex].folderName); - }else{ - $("#mrepeFileName").text(repeMap.repeNodes[repeIndex].fileName); - } - var authList = originFolderView.authList; - if(checkAuth(authList, "D")){ - $("#movecoverbtn").show(); - }else{ - $("#movecoverbtn").hide(); - } - $("#selectFileMoveModelAlert").show(); - } else if(result.startsWith("CANT_MOVE_TO_INSIDE:")){ - $('#moveFilesMessage').text("错误:不能将一个文件夹移动到其自身内部:"+result.substring(20)); - } else { - $('#moveFilesMessage').text("提示:出现意外错误,可能未能移动全部文件,请刷新后重试"); - $("#dmvfbutton").attr('disabled', false); - } - break; - } - } - }, - error : function() { - $('#moveFilesMessage').text("提示:出现意外错误,可能未能移动全部文件"); - $("#dmvfbutton").attr('disabled', false); +// 执行“复制”操作 +function copyFile() { + checkedMovefiles = getCheckedFilesAndFolders(); + if (checkedMovefiles == undefined || checkedMovefiles.size == 0) { + // 如果未选中任何文件,则提示用户要先选 + $('#moveFilesMessage').html(checkFilesTip); + $("#selectFileMoveModelAsAll").removeAttr("checked"); + $("#selectFileMoveModelAlert").hide(); + $('#moveFilesModal').modal('show'); + } else { + // 否则,隐藏“剪切”和“复制”按钮,显示“粘贴”按钮 + if (checkedMovefiles.size < 100) { + $("#stickFilesCount").text("(" + checkedMovefiles.size + ")"); + } else { + $("#stickFilesCount").text("(99+)"); } - }); + $("#copyFileButtonLi").removeClass("show"); + $("#copyFileButtonLi").addClass("hidden"); + $("#cutFileButtonLi").removeClass("show"); + $("#cutFileButtonLi").addClass("hidden"); + $("#stickFileButtonLi").removeClass("hidden"); + $("#stickFileButtonLi").addClass("show"); + isCopy = true; + } } -// 对冲突的移动进行依次询问 -function selectFileMoveModel(t){ - if($("#selectFileMoveModelAsAll").prop("checked")){ - while(repeIndex 0) { + if (isCopy) { + $('#moveFilesMessage').text( + "提示:确定将这" + checkedMovefiles.size + "项复制到当前位置么?"); + $('#moveFilesBox') + .html( + ""); + } else { + $('#moveFilesMessage').text( + "提示:确定将这" + checkedMovefiles.size + "项移动到当前位置么?"); + $('#moveFilesBox') + .html( + ""); + } + $("#selectFileMoveModelAsAll").removeAttr("checked"); + $("#cancelMoveFilesBtn").attr('disabled', false); + $("#selectFileMoveModelAlert").hide(); + $('#moveFilesModal').modal('show'); + } +} + +// 先行确认文件移动操作 +function doMoveFiles() { + $("#dmvfbutton").attr('disabled', true); + $("#cancelMoveFilesBtn").attr('disabled', true); + var method = "MOVE"; + if (isCopy) { + $('#moveFilesMessage').text("提示:正在复制,请稍候..."); + method = "COPY"; + } else { + $('#moveFilesMessage').text("提示:正在移动,请稍候..."); + } + // 确认移动目标位置 + $ + .ajax({ + type : "POST", + dataType : "text", + data : { + strIdList : checkedMovefiles.filesId, + strFidList : checkedMovefiles.foldersId, + locationpath : locationpath, + method : method + }, + url : "homeController/confirmMoveFiles.ajax", + success : function(result) { + if (result == "mustLogin") { + window.location.href = "prv/login.html"; + } else { + switch (result) { + case "noAuthorized": + $('#moveFilesMessage').text("提示:您的操作未被授权,操作失败"); + $("#dmvfbutton").attr('disabled', false); + $("#cancelMoveFilesBtn").attr('disabled', false); + break; + case "errorParameter": + $('#moveFilesMessage').text( + "提示:参数不正确,无法完成此操作,请刷新后重试"); + $("#dmvfbutton").attr('disabled', false); + $("#cancelMoveFilesBtn").attr('disabled', false); + break; + case "cannotMoveFiles": + $('#moveFilesMessage').text( + "提示:出现意外错误,可能未能完成此操作,请刷新后重试"); + $("#dmvfbutton").attr('disabled', false); + $("#cancelMoveFilesBtn").attr('disabled', false); + break; + case "filesTotalOutOfLimit": + $('#moveFilesMessage').text( + "提示:该文件夹内存储的文件数量已达上限,无法添加更多文件"); + $("#dmvfbutton").attr('disabled', false); + $("#cancelMoveFilesBtn").attr('disabled', false); + break; + case "foldersTotalOutOfLimit": + $('#moveFilesMessage').text( + "提示:该文件夹内存储的文件夹数量已达上限,无法添加更多文件夹"); + $("#dmvfbutton").attr('disabled', false); + $("#cancelMoveFilesBtn").attr('disabled', false); + break; + case "confirmMoveFiles": + strMoveOptMap = {}; + sendMoveFilesReq(); + break; + default: + if (result.startsWith("duplicationFileName:")) { + repeMap = eval("(" + result.substring(20) + ")"); + repeIndex = 0; + strMoveOptMap = {}; + mRepeSize = repeMap.repeFolders.length + + repeMap.repeNodes.length; + if (repeMap.repeFolders.length > 0) { + $("#mrepeFileName") + .text( + repeMap.repeFolders[repeIndex].folderName); + } else { + $("#mrepeFileName") + .text( + repeMap.repeNodes[repeIndex].fileName); + } + var authList = originFolderView.authList; + if (checkAuth(authList, "D")) { + $("#movecoverbtn").show(); + } else { + $("#movecoverbtn").hide(); + } + $("#selectFileMoveModelAlert").show(); + } else if (result + .startsWith("CANT_MOVE_TO_INSIDE:")) { + $('#moveFilesMessage').text( + "错误:不能将一个文件夹移动到其自身内部:" + + result.substring(20)); + } else { + $('#moveFilesMessage').text( + "提示:出现意外错误,可能未能完成此操作,请刷新后重试"); + $("#dmvfbutton").attr('disabled', false); + $("#cancelMoveFilesBtn") + .attr('disabled', false); + } + break; + } + } + }, + error : function() { + $('#moveFilesMessage').text("提示:出现意外错误,可能未能完成此操作,请刷新后重试"); + $("#dmvfbutton").attr('disabled', false); + $("#cancelMoveFilesBtn").attr('disabled', false); + } + }); +} + +// 移动或复制——对冲突的文件进行依次询问 +function selectFileMoveModel(t) { + if ($("#selectFileMoveModelAsAll").prop("checked")) { + while (repeIndex < mRepeSize) { + if (repeIndex < repeMap.repeFolders.length) { + strMoveOptMap[repeMap.repeFolders[repeIndex].folderId] = t; + } else { + strMoveOptMap[repeMap.repeNodes[repeIndex + - repeMap.repeFolders.length].fileId] = t; } repeIndex++; } $("#selectFileMoveModelAlert").hide(); sendMoveFilesReq(); } - if(repeIndex获取失败,请尝试刷新"); - $("#publishTime").html("获取失败,请尝试刷新"); - $("#parentlistbox").html("获取失败,请尝试刷新"); + $("#publishTime").html( + "获取失败,请尝试刷新"); + $("#parentlistbox").html( + "获取失败,请尝试刷新"); } else if (result == "mustLogin") { window.location.href = "prv/login.html"; - } else if(result == "notAccess"){ + } else if (result == "notAccess") { document.cookie = "folder_id=" + escape("root"); - window.location.href="/"; + window.location.href = "/"; } else { folderView = eval("(" + result + ")"); locationpath = folderView.folder.folderId; parentpath = folderView.folder.folderParent; - constraintLevel=folderView.folder.folderConstraint; - screenedFoldrView=null; + constraintLevel = folderView.folder.folderConstraint; + screenedFoldrView = null; $("#sreachKeyWordIn").val("all:" + folderView.keyWorld); showParentList(folderView); showAccountView(folderView); showPublishTime(folderView); - originFolderView=$.extend(true, {}, folderView); + originFolderView = $.extend(true, {}, folderView); $("#sortByFN").removeClass(); $("#sortByCD").removeClass(); $("#sortByFS").removeClass(); $("#sortByCN").removeClass(); $("#sortByOR").removeClass(); showFolderTable(folderView); + $("#fim_name").text(folderView.folder.folderName); + $("#fim_creator").text("--"); + $("#fim_folderCreationDate").text("--"); + $("#fim_folderId").text("--"); + updateTheFolderInfo(); } }, error : function() { @@ -2682,51 +2983,62 @@ function selectInCompletePath(keyworld){ } // 返回顶部实现 -function goBackToTop(){ - $('html,body').animate({scrollTop: 0},'slow'); +function goBackToTop() { + $('html,body').animate({ + scrollTop : 0 + }, 'slow'); } var getDownloadFileId;// 下载链接的文件ID var getDownloadFileName;// 下载链接的文件名(便于下载工具识别) // 获取某一文件的下载链接 -function getDownloadURL(){ - $.ajax({ - url:'externalLinksController/getDownloadKey.ajax', - type:'POST', - dataType:'text', - data:{ - fId:getDownloadFileId - }, - success:function(result){ - // 获取链接 - var dlurl=window.location.protocol+"//"+window.location.host+"/externalLinksController/downloadFileByKey/"+encodeURIComponent(getDownloadFileName.replace(/\'/g,''))+"?dkey="+result; - // 显示链接内容 - $("#downloadHrefBox").html(""+dlurl+""); - }, - error:function(){ - $("#downloadHrefBox").html("获取失败,请检查网络状态或点此重新获取。"); - } - }); +function getDownloadURL() { + $ + .ajax({ + url : 'externalLinksController/getDownloadKey.ajax', + type : 'POST', + dataType : 'text', + data : { + fId : getDownloadFileId + }, + success : function(result) { + // 获取链接 + var dlurl = window.location.protocol + + "//" + + window.location.host + + "/externalLinksController/downloadFileByKey/" + + encodeURIComponent(getDownloadFileName.replace( + /\'/g, '')) + "?dkey=" + result; + // 显示链接内容 + $("#downloadHrefBox").html( + "" + dlurl + ""); + }, + error : function() { + $("#downloadHrefBox") + .html( + "获取失败,请检查网络状态或点此重新获取。"); + } + }); } // 防止长耗时待机时会话超时的应答器,每分钟应答一次 -function ping(){ +function ping() { $.ajax({ - url:"homeController/ping.ajax", - type:"POST", - dataType:"text", - data:{}, - success:function(result){ - if(result != 'pong'){ - if(pingInt != null){ + url : "homeController/ping.ajax", + type : "POST", + dataType : "text", + data : {}, + success : function(result) { + if (result != 'pong') { + if (pingInt != null) { window.clearInterval(pingInt); pingInt = null; } } }, - error:function(){ - if(pingInt != null){ + error : function() { + if (pingInt != null) { window.clearInterval(pingInt); pingInt = null; } @@ -2737,7 +3049,8 @@ function ping(){ // 判断浏览器是否支持webkitdirectory属性且不为ios系统(判断是否能进行文件夹上传) function isSupportWebkitdirectory() { var testWebkitdirectory = document.createElement("input"); - if("webkitdirectory" in testWebkitdirectory && !(/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent))) { + if ("webkitdirectory" in testWebkitdirectory + && !(/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent))) { return true; } else { return false; @@ -2745,54 +3058,60 @@ function isSupportWebkitdirectory() { }; // 显示上传文件夹模态框 -function showUploadFolderModel(){ +function showUploadFolderModel() { $("#importFolderAlert").hide(); $("#importFolderAlert").text(""); - if(isImporting == false){// 如果未进行上传,则还原上传文件夹的基本状态 + if (isImporting == false) {// 如果未进行上传,则还原上传文件夹的基本状态 $("#folderpath").val(""); $("#importfolder").val(""); $("#importpros").width("0%"); - $("#importpros").attr('aria-valuenow','0'); + $("#importpros").attr('aria-valuenow', '0'); $("#importstatus").html(""); - $("#folderpath").attr("disabled",false); - $("#importFolderLevelBtn").attr("disabled",false); + $("#folderpath").attr("disabled", false); + $("#importFolderLevelBtn").attr("disabled", false); $("#importcount").text(""); $("#importbutton").attr('disabled', false); $("#importfoldertypelist").html(""); $("#selectFolderImportModelAlert").hide(); - if(account!=null){ - $("#folderpath").attr("folderConstraintLevel",constraintLevel+""); + if (account != null) { + $("#folderpath") + .attr("folderConstraintLevel", constraintLevel + ""); $("#importfoldertype").text(folderTypes[constraintLevel]); - for(var i=constraintLevel;i"+folderTypes[i]+""); + for (var i = constraintLevel; i < folderTypes.length; i++) { + $("#importfoldertypelist").append( + "
  • " + + folderTypes[i] + "
  • "); } - }else{ - $("#importfoldertypelist").append("
  • "+folderTypes[0]+"
  • "); + } else { + $("#importfoldertypelist").append( + "
  • " + + folderTypes[0] + "
  • "); } } $("#importFolderModal").modal('show'); } // 点击上传路径文本框时弹出文件夹选择窗口 -function checkimportpath(){ +function checkimportpath() { $('#importfolder').click(); } // 用户选择文件夹后回填路径 -function getInputImport(){ +function getInputImport() { ifs = $("#importfolder")[0].files; - if(ifs.length > 0) { - importFolderName = ifs[0].webkitRelativePath.substring(0, ifs[0].webkitRelativePath.indexOf("/")); + if (ifs.length > 0) { + importFolderName = ifs[0].webkitRelativePath.substring(0, + ifs[0].webkitRelativePath.indexOf("/")); $("#folderpath").val(importFolderName); } } // 检查文件夹是否能够上传 -function checkImportFolder(){ - if(isUpLoading == false && isImporting ==false){ - if(ifs != null && ifs.length > 0){// 必须选中文件 - $("#folderpath").attr("disabled",true); - $("#importFolderLevelBtn").attr("disabled",true); +function checkImportFolder() { + if (isUpLoading == false && isImporting == false) { + if (ifs != null && ifs.length > 0) {// 必须选中文件 + $("#folderpath").attr("disabled", true); + $("#importFolderLevelBtn").attr("disabled", true); $("#importbutton").attr('disabled', true); $("#importFolderAlert").hide(); $("#importFolderAlert").text(""); @@ -2801,74 +3120,78 @@ function checkImportFolder(){ var maxFileIndex = 0; // 找出最大体积的文件以便服务器进行效验 for (var i = 0; i < ifs.length; i++) { - if(ifs[i].size > maxSize){ + if (ifs[i].size > maxSize) { maxSize = ifs[i].size; maxFileIndex = i; } } // 发送合法性检查请求 - $.ajax({ - url:'homeController/checkImportFolder.ajax', - type:'POST', - dataType:'text', - data:{ - folderName : importFolderName, - maxSize : maxSize, - folderId : locationpath - }, - success:function(result){ - var resJson = eval("("+result+")"); - switch (resJson.result) { - case 'noAuthorized': - showImportFolderAlert("提示:您的操作未被授权,无法开始上传"); - break; - case 'errorParameter': - showImportFolderAlert("提示:参数不正确,无法开始上传"); - break; - case 'mustLogin': - window.location.href = "prv/login.html"; - break; - case 'fileOverSize': - showImportFolderAlert("提示:文件["+ifs[maxFileIndex].webkitRelativePath+"]的体积超过最大限制("+resJson.maxSize+"),无法开始上传"); - break; - case 'foldersTotalOutOfLimit': - showImportFolderAlert("提示:该文件夹内存储的文件夹数量已达上限,无法在其中上传更多文件夹。您可以尝试将其上传至其他文件夹内。"); - break; - case 'repeatFolder_Both': - $("#repeFolderName").text(importFolderName); - $("#importcoverbtn").hide(); - $("#selectFolderImportModelAlert").show(); - break; - case 'repeatFolder_coverOrBoth': - $("#repeFolderName").text(importFolderName); - $("#importcoverbtn").show(); - $("#selectFolderImportModelAlert").show(); - break; - case 'permitUpload': - iteratorImport(0);// 直接允许上传 - break; - default: - showImportFolderAlert("提示:出现意外错误,无法开始上传"); - break; - } - }, - error:function(){ - showImportFolderAlert("提示:出现意外错误,无法开始上传"); - } - }); - }else{ + $ + .ajax({ + url : 'homeController/checkImportFolder.ajax', + type : 'POST', + dataType : 'text', + data : { + folderName : importFolderName, + maxSize : maxSize, + folderId : locationpath + }, + success : function(result) { + var resJson = eval("(" + result + ")"); + switch (resJson.result) { + case 'noAuthorized': + showImportFolderAlert("提示:您的操作未被授权,无法开始上传"); + break; + case 'errorParameter': + showImportFolderAlert("提示:参数不正确,无法开始上传。必须选择一个文件夹"); + break; + case 'mustLogin': + window.location.href = "prv/login.html"; + break; + case 'fileOverSize': + showImportFolderAlert("提示:文件[" + + ifs[maxFileIndex].webkitRelativePath + + "]的体积超过最大限制(" + resJson.maxSize + + "),无法开始上传"); + break; + case 'foldersTotalOutOfLimit': + showImportFolderAlert("提示:该文件夹内存储的文件夹数量已达上限,无法在其中上传更多文件夹。您可以尝试将其上传至其他文件夹内。"); + break; + case 'repeatFolder_Both': + $("#repeFolderName").text(importFolderName); + $("#importcoverbtn").hide(); + $("#selectFolderImportModelAlert").show(); + break; + case 'repeatFolder_coverOrBoth': + $("#repeFolderName").text(importFolderName); + $("#importcoverbtn").show(); + $("#selectFolderImportModelAlert").show(); + break; + case 'permitUpload': + iteratorImport(0);// 直接允许上传 + break; + default: + showImportFolderAlert("提示:出现意外错误,无法开始上传"); + break; + } + }, + error : function() { + showImportFolderAlert("提示:出现意外错误,无法开始上传"); + } + }); + } else { showImportFolderAlert("提示:您未选择任何文件夹,无法开始上传"); } - }else{ + } else { showImportFolderAlert("提示:另一项上传文件或文件夹的任务尚未完成,无法开始上传"); } } // 显示上传文件夹错误提示 function showImportFolderAlert(txt) { - isImporting=false; - $("#folderpath").attr("disabled",false); - $("#importFolderLevelBtn").attr("disabled",false); + isImporting = false; + $("#folderpath").attr("disabled", false); + $("#importFolderLevelBtn").attr("disabled", false); $("#importFolderAlert").show(); $("#importFolderAlert").text(txt); $("#importbutton").attr('disabled', false); @@ -2881,7 +3204,7 @@ function importProgress(evt) { var percentComplete = Math.round((evt.loaded) * 100 / evt.total); // 加载进度条,同时显示信息 $("#importpros").width(percentComplete + "%"); - $("#importpros").attr('aria-valuenow',""+percentComplete); + $("#importpros").attr('aria-valuenow', "" + percentComplete); } } @@ -2889,21 +3212,21 @@ function importProgress(evt) { function importAndCover() { $("#selectFolderImportModelAlert").hide(); $.ajax({ - url:'homeController/deleteFolderByName.ajax', - type:'POST', - data:{ + url : 'homeController/deleteFolderByName.ajax', + type : 'POST', + data : { parentId : locationpath, folderName : importFolderName }, - dataType:'text', - success:function(result){ - if(result == 'deleteSuccess'){ + dataType : 'text', + success : function(result) { + if (result == 'deleteSuccess') { iteratorImport(0);// 若覆盖成功,则开始上传 - }else{ + } else { showImportFolderAlert("提示:无法覆盖原文件夹,上传失败"); } }, - error:function(){ + error : function() { showImportFolderAlert("提示:无法覆盖原文件夹,上传失败"); } }); @@ -2912,72 +3235,75 @@ function importAndCover() { // 保留两者并上传文件夹 function importAndBoth() { $("#selectFolderImportModelAlert").hide(); - var fc=$("#folderpath").attr("folderConstraintLevel");// 文件夹访问级别 - $.ajax({ - url:'homeController/createNewFolderByName.ajax', - type:'POST', - data:{ - parentId : locationpath, - folderName : importFolderName, - folderConstraint : fc - }, - dataType:'text', - success:function(result){ - var resJson = eval("(" + result + ")"); - if(resJson.result == 'success'){ - iteratorImport(0,resJson.newName);// 若新建成功,则使用新文件夹名称开始上传 - } else if(resJson.result == 'foldersTotalOutOfLimit') { - showImportFolderAlert("提示:该文件夹内存储的文件夹数量已达上限,无法上传同名文件夹并保留两者。您可以尝试将其上传至其他文件夹内。"); - } else { - showImportFolderAlert("提示:生成新文件夹名称失败,无法开始上传"); - } - }, - error:function(){ - showImportFolderAlert("提示:生成新文件夹名称失败,无法开始上传"); - } - }); + var fc = $("#folderpath").attr("folderConstraintLevel");// 文件夹访问级别 + $ + .ajax({ + url : 'homeController/createNewFolderByName.ajax', + type : 'POST', + data : { + parentId : locationpath, + folderName : importFolderName, + folderConstraint : fc + }, + dataType : 'text', + success : function(result) { + var resJson = eval("(" + result + ")"); + if (resJson.result == 'success') { + iteratorImport(0, resJson.newName);// 若新建成功,则使用新文件夹名称开始上传 + } else if (resJson.result == 'foldersTotalOutOfLimit') { + showImportFolderAlert("提示:该文件夹内存储的文件夹数量已达上限,无法上传同名文件夹并保留两者。您可以尝试将其上传至其他文件夹内。"); + } else { + showImportFolderAlert("提示:生成新文件夹名称失败,无法开始上传"); + } + }, + error : function() { + showImportFolderAlert("提示:生成新文件夹名称失败,无法开始上传"); + } + }); } // 迭代上传文件夹内的文件(直接上传) -function iteratorImport(i,newFolderName){ +function iteratorImport(i, newFolderName) { $("#importpros").width("0%");// 先将进度条置0 - $("#importpros").attr('aria-valuenow',"0"); + $("#importpros").attr('aria-valuenow', "0"); var uploadfile = ifs[i];// 获取要上传的文件 var fcount = ifs.length; - var fc=$("#folderpath").attr("folderConstraintLevel");// 文件夹访问级别 + var fc = $("#folderpath").attr("folderConstraintLevel");// 文件夹访问级别 if (uploadfile != null) { var fname = uploadfile.webkitRelativePath; if (fcount > 1) { - $("#importcount").text("(" + (i+1) + "/" + fcount + ")");// 显示当前进度 + $("#importcount").text("(" + (i + 1) + "/" + fcount + ")");// 显示当前进度 } - $("#importstatus").prepend( - "

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

    "); + $("#importstatus") + .prepend( + "

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

    "); xhr = new XMLHttpRequest();// 这东西类似于servlet里面的request - + var fd = new FormData();// 用于封装文件数据的对象 - + fd.append("file", uploadfile);// 将文件对象添加到FormData对象中,字段名为uploadfile fd.append("folderId", locationpath); - fd.append("folderConstraint",fc); - if(!!newFolderName){ - fd.append("newFolderName",newFolderName); + fd.append("folderConstraint", fc); + fd.append("originalFileName", fname); + if (!!newFolderName) { + fd.append("newFolderName", newFolderName); } xhr.open("POST", "homeController/doImportFolder.ajax", true);// 上传目标 - + xhr.upload.addEventListener("progress", importProgress, false);// 这个是对上传进度的监听 // 上面的三个参数分别是:事件名(指定名称)、回调函数、是否冒泡(一般是false即可) - + xhr.send(fd);// 上传FormData对象 - - if(pingInt == null){ - pingInt = setInterval("ping()",60000);// 上传中开始计时应答 + + if (pingInt == null) { + pingInt = setInterval("ping()", 60000);// 上传中开始计时应答 } - + // 上传结束后执行的回调函数 xhr.onloadend = function() { // 停止应答计时 - if(pingInt != null){ + if (pingInt != null) { window.clearInterval(pingInt); pingInt = null; } @@ -2986,18 +3312,18 @@ function iteratorImport(i,newFolderName){ var result = xhr.responseText; if (result == "uploadsuccess") { $("#ils_" + i).text("[已完成]"); - var ni=i+1; - if(ni < fcount){ - iteratorImport(ni,newFolderName); - }else{ + var ni = i + 1; + if (ni < fcount) { + iteratorImport(ni, newFolderName); + } else { // 完成全部上传后,清空所有提示信息,并还原上传窗口 - isImporting=false; + isImporting = false; $("#folderpath").removeAttr("disabled"); $("#importFolderLevelBtn").removeAttr("disabled"); $("#importfolder").val(""); $("#folderpath").val(""); $("#importpros").width("0%"); - $("#importpros").attr('aria-valuenow',"0"); + $("#importpros").attr('aria-valuenow', "0"); $("#importbutton").attr('disabled', false); $("#importcount").text(""); $("#importstatus").text(""); @@ -3008,11 +3334,11 @@ function iteratorImport(i,newFolderName){ showImportFolderAlert("提示:出现意外错误,文件:[" + fname + "]上传失败,上传被中断。"); $("#ils_" + i).text("[失败]"); - } else if (result == "foldersTotalOutOfLimit"){ + } else if (result == "foldersTotalOutOfLimit") { showImportFolderAlert("提示:该文件夹内存储的文件夹数量已达上限,文件:[" + fname + "]上传失败,上传被中断。"); $("#ils_" + i).text("[失败]"); - } else if (result == "filesTotalOutOfLimit"){ + } else if (result == "filesTotalOutOfLimit") { showImportFolderAlert("提示:该文件夹内存储的文件数量已达上限,文件:[" + fname + "]上传失败,上传被中断。"); $("#ils_" + i).text("[失败]"); @@ -3034,25 +3360,29 @@ function iteratorImport(i,newFolderName){ } // 取消文件夹上传 -function abortImport(){ - isImporting=false; - if (xhr != null) { - xhr.abort(); +function abortImport() { + if (isImporting) { + isImporting = false; + if (xhr != null) { + xhr.abort(); + } } $('#importFolderModal').modal('hide'); showFolderView(locationpath); } // 修改上传文件夹约束等级 -function changeImportFolderType(type){ +function changeImportFolderType(type) { $("#importfoldertype").text(folderTypes[type]); - $("#folderpath").attr("folderConstraintLevel",type+""); + $("#folderpath").attr("folderConstraintLevel", type + ""); } // 修改密码 -function doChangePassword(){ +function doChangePassword() { // 还原提示状态 - $("#changepassword_oldepwdbox,#changepassword_newpwdbox,#changepassword_reqnewpwdbox").removeClass("has-error"); + $( + "#changepassword_oldepwdbox,#changepassword_newpwdbox,#changepassword_reqnewpwdbox") + .removeClass("has-error"); $("#changepasswordalertbox").hide(); var change_oldPassword = $("#changepassword_oldpwd").val(); var change_newPassword = $("#changepassword_newpwd").val(); @@ -3074,9 +3404,11 @@ function doChangePassword(){ return; } // 确认密码检查 - isChangingPassword=true; - $("#changepassword_oldpwd,#changepassword_newpwd,#changepassword_reqnewpwd,#changePasswordButton,#changepassword_vercode").attr('disabled', true); - if (change_newPassword+"" != change_reqNewPassword+"") { + isChangingPassword = true; + $( + "#changepassword_oldpwd,#changepassword_newpwd,#changepassword_reqnewpwd,#changePasswordButton,#changepassword_vercode") + .attr('disabled', true); + if (change_newPassword + "" != change_reqNewPassword + "") { showChangePasswordAlert("提示:两次输入的新密码不一致,请检查确认"); $("#changepassword_newpwdbox").addClass("has-error"); $("#changepassword_reqnewpwdbox").addClass("has-error"); @@ -3090,10 +3422,11 @@ function doChangePassword(){ dataType : 'text', success : function(result) { // 获取公钥 - var changepwd_publicKeyInfo=eval("("+result+")"); + var changepwd_publicKeyInfo = eval("(" + result + ")"); // 生成JSON对象格式的信息 - var changePasswordInfo = '{oldPwd:"' + change_oldPassword + '",newPwd:"' - + change_newPassword + '",time:"' + changepwd_publicKeyInfo.time + '"}'; + var changePasswordInfo = '{oldPwd:"' + change_oldPassword + + '",newPwd:"' + change_newPassword + '",time:"' + + changepwd_publicKeyInfo.time + '"}'; var encrypt = new JSEncrypt();// 加密插件对象 encrypt.setPublicKey(changepwd_publicKeyInfo.publicKey);// 设置公钥 var encrypted = encrypt.encrypt(changePasswordInfo);// 进行加密 @@ -3106,73 +3439,83 @@ function doChangePassword(){ } // 将加密数据发送至服务器并显示操作结果 -function sendChangePasswordInfo(encrypted){ - $.ajax({ - type : "POST", - dataType : "text", - url : "homeController/doChangePassword.ajax", - data : { - encrypted : encrypted, - vercode : $("#changepassword_vercode").val() - }, - success : function(result) { - $("#changepassword_vccodebox").hide(); - isChangingPassword=false; - switch (result) { - case "success": - $('#changePasswordModal').modal('hide'); - break; - case "mustlogin": - showChangePasswordAlert("提示:登录已失效或尚未登录账户,请刷新并登陆账户"); - break; - case "illegal": - showChangePasswordAlert("提示:用户修改密码功能已被禁用,请求被拒绝"); - break; - case "oldpwderror": - showChangePasswordAlert("提示:旧密码输入错误,请求被拒绝"); - $("#changepassword_oldepwdbox").addClass("has-error"); - break; - case "needsubmitvercode": - $("#changepassword_oldpwd,#changepassword_newpwd,#changepassword_reqnewpwd,#changePasswordButton").attr('disabled', false); - $("#changepassword_vccodebox").html("
    "); - $("#changepassword_vccodebox").show(); - isChangingPassword=false; - break; - case "invalidnewpwd": - showChangePasswordAlert("提示:密码修改失败,新密码不合法。新密码的长度需为3-32个字符,且仅支持ISO-8859-1中的字符(推荐使用英文字母、英文符号及阿拉伯数字)。"); - break; - case "error": - showChangePasswordAlert("提示:密码修改失败,修改请求无法通过加密效验(可能是请求耗时过长导致的)"); - break; - case "cannotchangepwd": - showChangePasswordAlert("提示:密码修改失败,发生意外错误,请稍后重试或联系管理员"); - break; - default: - showChangePasswordAlert("提示:密码修改失败,发生未知错误"); - break; - } - }, - error : function() { - showChangePasswordAlert("提示:密码修改失败,请检查网络链接或服务器运行状态"); - } - }); +function sendChangePasswordInfo(encrypted) { + $ + .ajax({ + type : "POST", + dataType : "text", + url : "homeController/doChangePassword.ajax", + data : { + encrypted : encrypted, + vercode : $("#changepassword_vercode").val() + }, + success : function(result) { + $("#changepassword_vccodebox").hide(); + isChangingPassword = false; + switch (result) { + case "success": + $('#changePasswordModal').modal('hide'); + break; + case "mustlogin": + showChangePasswordAlert("提示:登录已失效或尚未登录账户,请刷新并登陆账户"); + break; + case "illegal": + showChangePasswordAlert("提示:用户修改密码功能已被禁用,请求被拒绝"); + break; + case "oldpwderror": + showChangePasswordAlert("提示:旧密码输入错误,请求被拒绝"); + $("#changepassword_oldepwdbox").addClass("has-error"); + break; + case "needsubmitvercode": + $( + "#changepassword_oldpwd,#changepassword_newpwd,#changepassword_reqnewpwd,#changePasswordButton") + .attr('disabled', false); + $("#changepassword_vccodebox") + .html( + "
    "); + $("#changepassword_vccodebox").show(); + isChangingPassword = false; + break; + case "invalidnewpwd": + showChangePasswordAlert("提示:密码修改失败,新密码不合法。新密码的长度需为3-32个字符,且仅支持ISO-8859-1中的字符(推荐使用英文字母、英文符号及阿拉伯数字)。"); + break; + case "error": + showChangePasswordAlert("提示:密码修改失败,修改请求无法通过加密效验(可能是请求耗时过长导致的)"); + break; + case "cannotchangepwd": + showChangePasswordAlert("提示:密码修改失败,发生意外错误,请稍后重试或联系管理员"); + break; + default: + showChangePasswordAlert("提示:密码修改失败,发生未知错误"); + break; + } + }, + error : function() { + showChangePasswordAlert("提示:密码修改失败,请检查网络链接或服务器运行状态"); + } + }); } // 显示修改密码错误提示 function showChangePasswordAlert(txt) { - isChangingPassword=false; - $("#changepassword_oldpwd,#changepassword_newpwd,#changepassword_reqnewpwd,#changePasswordButton,#changepassword_vercode").attr('disabled', false); + isChangingPassword = false; + $( + "#changepassword_oldpwd,#changepassword_newpwd,#changepassword_reqnewpwd,#changePasswordButton,#changepassword_vercode") + .attr('disabled', false); $("#changepasswordalertbox").show(); $("#changepasswordalertbox").text(txt); } // (修改密码版本的)获取一个新的验证码 -function changePasswordGetNewVerCode(){ - $("#changepassword_showvercode").attr("src","homeController/getNewVerCode.do?s="+(new Date()).getTime()); +function changePasswordGetNewVerCode() { + $("#changepassword_showvercode").attr("src", + "homeController/getNewVerCode.do?s=" + (new Date()).getTime()); } // 获取永久资源链接 -function getFileChain(fileId,fileName){ +function getFileChain(fileId, fileName) { $("#fileChainTextarea").text("正在获取……"); $("#copyChainBtn").attr('disabled', true); $('#fileChainModal').modal('show'); @@ -3192,8 +3535,14 @@ function getFileChain(fileId,fileName){ window.location.href = "prv/login.html"; break; default: - var getChainFileName=fileName.replace("#","%23").replace("%","%25").replace("?","%3F"); - $("#fileChainTextarea").text(encodeURI(window.location.protocol+"//"+window.location.host+"/externalLinksController/chain/"+getChainFileName+"?ckey=")+encodeURIComponent(result)); + var getChainFileName = fileName.replace("#", "%23").replace( + "%", "%25").replace("?", "%3F"); + $("#fileChainTextarea").text( + encodeURI(window.location.protocol + "//" + + window.location.host + + "/externalLinksController/chain/" + + getChainFileName + "?ckey=") + + encodeURIComponent(result)); $("#copyChainBtn").attr('disabled', false); break; } @@ -3205,60 +3554,56 @@ function getFileChain(fileId,fileName){ } // 复制链接内容 -function copyFileChain(){ +function copyFileChain() { let node = document.getElementById('fileChainTextarea');// input框 - let issafariBrowser = /Safari/.test(navigator.userAgent) && !/Chrome/.test(navigator.userAgent); - if(issafariBrowser){ - node.setSelectionRange(0, 9999); - }else{ - const range = document.createRange(); - range.selectNode(node); - const selection = window.getSelection(); - if(selection.rangeCount > 0) selection.removeAllRanges(); - selection.addRange(range); - } + node.select(); document.execCommand('copy'); } // 显示公告模态框 -function showNoticeModal(){ +function showNoticeModal() { $('#noticeModal').modal('show'); } // 加载公告内容并初始化公告模态框 -function initNoticeModal(){ - $("#noticeModalBody").load("resourceController/getNoticeContext.do",function(){ - $('#noticeModalBody img').css("max-width","100%"); - if(winHeight >= 300){ - $('#noticeModalBody').css("max-height",(winHeight - 180)+"px"); - }else{ - $('#noticeModalBody').css("max-height","300px"); - } - noticeInited = true; - showNoticeModal(); - showNoticeBtn(); - }); +function initNoticeModal() { + $("#noticeModalBody").load( + "resourceController/getNoticeContext.do", + function() { + $('#noticeModalBody img').css("max-width", "100%"); + if (winHeight >= 300) { + $('#noticeModalBody').css("max-height", + (winHeight - 180) + "px"); + } else { + $('#noticeModalBody').css("max-height", "300px"); + } + noticeInited = true; + showNoticeModal(); + showNoticeBtn(); + }); } // 打开主页时自动订阅未阅读过的公告信息并显示,如果该公告已经阅读过则不会显示。 -function subscribeNotice(){ +function subscribeNotice() { $.ajax({ - url:'resourceController/getNoticeMD5.ajax', - data:{}, - type:'POST', - dataType:'text', - success:function(result){ - if(result != ""){ - var cookieMd5 = document.cookie.match(new RegExp("(^| )notice_md5=([^;]*)(;|$)")); - if(cookieMd5){ - if(result == unescape(cookieMd5[2])){ + url : 'resourceController/getNoticeMD5.ajax', + data : {}, + type : 'POST', + dataType : 'text', + success : function(result) { + if (result != "") { + var cookieMd5 = document.cookie.match(new RegExp( + "(^| )notice_md5=([^;]*)(;|$)")); + if (cookieMd5) { + if (result == unescape(cookieMd5[2])) { showNoticeBtn(); return; } - }else{ - cookieMd5 = document.cookie.match(new RegExp("(^| )notice_md5_30=([^;]*)(;|$)")); - if(cookieMd5){ - if(result == unescape(cookieMd5[2])){ + } else { + cookieMd5 = document.cookie.match(new RegExp( + "(^| )notice_md5_30=([^;]*)(;|$)")); + if (cookieMd5) { + if (result == unescape(cookieMd5[2])) { showNoticeBtn(); return; } @@ -3268,7 +3613,7 @@ function subscribeNotice(){ document.cookie = "notice_md5=" + escape(result); } }, - error:function(){ + error : function() { alert("错误:无法从服务器获取公告信息,请尝试刷新页面。"); } }); @@ -3282,111 +3627,117 @@ function showNoticeBtn() { // 手动显示公告 function showNotice() { - if(noticeInited) { + if (noticeInited) { showNoticeModal(); - }else{ + } else { initNoticeModal(); } } // 该方法用于请求并继续加载文件夹视图的后续数据(可能会被迭代调用) -function loadingRemainingFolderView(targetId){ +function loadingRemainingFolderView(targetId) { // 判断是否正在执行另一个相同的请求,避免重复操作 - if(remainingLoadingRequest){ + if (remainingLoadingRequest) { return; } // 计算新的查询偏移量 - var newfoldersOffset=0; - var newfilesOffset=0; - if((folderView.foldersOffset - folderView.selectStep) > 0){ + var newfoldersOffset = 0; + var newfilesOffset = 0; + if ((folderView.foldersOffset - folderView.selectStep) > 0) { newfoldersOffset = folderView.foldersOffset - folderView.selectStep; } - if((folderView.filesOffset - folderView.selectStep) > 0){ + if ((folderView.filesOffset - folderView.selectStep) > 0) { newfilesOffset = folderView.filesOffset - folderView.selectStep; } - if(newfoldersOffset <= 0 && newfilesOffset <= 0){ - originFolderView=$.extend(true, {}, folderView); + if (newfoldersOffset <= 0 && newfilesOffset <= 0) { + originFolderView = $.extend(true, {}, folderView); hiddenLoadingRemaininngBox(); doFixedRow(targetId); return; } var loadingRemainingRate_folders = 1; var loadingRemainingRate_files = 1; - if(totalFoldersOffset > 0){ - loadingRemainingRate_folders = (totalFoldersOffset - newfoldersOffset) / totalFoldersOffset; + if (totalFoldersOffset > 0) { + loadingRemainingRate_folders = (totalFoldersOffset - newfoldersOffset) + / totalFoldersOffset; } - if(totalFilesOffset > 0){ - loadingRemainingRate_files = (totalFilesOffset - newfilesOffset) / totalFilesOffset; + if (totalFilesOffset > 0) { + loadingRemainingRate_files = (totalFilesOffset - newfilesOffset) + / totalFilesOffset; } - var loadingRemainingRate = (loadingRemainingRate_folders + loadingRemainingRate_files)/2; + var loadingRemainingRate = (loadingRemainingRate_folders + loadingRemainingRate_files) / 2; $("#loadingrate").text(parseInt(loadingRemainingRate * 100) + "%"); - remainingLoadingRequest = $.ajax({ - url:'homeController/getRemainingFolderView.ajax', - data:{ - fid:locationpath, - foldersOffset:newfoldersOffset, - filesOffset:newfilesOffset - }, - type:'POST', - dataType:'text', - success:function(result){ - remainingLoadingRequest = null; - switch (result) { - case "ERROR": - alert("错误:无法加载剩余文件列表,文件数据可能未显示完全,请刷新重试!"); - hiddenLoadingRemaininngBox(); - doFixedRow(); - break; - case "NOT_FOUND": - case "notAccess": - document.cookie = "folder_id=" + escape("root");// 归位记忆路径 - case "mustLogin": - window.location.href="/"; - break; - default: - folderView.foldersOffset = newfoldersOffset; - folderView.filesOffset = newfilesOffset; - var remainingFV = eval("("+result+")"); - updateFolderTable(remainingFV); - updateTheFolderInfo(); - if(folderView.foldersOffset > 0 || folderView.filesOffset > 0){ - loadingRemainingFolderView(targetId); - }else{ - originFolderView=$.extend(true, {}, folderView); + remainingLoadingRequest = $ + .ajax({ + url : 'homeController/getRemainingFolderView.ajax', + data : { + fid : locationpath, + foldersOffset : newfoldersOffset, + filesOffset : newfilesOffset + }, + type : 'POST', + dataType : 'text', + success : function(result) { + remainingLoadingRequest = null; + switch (result) { + case "ERROR": + alert("错误:无法加载剩余文件列表,文件数据可能未显示完全,请刷新重试!"); + hiddenLoadingRemaininngBox(); + doFixedRow(); + break; + case "NOT_FOUND": + case "notAccess": + document.cookie = "folder_id=" + escape("root");// 归位记忆路径 + case "mustLogin": + window.location.href = "/"; + break; + default: + folderView.foldersOffset = newfoldersOffset; + folderView.filesOffset = newfilesOffset; + var remainingFV = eval("(" + result + ")"); + updateFolderTable(remainingFV); + updateTheFolderInfo(); + if (folderView.foldersOffset > 0 + || folderView.filesOffset > 0) { + loadingRemainingFolderView(targetId); + } else { + originFolderView = $.extend(true, {}, folderView); + hiddenLoadingRemaininngBox(); + doFixedRow(targetId); + } + break; + } + }, + error : function(jqXHR, textStatus, errorThrown) { + remainingLoadingRequest = null; hiddenLoadingRemaininngBox(); - doFixedRow(targetId); + if ('abort' != textStatus) { + alert("错误:无法连接服务器,文件列表加载被中断。请刷新重试!"); + } } - break; - } - }, - error:function(jqXHR, textStatus, errorThrown){ - remainingLoadingRequest = null; - hiddenLoadingRemaininngBox(); - if('abort' != textStatus){ - alert("错误:无法连接服务器,文件列表加载被中断。请刷新重试!"); - } - } - }); + }); } // 定位指定文件所在行 -function doFixedRow(targetId){ - if(targetId && targetId.length > 0){ - $("#"+targetId).addClass("info"); - $("html,body").animate({scrollTop:$("#"+targetId).offset().top - $(window).height()/2},'slow'); +function doFixedRow(targetId) { + if (targetId && targetId.length > 0) { + $("#" + targetId).addClass("info"); + $("html,body").animate({ + scrollTop : $("#" + targetId).offset().top - $(window).height() / 2 + }, 'slow'); } } // 显示“正在加载文件列表”提示栏 -function showLoadingRemaininngBox(){ +function showLoadingRemaininngBox() { loadingComplete = false; $("#loadingremaininngbox").addClass("show"); $("#loadingremaininngbox").removeClass("hidden"); - $("#searchbtn").attr('disabled','disabled'); + $("#searchbtn").attr('disabled', 'disabled'); } // 隐藏“正在加载文件列表”提示栏 -function hiddenLoadingRemaininngBox(){ +function hiddenLoadingRemaininngBox() { loadingComplete = true; $("#loadingremaininngbox").removeClass("show"); $("#loadingremaininngbox").addClass("hidden"); @@ -3394,7 +3745,7 @@ function hiddenLoadingRemaininngBox(){ } // 将加载的后续文件夹视图数据更新至页面上显示 -function updateFolderTable(remainingFV){ +function updateFolderTable(remainingFV) { var authList = folderView.authList; var aD = false; var aR = false; @@ -3409,27 +3760,28 @@ function updateFolderTable(remainingFV){ if (checkAuth(authList, "L")) { aL = true; } - if (checkAuth(authList, "O")){ + if (checkAuth(authList, "O")) { aO = true; } - if(remainingFV.folderList){ - if(remainingFV.folderList.length > 0){ - for(var i1=remainingFV.folderList.length;i1>0;i1--){ - var f=remainingFV.folderList[i1-1]; - if(!folderContains(folderView.folderList,f.folderId)){ + if (remainingFV.folderList) { + if (remainingFV.folderList.length > 0) { + for (var i1 = remainingFV.folderList.length; i1 > 0; i1--) { + var f = remainingFV.folderList[i1 - 1]; + if (!folderContains(folderView.folderList, f.folderId)) { folderView.folderList.unshift(f); - $("[iskfolder=true]:last").after(createNewFolderRow(f,aD,aR,aO)); + $("[iskfolder=true]:last").after( + createNewFolderRow(f, aD, aR, aO)); } } } } - if(remainingFV.fileList){ - if(remainingFV.fileList.length > 0){ - for(var i2=remainingFV.fileList.length;i2>0;i2--){ - var fi = remainingFV.fileList[i2-1]; - if(!fileContains(folderView.fileList,fi.fileId)){ + if (remainingFV.fileList) { + if (remainingFV.fileList.length > 0) { + for (var i2 = remainingFV.fileList.length; i2 > 0; i2--) { + var fi = remainingFV.fileList[i2 - 1]; + if (!fileContains(folderView.fileList, fi.fileId)) { folderView.fileList.unshift(fi); - $("#foldertable").append(createFileRow(fi,aL,aD,aR,aO)); + $("#foldertable").append(createFileRow(fi, aL, aD, aR, aO)); } } } @@ -3437,19 +3789,19 @@ function updateFolderTable(remainingFV){ } // 判断文件夹数组中是否存已在ID相同的某个文件夹 -function folderContains(folderList,targetFolderId){ - for(var i=folderList.length;i>0;i--){ - if(folderList[i-1].folderId == targetFolderId){ +function folderContains(folderList, targetFolderId) { + for (var i = folderList.length; i > 0; i--) { + if (folderList[i - 1].folderId == targetFolderId) { return true; } } - return false; + return false; } // 判断文件数组中是否存已在ID相同的某个文件 -function fileContains(fileList,targetFileId){ - for(var i=fileList.length;i>0;i--){ - if(fileList[i-1].fileId == targetFileId){ +function fileContains(fileList, targetFileId) { + for (var i = fileList.length; i > 0; i--) { + if (fileList[i - 1].fileId == targetFileId) { return true; } } @@ -3457,6 +3809,8 @@ function fileContains(fileList,targetFileId){ } // 更新文件夹视图信息 -function updateTheFolderInfo(){ - $("#fim_statistics").text("共包含 "+folderView.folderList.length+" 个文件夹, "+folderView.fileList.length+" 个文件。"); +function updateTheFolderInfo() { + $("#fim_statistics").text( + "共包含 " + folderView.folderList.length + " 个文件夹, " + + folderView.fileList.length + " 个文件。"); } \ No newline at end of file diff --git a/webContext/js/home.min.js b/webContext/js/home.min.js index 39afa65..8054226 100644 --- a/webContext/js/home.min.js +++ b/webContext/js/home.min.js @@ -1,3 +1,3 @@ -function updateWinHeight(){window.innerHeight?winHeight=window.innerHeight:document.body&&document.body.clientHeight&&(winHeight=document.body.clientHeight)}function changeFilesTableStyle(){var a=$(window).width();768>a?($("#filetableheadera").addClass("filetableheaderstyle"),$("#filetableheadera").attr("data-toggle","collapse"),$("#filetableheadera").attr("data-target","#filetableoptmenu"),$("#mdropdownicon").html("(点击展开/折叠菜单)")):($("#filetableheadera").removeClass("filetableheaderstyle"),$("#filetableheadera").attr("data-toggle","modal"),$("#filetableheadera").attr("data-target","#folderInfoModal"),$("#mdropdownicon").html(""))}function doAlert(){alert("错误:无法连接到kiftd服务器,请检查您的网络连接或查看服务器运行状态。")}function getServerOS(){$.ajax({type:"POST",dataType:"text",data:{},url:"homeController/getServerOS.ajax",success:function(a){return"mustLogin"==a?(window.location.href="prv/login.html",void 0):($("#serverOS").text(a),void 0)},error:function(){$("#serverOS").html("获取失败,点击重试")}})}function showFolderView(fid,targetId){loadingFolderView||(startLoading(),remainingLoadingRequest&&remainingLoadingRequest.abort(),$.ajax({type:"POST",dataType:"text",data:{fid:fid},url:"homeController/getFolderView.ajax",success:function(result){switch(endLoading(),result){case"ERROR":doAlert(),$("#tb").html("获取失败,请尝试刷新"),$("#publishTime").html("获取失败,请尝试刷新"),$("#parentlistbox").html("获取失败,请尝试刷新");break;case"NOT_FOUND":case"notAccess":document.cookie="folder_id="+escape("root");case"mustLogin":window.location.href="/";break;default:folderView=eval("("+result+")"),locationpath=folderView.folder.folderId,document.cookie="folder_id="+escape(locationpath),parentpath=folderView.folder.folderParent,constraintLevel=folderView.folder.folderConstraint,screenedFoldrView=null,originFolderView=$.extend(!0,{},folderView),totalFoldersOffset=folderView.foldersOffset,totalFilesOffset=folderView.filesOffset,$("#sreachKeyWordIn").val(""),showParentList(folderView),showAccountView(folderView),showPublishTime(folderView),$("#sortByFN").removeClass(),$("#sortByCD").removeClass(),$("#sortByFS").removeClass(),$("#sortByCN").removeClass(),$("#sortByOR").removeClass(),showFolderTable(folderView),$("#fim_name").text(folderView.folder.folderName),$("#fim_creator").text(folderView.folder.folderCreator),$("#fim_folderCreationDate").text(folderView.folder.folderCreationDate),$("#fim_folderId").text(folderView.folder.folderId),updateTheFolderInfo(),folderView.foldersOffset>folderView.selectStep||folderView.filesOffset>folderView.selectStep?(showLoadingRemaininngBox(),loadingRemainingFolderView(targetId)):(hiddenLoadingRemaininngBox(),doFixedRow(targetId))}},error:function(){endLoading(),doAlert(),$("#tb").html("获取失败,请尝试刷新"),$("#publishTime").html("获取失败,请尝试刷新"),$("#parentlistbox").html("获取失败,请尝试刷新")}}))}function startLoading(){loadingFolderView=!0,$("#loadingModal").modal({backdrop:"static",keyboard:!1}),$("#loadingModal").modal("show"),$("#loadingModal").addClass("shown")}function endLoading(){loadingFolderView=!1,$("#loadingModal").modal("hide"),$("#loadingModal").removeClass("shown")}function startLogin(){$("#accountid").attr("disabled","disabled"),$("#accountpwd").attr("disabled","disabled"),$("#dologinButton").attr("disabled","disabled"),$("#vercode").attr("disabled","disabled")}function finishLogin(){$("#accountid").removeAttr("disabled"),$("#accountpwd").removeAttr("disabled"),$("#dologinButton").removeAttr("disabled"),$("#vercode").removeAttr("disabled")}function dologin(){var accountId=$("#accountid").val(),accountPwd=$("#accountpwd").val(),check="y";0==accountId.length?($("#accountidbox").addClass("has-error"),check="n"):$("#accountidbox").removeClass("has-error"),0==accountPwd.length?($("#accountpwdbox").addClass("has-error"),check="n"):$("#accountpwdbox").removeClass("has-error"),"y"==check&&(startLogin(),$.ajax({url:"homeController/getPublicKey.ajax",type:"POST",data:{},dataType:"text",success:function(result){var encrypted,publicKeyInfo=eval("("+result+")"),date=new Date,loginInfo='{accountId:"'+accountId+'",accountPwd:"'+accountPwd+'",time:"'+publicKeyInfo.time+'"}',encrypt=new JSEncrypt;encrypt.setPublicKey(publicKeyInfo.publicKey),encrypted=encrypt.encrypt(loginInfo),sendLoginInfo(encrypted)},error:function(){finishLogin(),$("#alertbox").addClass("alert"),$("#alertbox").addClass("alert-danger"),$("#alertbox").text("提示:登录请求失败,请检查网络或服务器运行状态")}}))}function sendLoginInfo(a){$.ajax({type:"POST",dataType:"text",url:"homeController/doLogin.ajax",data:{encrypted:a,vercode:$("#vercode").val()},success:function(a){switch(finishLogin(),$("#alertbox").removeClass("alert"),$("#alertbox").removeClass("alert-danger"),$("#alertbox").text(""),$("#vercodebox").html(""),$("#vercodebox").removeClass("show"),$("#vercodebox").addClass("hidden"),a){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"needsubmitvercode":$("#vercodebox").html("
    "),$("#vercodebox").removeClass("hidden"),$("#vercodebox").addClass("show");break;case"error":$("#alertbox").addClass("alert"),$("#alertbox").addClass("alert-danger"),$("#alertbox").text("提示:登录失败,登录请求无法通过加密效验(可能是请求耗时过长导致的)");break;default:$("#alertbox").addClass("alert"),$("#alertbox").addClass("alert-danger"),$("#alertbox").text("提示:无法登录,未知错误")}},error:function(){finishLogin(),$("#alertbox").addClass("alert"),$("#alertbox").addClass("alert-danger"),$("#alertbox").text("提示:登录请求失败,请检查网络或服务器运行状态")}})}function getNewVerCode(){$("#showvercode").attr("src","homeController/getNewVerCode.do?s="+(new Date).getTime())}function dologout(){$("#logoutModal").modal("hide"),$.ajax({url:"homeController/doLogout.ajax",type:"POST",data:{},dataType:"text",success:function(a){"SUCCESS"==a&&showFolderView(locationpath)},error:function(){doAlert()}})}function showParentList(a){$("#parentFolderList").html("");var b=a.folder;a.parentList.length>0?$.each(a.parentList,function(a,b){$("#parentFolderList").append("
  • "+b.folderName+"
  • ")}):$("#parentFolderList").html("
  • "),b.folderName.length>6?$("#currentFolderName").text(b.folderName.substr(0,6)+"..."):$("#currentFolderName").text(b.folderName),"ROOT"==b.folderName?($("#folderIconSpan").removeClass("glyphicon-folder-close"),$("#folderIconSpan").removeClass("glyphicon-search"),$("#folderIconSpan").addClass("glyphicon-home")):null!=a.keyWorld?($("#folderIconSpan").removeClass("glyphicon-folder-close"),$("#folderIconSpan").removeClass("glyphicon-home"),$("#folderIconSpan").addClass("glyphicon-search")):($("#folderIconSpan").removeClass("glyphicon-home"),$("#folderIconSpan").removeClass("glyphicon-search"),$("#folderIconSpan").addClass("glyphicon-folder-close"))}function showAccountView(a){$("#tb,#tb2").html(""),account=a.account,null!=a.account?($("#tb").append(""),$("#tb2").append(""),"true"==a.allowChangePassword&&($("#tb").append(" "),$("#tb2").append(" "))):($("#tb").append(""),$("#tb2").append(""),"true"==a.allowSignUp&&($("#tb").append(" "),$("#tb2").append(" ")));var b=a.authList;$("#fileListDropDown li").addClass("disabled"),$("#fileListDropDown li a").attr("onclick",""),$("#fileListDropDown li a").attr("href","javascript:void(0);"),null!=b&&(checkAuth(b,"C")&&($("#createFolderButtonLi").removeClass("disabled"),$("#createFolderButtonLi a").attr("onclick","showNewFolderModel()")),checkAuth(b,"U")&&($("#uploadFileButtonLi").removeClass("disabled"),$("#uploadFileButtonLi a").attr("onclick","showUploadFileModel()"),checkAuth(b,"C")&&isSupportWebkitdirectory()&&($("#uploadFolderButtonLi").removeClass("disabled"),$("#uploadFolderButtonLi a").attr("onclick","showUploadFolderModel()"))),a.enableDownloadZip&&checkAuth(b,"L")?$("#packageDownloadBox").html(""):$("#packageDownloadBox").html(""),checkAuth(b,"D")&&($("#deleteSeelectFileButtonLi").removeClass("disabled"),$("#deleteSeelectFileButtonLi a").attr("onclick","showDeleteAllCheckedModel()")),checkAuth(b,"M")&&($("#cutFileButtonLi").removeClass("disabled"),$("#cutFileButtonLi a").attr("onclick","startMoveFile()"),void 0!==checkedMovefiles&&checkedMovefiles.length>0&&($("#cutSignTx").text("粘贴("+checkedMovefiles.length+")"),$("#cutSignTx").addClass("cuted"))))}function checkAuth(a,b){var c=!1;return $.each(a,function(a,d){d==b&&(c=!0)}),c}function showPublishTime(a){$("#publishTime").html("");var b="";b=null!=a.publishTime?a.publishTime:"--",$("#publishTime").text(b)}function refreshFolderView(){null!=locationpath&&locationpath.length>0?showFolderView(locationpath):showFolderView("root"),subscribeNotice()}function returnPF(){null!=parentpath&&"null"!=parentpath?showFolderView(parentpath):showFolderView("root")}function showFolderTable(a){var b,c,d,e,f,g,h,i,j;for($("#foldertable").html(""),null!=parentpath&&"null"!=parentpath&&$("#foldertable").append("--------"),b=a.authList,c=!1,d=!1,e=!1,f=!1,checkAuth(b,"D")&&(c=!0),checkAuth(b,"R")&&(d=!0),checkAuth(b,"L")&&(e=!0),checkAuth(b,"O")&&(f=!0),g=a.folderList.length;g>0;g--)h=a.folderList[g-1],$("#foldertable").append(createNewFolderRow(h,c,d,f));for(i=a.fileList.length;i>0;i--)j=a.fileList[i-1],$("#foldertable").append(createFileRow(j,e,c,d,f))}function createFileRow(a,b,c,d,e){var f,g;if(a.fileName=a.fileName.replace(/\'/g,"'").replace(//g,">"),f=""+a.fileName+""+a.fileCreationDate+"","0"==a.fileSize?f+="<1MB":f=f+""+a.fileSize+"MB",f=f+""+a.fileCreator+"",b)switch(f=f+"",g=getSuffix(a.fileName)){case"mp4":f=f+"";break;case"webm":case"mov":case"avi":case"wmv":case"mkv":case"flv":folderView.enableFFMPEG&&(f=f+"");break;case"pdf":f=f+"";break;case"jpg":case"jpeg":case"gif":case"png":case"bmp":f=f+"";break;case"mp3":case"wav":case"ogg":f=f+"";break;case"docx":f=f+"";break;case"txt":f=f+"";break;case"ppt":case"pptx":f=f+""}return c&&(f=f+""),d&&(f=f+""),e&&(f=f+""),b&&"true"==folderView.showFileChain&&(f=f+""),d||c||b||e||(f+="--"),f+=""}function createNewFolderRow(a,b,c,d){a.folderName=a.folderName.replace(/\'/g,"'").replace(//g,">");var e=""+a.folderCreationDate+"--"+a.folderCreator+"";return b&&(e=e+""),c&&(e=e+""),d&&(e=e+""),c||b||d||(e+="--"),e+=""}function showNewFolderModel(){$("#newFolderModal").modal("show")}function changeNewFolderType(a){$("#newfoldertype").text(folderTypes[a]),$("#foldername").attr("folderConstraintLevel",a+"")}function createfolder(){var a=$("#foldername").val(),b=$("#foldername").attr("folderConstraintLevel"),c=new RegExp('[/|\\\\*\\<\\>\\?\\:\\&\\$"]+',"g");0==a.length?showFolderAlert("提示:文件夹名称不能为空。"):a.length>128?showFolderAlert("提示:文件夹名称太长。"):c.test(a)||0==a.indexOf(".")?showFolderAlert("提示:文件夹名中不应含有:引号 / \\ * | < > & $ : ? 且不能以“.”开头。"):($("#folderalert").removeClass("alert"),$("#folderalert").removeClass("alert-danger"),$("#foldernamebox").removeClass("has-error"),$("#folderalert").text(""),$.ajax({type:"POST",dataType:"text",data:{parentId:locationpath,folderName:a,folderConstraint:b},url:"homeController/newFolder.ajax",success:function(a){if("mustLogin"==a)window.location.href="prv/login.html";else switch(a){case"noAuthorized":showFolderAlert("提示:您的操作未被授权,创建文件夹失败。");break;case"errorParameter":showFolderAlert("提示:参数不正确,创建文件夹失败。");break;case"cannotCreateFolder":showFolderAlert("提示:出现意外错误,可能未能创建文件夹。");break;case"nameOccupied":showFolderAlert("提示:该名称已被占用,请选取其他名称。");break;case"foldersTotalOutOfLimit":showFolderAlert("提示:该文件夹内存储的文件夹数量已达上限,无法在其中创建更多文件夹。");break;case"createFolderSuccess":$("#newFolderModal").modal("hide"),showFolderView(locationpath);break;default:showFolderAlert("提示:出现意外错误,可能未能创建文件夹。")}},error:function(){showFolderAlert("提示:出现意外错误,可能未能创建文件夹")}}))}function showFolderAlert(a){$("#folderalert").addClass("alert"),$("#folderalert").addClass("alert-danger"),$("#foldernamebox").addClass("has-error"),$("#folderalert").text(a)}function entryFolder(a){showFolderView(a)}function showDeleteFolderModel(a,b){$("#deleteFolderBox").html(""),$("#dmbutton").attr("disabled",!1),$("#deleteFolderMessage").text("提示:确定要彻底删除文件夹:["+b+"]及其全部内容么?该操作不可恢复"),$("#deleteFolderModal").modal("toggle")}function deleteFolder(a){$("#dmbutton").attr("disabled",!0),$("#deleteFolderMessage").text("提示:正在删除,请稍候..."),$.ajax({type:"POST",dataType:"text",data:{folderId:a},url:"homeController/deleteFolder.ajax",success:function(a){"mustLogin"==a?window.location.href="prv/login.html":"noAuthorized"==a?($("#deleteFolderMessage").text("提示:您的操作未被授权,删除文件夹失败"),$("#dmbutton").attr("disabled",!1)):"errorParameter"==a?($("#deleteFolderMessage").text("提示:参数不正确,删除文件夹失败"),$("#dmbutton").attr("disabled",!1)):"cannotDeleteFolder"==a?($("#deleteFolderMessage").text("提示:出现意外错误,可能未能删除文件夹"),$("#dmbutton").attr("disabled",!1)):"deleteFolderSuccess"==a?($("#deleteFolderModal").modal("hide"),showFolderView(locationpath)):($("#deleteFolderMessage").text("提示:出现意外错误,可能未能删除文件夹"),$("#dmbutton").attr("disabled",!1))},error:function(){$("#deleteFolderMessage").text("提示:出现意外错误,可能未能删除文件夹"),$("#dmbutton").attr("disabled",!1)}})}function showRenameFolderModel(a,b,c){$("#renameFolderBox").html(""),$("#newfoldername").val(b),changeEditFolderType(c),$("#renameFolderModal").modal("show")}function changeEditFolderType(a){$("#editfoldertype").text(folderTypes[a]),$("#newfoldername").attr("folderConstraintLevel",a+"")}function renameFolder(a){var b=$("#newfoldername").val(),c=$("#newfoldername").attr("folderConstraintLevel"),d=new RegExp('[/|\\\\*\\<\\>\\?\\:\\&\\$"]+',"g");0==b.length?showRFolderAlert("提示:文件夹名称不能为空。"):b.length>128?showRFolderAlert("提示:文件夹名称太长。"):d.test(b)||0==b.indexOf(".")?showRFolderAlert("提示:文件夹名中不应含有:引号 / \\ * | < > & $ : ? 且不能以“.”开头。"):($("#newfolderalert").removeClass("alert"),$("#newfolderalert").removeClass("alert-danger"),$("#folderrenamebox").removeClass("has-error"),$("#newfolderalert").text(""),$.ajax({type:"POST",dataType:"text",data:{folderId:a,newName:b,folderConstraint:c},url:"homeController/renameFolder.ajax",success:function(a){"mustLogin"==a?window.location.href="prv/login.html":"noAuthorized"==a?showRFolderAlert("提示:您的操作未被授权,编辑失败。"):"errorParameter"==a?showRFolderAlert("提示:参数不正确,编辑失败,请刷新后重试。"):"nameOccupied"==a?showRFolderAlert("提示:该名称已被占用,请选取其他名称。"):"renameFolderSuccess"==a?($("#renameFolderModal").modal("hide"),showFolderView(locationpath)):showRFolderAlert("提示:出现意外错误,可能未能编辑文件夹,请刷新后重试。")},error:function(){showRFolderAlert("提示:出现意外错误,可能未能编辑文件夹,请刷新后重试。")}}))}function showRFolderAlert(a){$("#editfolderalert").addClass("alert"),$("#editfolderalert").addClass("alert-danger"),$("#folderrenamebox").addClass("has-error"),$("#editfolderalert").text(a)}function showUploadFileModel(){$("#uploadFileAlert").hide(),$("#uploadFileAlert").text(""),0==isUpLoading&&($("#filepath").removeAttr("disabled"),$("#uploadfile").val(""),$("#filepath").val(""),$("#pros").width("0%"),$("#pros").attr("aria-valuenow","0"),$("#umbutton").attr("disabled",!1),$("#filecount").text(""),$("#uploadstatus").html(""),$("#selectcount").text(""),$("#selectFileUpLoadModelAsAll").removeAttr("checked"),$("#selectFileUpLoadModelAlert").hide()),$("#uploadFileModal").modal("show")}function checkpath(){$("#uploadfile").click()}function getInputUpload(){fs=$("#uploadfile").get(0).files,showfilepath()}function showfilepath(){var b,a="";for(b=0;b0){for($("#filepath").attr("disabled","disabled"),$("#umbutton").attr("disabled",!0),isUpLoading=!0,repeModelList=null,$("#uploadFileAlert").hide(),$("#uploadFileAlert").text(""),filenames=new Array,maxSize=0,maxFileIndex=0,i=0;imaxSize&&(maxSize=fs[i].size,maxFileIndex=i);namelist=JSON.stringify(filenames),$.ajax({type:"POST",dataType:"text",data:{folderId:locationpath,namelist:namelist,maxSize:maxSize,maxFileIndex:maxFileIndex},url:"homeController/checkUploadFile.ajax",success:function(result){if("mustLogin"==result)window.location.href="prv/login.html";else switch(result){case"errorParameter":showUploadFileAlert("提示:参数不正确,无法开始上传");break;case"noAuthorized":showUploadFileAlert("提示:您的操作未被授权,无法开始上传");break;case"filesTotalOutOfLimit":showUploadFileAlert("提示:该文件夹内存储的文件数量已达上限,无法在其中上传更多文件。您可以尝试将其上传至其他文件夹内。");break;default:var resp=eval("("+result+")");"fileTooLarge"==resp.checkResult?showUploadFileAlert("提示:文件["+resp.overSizeFile+"]的体积超过最大限制("+resp.maxUploadFileSize+"),无法开始上传"):"hasExistsNames"==resp.checkResult?(repeList=resp.pereFileNameList,repeIndex=0,selectFileUpLoadModelStart()):"permitUpload"==resp.checkResult?doupload(1):showUploadFileAlert("提示:出现意外错误,无法开始上传")}},error:function(){showUploadFileAlert("提示:出现意外错误,无法开始上传")}})}else showUploadFileAlert("提示:您未选择任何文件,无法开始上传");else showUploadFileAlert("提示:另一项上传文件或文件夹的任务尚未完成,无法开始上传")}function selectFileUpLoadModelStart(){var a=originFolderView.authList;checkAuth(a,"D")?$("#uploadcoverbtn").show():$("#uploadcoverbtn").hide(),$("#selectFileUpLoadModelAlert").show(),$("#repeFileName").text(repeList[repeIndex])}function selectFileUpLoadModelEnd(a){if(null==repeModelList&&(repeModelList={}),repeModelList[$("#repeFileName").text()]=a,$("#selectFileUpLoadModelAlert").hide(),$("#selectFileUpLoadModelAsAll").prop("checked")){for(var b=repeIndex;b1&&$("#filecount").text("("+a+"/"+b+")"),$("#uploadstatus").prepend("

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

    "),xhr=new XMLHttpRequest,e=new FormData,e.append("file",c),e.append("folderId",locationpath),null!=repeModelList&&null!=repeModelList[d]){if("skip"==repeModelList[d])return $("#uls_"+a).text("[已完成]"),b>a?(doupload(a+1),void 0):(isUpLoading=!1,$("#filepath").removeAttr("disabled"),$("#uploadfile").val(""),$("#filepath").val(""),$("#pros").width("0%"),$("#pros").attr("aria-valuenow","0"),$("#umbutton").attr("disabled",!1),$("#filecount").text(""),$("#uploadstatus").text(""),$("#selectcount").text(""),$("#uploadFileModal").modal("hide"),showFolderView(locationpath),void 0);e.append("repeType",repeModelList[d])}xhr.open("POST","homeController/douploadFile.ajax",!0),xhr.upload.addEventListener("progress",uploadProgress,!1),xhr.send(e),null==pingInt&&(pingInt=setInterval("ping()",6e4)),xhr.onloadend=function(){if(null!=pingInt&&(window.clearInterval(pingInt),pingInt=null),200===xhr.status){var c=xhr.responseText;"uploadsuccess"==c?($("#uls_"+a).text("[已完成]"),b>a?doupload(a+1):(isUpLoading=!1,$("#filepath").removeAttr("disabled"),$("#uploadfile").val(""),$("#filepath").val(""),$("#pros").width("0%"),$("#pros").attr("aria-valuenow","0"),$("#umbutton").attr("disabled",!1),$("#filecount").text(""),$("#uploadstatus").text(""),$("#selectcount").text(""),$("#uploadFileModal").modal("hide"),showFolderView(locationpath))):"uploaderror"==c?(showUploadFileAlert("提示:出现意外错误,文件:["+d+"]上传失败,上传被中断。"),$("#uls_"+a).text("[失败]")):"filesTotalOutOfLimit"==c?(showUploadFileAlert("提示:该文件夹内存储的文件数量已达上限,文件:["+d+"]上传失败。您可以尝试将其上传至其他文件夹内。"),$("#uls_"+a).text("[失败]")):(showUploadFileAlert("提示:出现意外错误,文件:["+d+"]上传失败,上传被中断。"),$("#uls_"+a).text("[失败]"))}else showUploadFileAlert("提示:出现意外错误,文件:["+d+"]上传失败,上传被中断。"),$("#uls_"+a).text("[失败]")}}else showUploadFileAlert("提示:要上传的文件不存在。"),$("#uploadstatus").prepend("

    未找到要上传的文件[失败]

    ")}function uploadProgress(a){if(a.lengthComputable){var b=Math.round(100*a.loaded/a.total);$("#pros").width(b+"%"),$("#pros").attr("aria-valuenow",""+b)}}function showUploadFileAlert(a){isUpLoading=!1,$("#filepath").removeAttr("disabled"),$("#uploadFileAlert").show(),$("#uploadFileAlert").text(a),$("#umbutton").attr("disabled",!1)}function abortUpload(){isUpLoading=!1,null!=xhr&&xhr.abort(),$("#uploadFileModal").modal("hide"),showFolderView(locationpath)}function showDownloadModel(a,b){$("#downloadFileName").text("提示:您确认要下载文件:["+b+"]么?"),$("#downloadHrefBox").html("正在生成..."),getDownloadFileId=a,getDownloadFileName=b,$("#downloadFileBox").html(""),$("#dlmbutton").attr("disabled",!1),$("#downloadModal").modal("show")}function dodownload(a){$("#dlmbutton").attr("disabled",!0),$("#downloadFileName").text("提示:准备开始下载,请稍候..."),setTimeout("$('#downloadModal').modal('hide');",800),window.location.href="homeController/downloadFile.do?fileId="+a}function showDeleteFileModel(a,b){$("#deleteFileBox").html(""),$("#dfmbutton").attr("disabled",!1),$("#deleteFileMessage").text("提示:确定要彻底删除文件:["+b+"]么?该操作不可恢复"),$("#deleteFileModal").modal("toggle")}function deleteFile(a){$("#dfmbutton").attr("disabled",!0),$("#deleteFileMessage").text("提示:正在删除,请稍候..."),$.ajax({type:"POST",dataType:"text",data:{fileId:a},url:"homeController/deleteFile.ajax",success:function(a){"mustLogin"==a?window.location.href="prv/login.html":"noAuthorized"==a?($("#deleteFileMessage").text("提示:您的操作未被授权,删除失败"),$("#dfmbutton").attr("disabled",!1)):"errorParameter"==a?($("#deleteFileMessage").text("提示:参数不正确,删除失败"),$("#dfmbutton").attr("disabled",!1)):"cannotDeleteFile"==a?($("#deleteFileMessage").text("提示:出现意外错误,可能未能删除文件"),$("#dfmbutton").attr("disabled",!1)):"deleteFileSuccess"==a?($("#deleteFileModal").modal("hide"),showFolderView(locationpath)):($("#deleteFileMessage").text("提示:出现意外错误,可能未能删除文件"),$("#dfmbutton").attr("disabled",!1))},error:function(){$("#deleteFileMessage").text("提示:出现意外错误,可能未能删除文件"),$("#dfmbutton").attr("disabled",!1)}})}function showRenameFileModel(a,b){$("#newFileNamealert").removeClass("alert"),$("#newFileNamealert").removeClass("alert-danger"),$("#filerenamebox").removeClass("has-error"),$("#newFileNamealert").text(""),$("#renameFileBox").html(""),$("#newfilename").val(b),$("#renameFileModal").modal("toggle")}function renameFile(a){var b=new RegExp('[/|\\\\*\\<\\>\\?\\:\\&\\$"]+',"g"),c=$("#newfilename").val();c.length>0?c.length<128?b.test(c)||0==c.indexOf(".")?showRFileAlert("提示:文件名中不应含有:引号 / \\ * | < > & $ : ? 且不能以“.”开头。"):$.ajax({type:"POST",dataType:"text",data:{fileId:a,newFileName:c},url:"homeController/renameFile.ajax",success:function(a){"mustLogin"==a?window.location.href="prv/login.html":"cannotRenameFile"==a?showRFileAlert("提示:出现意外错误,可能未能重命名文件,请刷新后重试。"):"renameFileSuccess"==a?($("#renameFileModal").modal("hide"),showFolderView(locationpath)):"errorParameter"==a?showRFileAlert("提示:参数错误,重命名失败,请刷新后重试。"):"nameOccupied"==a?showRFileAlert("提示:该名称已被占用,请选取其他名称。"):"noAuthorized"==a?showRFileAlert("提示:您的操作未被授权,重命名失败,请刷新后重试。"):showRFileAlert("提示:出现意外错误,可能未能重命名文件,请刷新后重试。")},error:function(){showRFileAlert("提示:出现意外错误,可能未能重命名文件。")}}):showRFileAlert("提示:文件名称太长。"):showRFileAlert("提示:文件名不能为空。")}function showRFileAlert(a){$("#newFileNamealert").addClass("alert"),$("#newFileNamealert").addClass("alert-danger"),$("#filerenamebox").addClass("has-error"),$("#newFileNamealert").text(a)}function getSuffix(a){var b=a.lastIndexOf("."),c=a.length,d=a.substring(b+1,c);return d.toLowerCase()}function playVideo(a){window.open("quickview/video.html?fileId="+a)}function pdfView(a){window.open("/pdfview/web/viewer.html?file=/fileblocks/"+a)}function docxView(a){window.open("/pdfview/web/viewer.html?file=/resourceController/getWordView/"+a)}function txtView(a){window.open("/pdfview/web/viewer.html?file=/resourceController/getTxtView/"+a)}function pptView(a){window.open("/pdfview/web/viewer.html?file=/resourceController/getPPTView/"+a)}function showPicture(fileId){$.ajax({url:"homeController/getPrePicture.ajax",data:{fileId:fileId},type:"POST",dataType:"text",success:function(result){if("ERROR"!=result)if(pvl=eval("("+result+")"),pvl.pictureViewList.length<=viewerPageSize)createViewList();else{viewerPageIndex=Math.ceil((pvl.index+1)/viewerPageSize),viewerTotal=Math.ceil(pvl.pictureViewList.length/viewerPageSize),createViewListByPage();var innerIndex=pvl.index-(viewerPageIndex-1)*viewerPageSize;viewerPageIndex>1&&innerIndex++,viewer.viewer("view",innerIndex),viewer.viewer("show",!0)}else alert("错误:无法定位要预览的文件或该操作未被授权。")},error:function(){alert("错误:请求失败,请刷新重试。")}})}function createViewList(){var a,b;if(null==viewer){for(a=document.createElement("ul"),b=0;b"+pvl.pictureViewList[b].fileName+""):$(a).append("
  • "+pvl.pictureViewList[b].fileName+"
  • ");viewer=$(a),viewer.viewer({loop:!1,hidden:function(){viewer.data("viewer").destroy(),viewer=null}})}viewer.viewer("view",pvl.index),viewer.viewer("show",!0)}function createViewListByPage(){var a,b,c;if(null==viewer){for(a=document.createElement("ul"),b=(viewerPageIndex-1)*viewerPageSize,viewerPageIndex>1&&$(a).append("
  • 上一页
  • "),c=0;viewerPageSize>c&&c"+pvl.pictureViewList[b+c].fileName+""):$(a).append("
  • "+pvl.pictureViewList[b+c].fileName+"
  • ");viewerTotal>viewerPageIndex&&$(a).append("
  • 下一页
  • "),viewer=$(a),viewer.viewer({loop:!1,view:function(a){0==a.detail.index&&1!=viewerPageIndex?(viewerPageIndex--,viewer.data("viewer").destroy(),viewer.empty(),viewer=null,createViewListByPage(),viewerPageIndex>1?viewer.viewer("view",viewerPageSize):viewer.viewer("view",viewerPageSize-1)):(a.detail.index==viewerPageSize+1||a.detail.index==viewerPageSize&&1==viewerPageIndex)&&(viewerPageIndex++,viewer.data("viewer").destroy(),viewer.empty(),viewer=null,createViewListByPage(),viewer.viewer("view",1)) -},hidden:function(){viewer.data("viewer").destroy(),viewer.empty(),viewer=null}})}}function isShift(a){var b=window.event||a;return b.shiftKey?!0:!1}function checkfile(a,b){isShift(a)?$("#"+b).hasClass("info")?$("#"+b).removeClass("info"):$("#"+b).addClass("info"):($(".filerow").removeClass("info"),$("#"+b).addClass("info"))}function checkConsFile(a,b){var c,d,e;if(isShift(a)&&(c=$("#"+b),d=c.index(),e=$(".filerow.info:last").index(),-1!=e))if(d>e)for(;c[0]&&!c.hasClass("info");)c.addClass("info"),c=c.prev();else for(;c[0]&&!c.hasClass("info");)c.addClass("info"),c=c.next()}function getCheckedFilesAndFolders(){var b,c,d,e,a=new Object;for(a.size=0,b=new Array,c=new Array,d=$(".info").get(),e=0;e开始下载"),$("#dclmbutton").attr("disabled",!1)),$("#downloadAllCheckedModal").modal("toggle")}}function downloadAllChecked(){$("#dclmbutton").attr("disabled",!0);var a=getCheckedFilesAndFolders();$("#downloadAllCheckedName").text("提示:服务器正在对选中资源进行压缩(共"+a.size+"项),这可能需要一些时间(文件越大耗时越长),压缩完成将自动开始下载。"),$.ajax({url:"homeController/getPackTime.ajax",type:"POST",data:{strIdList:a.filesId,strFidList:a.foldersId},dataType:"text",success:function(a){var b;"0"!=a?(b=0,$("#downloadAllCheckedLoad").text("已耗时:"+b+"秒(预计耗时:"+a+")"),zipTimer=setInterval(function(){b++,$("#downloadAllCheckedLoad").text("已耗时:"+b+"秒(预计耗时:"+a+")")},1e3)):(b=0,$("#downloadAllCheckedLoad").text("已耗时:"+b+"秒"),zipTimer=setInterval(function(){b++,$("#downloadAllCheckedLoad").text("已耗时:"+b+"秒")},1e3))},error:function(){$("#downloadAllCheckedLoad").text("(无法获取预计耗时)")}}),$.ajax({type:"POST",url:"homeController/downloadCheckedFiles.ajax",data:{strIdList:a.filesId,strFidList:a.foldersId},dataType:"text",success:function(a){var c,d;null!=zipTimer&&window.clearInterval(zipTimer),"ERROR"==a?$("#downloadAllCheckedName").text("提示:压缩过程出错。无法完成压缩,请重试或告知管理员。"):($("#downloadAllCheckedLoad").text(""),$("#downloadAllCheckedName").text("提示:压缩完成!准备开始下载..."),setTimeout("$('#downloadAllCheckedModal').modal('hide');",800),c=document.createElement("form"),c.action="homeController/downloadCheckedFilesZip.do",c.method="post",c.style.display="none",d=document.createElement("input"),d.name="zipId",d.value=a,c.appendChild(d),document.body.appendChild(c),c.submit())},error:function(){$("#downloadAllCheckedName").text("提示:请求失败。无法完成压缩,请重试或告知管理员。")}})}function showDeleteAllCheckedModel(){$("#deleteFileBox").html("");var a=getCheckedFilesAndFolders();$("#dfmbutton").attr("disabled",!1),0==a.size?$("#deleteFileMessage").html(checkFilesTip):($("#deleteFileBox").html(""),$("#deleteFileMessage").text("提示:确定要彻底删除这"+a.size+"项么?该操作不可恢复!")),$("#deleteFileModal").modal("toggle")}function deleteAllChecked(){var a=getCheckedFilesAndFolders();$("#dfmbutton").attr("disabled",!0),$("#deleteFileMessage").text("提示:正在删除,请稍候..."),$.ajax({type:"POST",dataType:"text",data:{strIdList:a.filesId,strFidList:a.foldersId},url:"homeController/deleteCheckedFiles.ajax",success:function(a){"mustLogin"==a?window.location.href="prv/login.html":"noAuthorized"==a?($("#deleteFileMessage").text("提示:您的操作未被授权,删除失败"),$("#dfmbutton").attr("disabled",!1)):"errorParameter"==a?($("#deleteFileMessage").text("提示:参数不正确,未能全部删除文件"),$("#dfmbutton").attr("disabled",!1)):"cannotDeleteFile"==a?($("#deleteFileMessage").text("提示:出现意外错误,可能未能删除全部文件"),$("#dfmbutton").attr("disabled",!1)):"deleteFileSuccess"==a?($("#deleteFileModal").modal("hide"),showFolderView(locationpath)):($("#deleteFileMessage").text("提示:出现意外错误,可能未能删除全部文件"),$("#dfmbutton").attr("disabled",!1))},error:function(){$("#deleteFileMessage").text("提示:出现意外错误,可能未能删除全部文件"),$("#dfmbutton").attr("disabled",!1)}})}function playAudio(fileId){$("#audioPlayerModal").modal("show"),null==pingInt&&(pingInt=setInterval("ping()",6e4)),null==ap&&(ap=new APlayer({container:document.getElementById("aplayer"),lrcType:3,mutex:!0,volume:.7,theme:"#EDEDED",audio:[]}),ap.on("pause",function(){$("#playOrPause").html("")}),ap.on("play",function(){$("#playOrPause").html("")})),ap.list.clear(),$.ajax({url:"homeController/playAudios.ajax",data:{fileId:fileId},type:"POST",dataType:"text",success:function(result){var i,ail=eval("("+result+")");for(i=0;i",">");ap.list.add(ail.as),ap.list.switch(ail.index),audio_play()},error:function(){alert("错误:无法获取音乐列表,请稍后再试"),closeAudioPlayer()}})}function closeAudioPlayer(){$("#audioPlayerModal").modal("hide")}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()}function audio_vulome_up(){ap.volume(ap.audio.volume+.1,!0)}function audio_vulome_down(){ap.volume(ap.audio.volume-.1,!0)}function sortbyfn(){if(loadingComplete&&!$("#sortByCD,#sortByFS,#sortByCN,#sortByOR").hasClass("glyphicon glyphicon-hourglass")){$("#sortByCD").removeClass(),$("#sortByFS").removeClass(),$("#sortByCN").removeClass(),$("#sortByOR").removeClass();var a=1;$("#sortByFN").hasClass("glyphicon-triangle-bottom")&&(a=-1),$("#sortByFN").removeClass(),$("#sortByFN").addClass("glyphicon glyphicon-hourglass"),setTimeout(function(){folderView.fileList.sort(function(b,c){return a*c.fileName.localeCompare(b.fileName,"zh")}),folderView.folderList.sort(function(b,c){return a*c.folderName.localeCompare(b.folderName,"zh")}),showFolderTable(folderView),$("#sortByFN").removeClass(),-1==a?$("#sortByFN").addClass("glyphicon glyphicon-triangle-top"):$("#sortByFN").addClass("glyphicon glyphicon-triangle-bottom")},0)}}function sortbycd(){if(loadingComplete&&!$("#sortByFN,#sortByFS,#sortByCN,#sortByOR").hasClass("glyphicon glyphicon-hourglass")){$("#sortByFN").removeClass(),$("#sortByFS").removeClass(),$("#sortByCN").removeClass(),$("#sortByOR").removeClass();var a=1;$("#sortByCD").hasClass("glyphicon-triangle-bottom")&&(a=-1),$("#sortByCD").removeClass(),$("#sortByCD").addClass("glyphicon glyphicon-hourglass"),setTimeout(function(){folderView.fileList.sort(function(b,c){var d=b.fileCreationDate.replace("年","-").replace("月","-").replace("日",""),e=c.fileCreationDate.replace("年","-").replace("月","-").replace("日",""),f=new Date(Date.parse(d)).getTime()-new Date(Date.parse(e)).getTime();return a*f}),folderView.folderList.sort(function(b,c){var d=b.folderCreationDate.replace("年","-").replace("月","-").replace("日",""),e=c.folderCreationDate.replace("年","-").replace("月","-").replace("日",""),f=new Date(Date.parse(d)).getTime()-new Date(Date.parse(e)).getTime();return a*f}),showFolderTable(folderView),$("#sortByCD").removeClass(),-1==a?$("#sortByCD").addClass("glyphicon glyphicon-triangle-top"):$("#sortByCD").addClass("glyphicon glyphicon-triangle-bottom")},0)}}function sortbyfs(){if(loadingComplete&&!$("#sortByFN,#sortByCD,#sortByCN,#sortByOR").hasClass("glyphicon glyphicon-hourglass")){$("#sortByFN").removeClass(),$("#sortByCD").removeClass(),$("#sortByCN").removeClass(),$("#sortByOR").removeClass();var a=1;$("#sortByFS").hasClass("glyphicon-triangle-bottom")&&(a=-1),$("#sortByFS").removeClass(),$("#sortByFS").addClass("glyphicon glyphicon-hourglass"),setTimeout(function(){folderView.fileList.sort(function(b,c){return a*(b.fileSize-c.fileSize)}),showFolderTable(folderView),$("#sortByFS").removeClass(),-1==a?$("#sortByFS").addClass("glyphicon glyphicon-triangle-top"):$("#sortByFS").addClass("glyphicon glyphicon-triangle-bottom")},0)}}function sortbycn(){if(loadingComplete&&!$("#sortByFN,#sortByCD,#sortByFS,#sortByOR").hasClass("glyphicon glyphicon-hourglass")){$("#sortByFN").removeClass(),$("#sortByCD").removeClass(),$("#sortByFS").removeClass(),$("#sortByOR").removeClass();var a=1;$("#sortByCN").hasClass("glyphicon-triangle-bottom")&&(a=-1),$("#sortByCN").removeClass(),$("#sortByCN").addClass("glyphicon glyphicon-hourglass"),setTimeout(function(){folderView.fileList.sort(function(b,c){return a*c.fileCreator.localeCompare(b.fileCreator,"zh")}),folderView.folderList.sort(function(b,c){return a*c.folderCreator.localeCompare(b.folderCreator,"zh")}),showFolderTable(folderView),$("#sortByCN").removeClass(),-1==a?$("#sortByCN").addClass("glyphicon glyphicon-triangle-top"):$("#sortByCN").addClass("glyphicon glyphicon-triangle-bottom")},0)}}function showOriginFolderView(){loadingComplete&&($("#sortByFN,#sortByCD,#sortByFS,#sortByCN").hasClass("glyphicon glyphicon-hourglass")||($("#sortByFN").removeClass(),$("#sortByCD").removeClass(),$("#sortByFS").removeClass(),$("#sortByCN").removeClass(),$("#sortByOR").addClass("glyphicon glyphicon-hourglass"),setTimeout(function(){folderView=null!=screenedFoldrView?$.extend(!0,{},screenedFoldrView):$.extend(!0,{},originFolderView),showFolderTable(folderView),$("#sortByOR").removeClass()},0)))}function startMoveFile(){$("#cutSignTx").hasClass("cuted")&&void 0!==checkedMovefiles?($("#moveFilesMessage").text("提示:确定将这"+checkedMovefiles.size+"项移动到当前位置么?"),$("#moveFilesBox").html(""),$("#selectFileMoveModelAsAll").removeAttr("checked"),$("#selectFileMoveModelAlert").hide(),$("#moveFilesModal").modal("show")):(checkedMovefiles=getCheckedFilesAndFolders(),void 0==checkedMovefiles||0==checkedMovefiles.size?($("#moveFilesMessage").html(checkFilesTip),$("#selectFileMoveModelAsAll").removeAttr("checked"),$("#selectFileMoveModelAlert").hide(),$("#moveFilesModal").modal("show")):($("#cutSignTx").html("粘贴("+checkedMovefiles.size+")+V"),$("#cutSignTx").addClass("cuted")))}function doMoveFiles(){$("#dmvfbutton").attr("disabled",!0),$("#moveFilesMessage").text("提示:正在移动,请稍候..."),$.ajax({type:"POST",dataType:"text",data:{strIdList:checkedMovefiles.filesId,strFidList:checkedMovefiles.foldersId,locationpath:locationpath},url:"homeController/confirmMoveFiles.ajax",success:function(result){if("mustLogin"==result)window.location.href="prv/login.html";else switch(result){case"noAuthorized":$("#moveFilesMessage").text("提示:您的操作未被授权,移动失败"),$("#dmvfbutton").attr("disabled",!1);break;case"errorParameter":$("#moveFilesMessage").text("提示:参数不正确,未能全部移动文件,请刷新后重试"),$("#dmvfbutton").attr("disabled",!1);break;case"cannotMoveFiles":$("#moveFilesMessage").text("提示:出现意外错误,可能未能移动全部文件,请刷新后重试"),$("#dmvfbutton").attr("disabled",!1);break;case"filesTotalOutOfLimit":$("#moveFilesMessage").text("提示:该文件夹内存储的文件数量已达上限,无法移入更多文件"),$("#dmvfbutton").attr("disabled",!1);break;case"foldersTotalOutOfLimit":$("#moveFilesMessage").text("提示:该文件夹内存储的文件夹数量已达上限,无法移入更多文件夹"),$("#dmvfbutton").attr("disabled",!1);break;case"confirmMoveFiles":strMoveOptMap={},sendMoveFilesReq();break;default:if(result.startsWith("duplicationFileName:")){repeMap=eval("("+result.substring(20)+")"),repeIndex=0,strMoveOptMap={},mRepeSize=repeMap.repeFolders.length+repeMap.repeNodes.length,repeMap.repeFolders.length>0?$("#mrepeFileName").text(repeMap.repeFolders[repeIndex].folderName):$("#mrepeFileName").text(repeMap.repeNodes[repeIndex].fileName);var authList=originFolderView.authList;checkAuth(authList,"D")?$("#movecoverbtn").show():$("#movecoverbtn").hide(),$("#selectFileMoveModelAlert").show()}else result.startsWith("CANT_MOVE_TO_INSIDE:")?$("#moveFilesMessage").text("错误:不能将一个文件夹移动到其自身内部:"+result.substring(20)):($("#moveFilesMessage").text("提示:出现意外错误,可能未能移动全部文件,请刷新后重试"),$("#dmvfbutton").attr("disabled",!1))}},error:function(){$("#moveFilesMessage").text("提示:出现意外错误,可能未能移动全部文件"),$("#dmvfbutton").attr("disabled",!1)}})}function selectFileMoveModel(a){if($("#selectFileMoveModelAsAll").prop("checked")){for(;mRepeSize>repeIndex;)repeIndexrepeIndex?repeIndexc;c++)b.test(originFolderView.folderList[c].folderName)&&screenedFoldrView.folderList.push(originFolderView.folderList[c]);for(c=0,d=originFolderView.fileList.length;d>c;c++)b.test(originFolderView.fileList[c].fileName)&&screenedFoldrView.fileList.push(originFolderView.fileList[c]);$("#sortByFN").removeClass(),$("#sortByCD").removeClass(),$("#sortByFS").removeClass(),$("#sortByCN").removeClass(),$("#sortByOR").removeClass(),folderView=$.extend(!0,{},screenedFoldrView),showFolderTable(folderView)}catch(e){alert("错误:搜索关键字有误。请在特殊符号(例如“*”)前加上“\\”进行转义。")}}function selectInCompletePath(keyworld){return 0==keyworld.length?(showFolderView(locationpath),void 0):(startLoading(),$.ajax({type:"POST",dataType:"text",data:{fid:locationpath,keyworld:keyworld},url:"homeController/sreachInCompletePath.ajax",success:function(result){endLoading(),"ERROR"==result?(doAlert(),$("#tb").html("获取失败,请尝试刷新"),$("#publishTime").html("获取失败,请尝试刷新"),$("#parentlistbox").html("获取失败,请尝试刷新")):"mustLogin"==result?window.location.href="prv/login.html":"notAccess"==result?(document.cookie="folder_id="+escape("root"),window.location.href="/"):(folderView=eval("("+result+")"),locationpath=folderView.folder.folderId,parentpath=folderView.folder.folderParent,constraintLevel=folderView.folder.folderConstraint,screenedFoldrView=null,$("#sreachKeyWordIn").val("all:"+folderView.keyWorld),showParentList(folderView),showAccountView(folderView),showPublishTime(folderView),originFolderView=$.extend(!0,{},folderView),$("#sortByFN").removeClass(),$("#sortByCD").removeClass(),$("#sortByFS").removeClass(),$("#sortByCN").removeClass(),$("#sortByOR").removeClass(),showFolderTable(folderView))},error:function(){endLoading(),doAlert(),$("#tb").html("获取失败,请尝试刷新"),$("#publishTime").html("获取失败,请尝试刷新"),$("#parentlistbox").html("获取失败,请尝试刷新")}}),void 0)}function goBackToTop(){$("html,body").animate({scrollTop:0},"slow")}function getDownloadURL(){$.ajax({url:"externalLinksController/getDownloadKey.ajax",type:"POST",dataType:"text",data:{fId:getDownloadFileId},success:function(a){var b=window.location.protocol+"//"+window.location.host+"/externalLinksController/downloadFileByKey/"+encodeURIComponent(getDownloadFileName.replace(/\'/g,""))+"?dkey="+a;$("#downloadHrefBox").html(""+b+"")},error:function(){$("#downloadHrefBox").html("获取失败,请检查网络状态或点此重新获取。")}})}function ping(){$.ajax({url:"homeController/ping.ajax",type:"POST",dataType:"text",data:{},success:function(a){"pong"!=a&&null!=pingInt&&(window.clearInterval(pingInt),pingInt=null)},error:function(){null!=pingInt&&(window.clearInterval(pingInt),pingInt=null)}})}function isSupportWebkitdirectory(){var a=document.createElement("input");return"webkitdirectory"in a&&!/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)?!0:!1}function showUploadFolderModel(){if($("#importFolderAlert").hide(),$("#importFolderAlert").text(""),0==isImporting)if($("#folderpath").val(""),$("#importfolder").val(""),$("#importpros").width("0%"),$("#importpros").attr("aria-valuenow","0"),$("#importstatus").html(""),$("#folderpath").attr("disabled",!1),$("#importFolderLevelBtn").attr("disabled",!1),$("#importcount").text(""),$("#importbutton").attr("disabled",!1),$("#importfoldertypelist").html(""),$("#selectFolderImportModelAlert").hide(),null!=account){$("#folderpath").attr("folderConstraintLevel",constraintLevel+""),$("#importfoldertype").text(folderTypes[constraintLevel]);for(var a=constraintLevel;a"+folderTypes[a]+"")}else $("#importfoldertypelist").append("
  • "+folderTypes[0]+"
  • ");$("#importFolderModal").modal("show")}function checkimportpath(){$("#importfolder").click()}function getInputImport(){ifs=$("#importfolder")[0].files,ifs.length>0&&(importFolderName=ifs[0].webkitRelativePath.substring(0,ifs[0].webkitRelativePath.indexOf("/")),$("#folderpath").val(importFolderName))}function checkImportFolder(){var maxSize,maxFileIndex,i;if(0==isUpLoading&&0==isImporting)if(null!=ifs&&ifs.length>0){for($("#folderpath").attr("disabled",!0),$("#importFolderLevelBtn").attr("disabled",!0),$("#importbutton").attr("disabled",!0),$("#importFolderAlert").hide(),$("#importFolderAlert").text(""),isImporting=!0,maxSize=0,maxFileIndex=0,i=0;imaxSize&&(maxSize=ifs[i].size,maxFileIndex=i);$.ajax({url:"homeController/checkImportFolder.ajax",type:"POST",dataType:"text",data:{folderName:importFolderName,maxSize:maxSize,folderId:locationpath},success:function(result){var resJson=eval("("+result+")");switch(resJson.result){case"noAuthorized":showImportFolderAlert("提示:您的操作未被授权,无法开始上传");break;case"errorParameter":showImportFolderAlert("提示:参数不正确,无法开始上传");break;case"mustLogin":window.location.href="prv/login.html";break;case"fileOverSize":showImportFolderAlert("提示:文件["+ifs[maxFileIndex].webkitRelativePath+"]的体积超过最大限制("+resJson.maxSize+"),无法开始上传");break;case"foldersTotalOutOfLimit":showImportFolderAlert("提示:该文件夹内存储的文件夹数量已达上限,无法在其中上传更多文件夹。您可以尝试将其上传至其他文件夹内。");break;case"repeatFolder_Both":$("#repeFolderName").text(importFolderName),$("#importcoverbtn").hide(),$("#selectFolderImportModelAlert").show();break;case"repeatFolder_coverOrBoth":$("#repeFolderName").text(importFolderName),$("#importcoverbtn").show(),$("#selectFolderImportModelAlert").show();break;case"permitUpload":iteratorImport(0);break;default:showImportFolderAlert("提示:出现意外错误,无法开始上传")}},error:function(){showImportFolderAlert("提示:出现意外错误,无法开始上传")}})}else showImportFolderAlert("提示:您未选择任何文件夹,无法开始上传");else showImportFolderAlert("提示:另一项上传文件或文件夹的任务尚未完成,无法开始上传")}function showImportFolderAlert(a){isImporting=!1,$("#folderpath").attr("disabled",!1),$("#importFolderLevelBtn").attr("disabled",!1),$("#importFolderAlert").show(),$("#importFolderAlert").text(a),$("#importbutton").attr("disabled",!1)}function importProgress(a){if(a.lengthComputable){var b=Math.round(100*a.loaded/a.total);$("#importpros").width(b+"%"),$("#importpros").attr("aria-valuenow",""+b)}}function importAndCover(){$("#selectFolderImportModelAlert").hide(),$.ajax({url:"homeController/deleteFolderByName.ajax",type:"POST",data:{parentId:locationpath,folderName:importFolderName},dataType:"text",success:function(a){"deleteSuccess"==a?iteratorImport(0):showImportFolderAlert("提示:无法覆盖原文件夹,上传失败")},error:function(){showImportFolderAlert("提示:无法覆盖原文件夹,上传失败")}})}function importAndBoth(){$("#selectFolderImportModelAlert").hide();var fc=$("#folderpath").attr("folderConstraintLevel");$.ajax({url:"homeController/createNewFolderByName.ajax",type:"POST",data:{parentId:locationpath,folderName:importFolderName,folderConstraint:fc},dataType:"text",success:function(result){var resJson=eval("("+result+")");"success"==resJson.result?iteratorImport(0,resJson.newName):"foldersTotalOutOfLimit"==resJson.result?showImportFolderAlert("提示:该文件夹内存储的文件夹数量已达上限,无法上传同名文件夹并保留两者。您可以尝试将其上传至其他文件夹内。"):showImportFolderAlert("提示:生成新文件夹名称失败,无法开始上传")},error:function(){showImportFolderAlert("提示:生成新文件夹名称失败,无法开始上传")}})}function iteratorImport(a,b){var c,d,e,f,g;$("#importpros").width("0%"),$("#importpros").attr("aria-valuenow","0"),c=ifs[a],d=ifs.length,e=$("#folderpath").attr("folderConstraintLevel"),null!=c?(f=c.webkitRelativePath,d>1&&$("#importcount").text("("+(a+1)+"/"+d+")"),$("#importstatus").prepend("

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

    "),xhr=new XMLHttpRequest,g=new FormData,g.append("file",c),g.append("folderId",locationpath),g.append("folderConstraint",e),b&&g.append("newFolderName",b),xhr.open("POST","homeController/doImportFolder.ajax",!0),xhr.upload.addEventListener("progress",importProgress,!1),xhr.send(g),null==pingInt&&(pingInt=setInterval("ping()",6e4)),xhr.onloadend=function(){var c,e;null!=pingInt&&(window.clearInterval(pingInt),pingInt=null),200===xhr.status?(c=xhr.responseText,"uploadsuccess"==c?($("#ils_"+a).text("[已完成]"),e=a+1,d>e?iteratorImport(e,b):(isImporting=!1,$("#folderpath").removeAttr("disabled"),$("#importFolderLevelBtn").removeAttr("disabled"),$("#importfolder").val(""),$("#folderpath").val(""),$("#importpros").width("0%"),$("#importpros").attr("aria-valuenow","0"),$("#importbutton").attr("disabled",!1),$("#importcount").text(""),$("#importstatus").text(""),$("#importFolderModal").modal("hide"),showFolderView(locationpath))):"uploaderror"==c?(showImportFolderAlert("提示:出现意外错误,文件:["+f+"]上传失败,上传被中断。"),$("#ils_"+a).text("[失败]")):"foldersTotalOutOfLimit"==c?(showImportFolderAlert("提示:该文件夹内存储的文件夹数量已达上限,文件:["+f+"]上传失败,上传被中断。"),$("#ils_"+a).text("[失败]")):"filesTotalOutOfLimit"==c?(showImportFolderAlert("提示:该文件夹内存储的文件数量已达上限,文件:["+f+"]上传失败,上传被中断。"),$("#ils_"+a).text("[失败]")):(showImportFolderAlert("提示:出现意外错误,文件:["+f+"]上传失败,上传被中断。"),$("#ils_"+a).text("[失败]"))):(showImportFolderAlert("提示:出现意外错误,文件:["+f+"]上传失败,上传被中断。"),$("#ils_"+a).text("[失败]"))}):(showImportFolderAlert("提示:要上传的文件不存在。"),$("#importstatus").prepend("

    未找到要上传的文件[失败]

    "))}function abortImport(){isImporting=!1,null!=xhr&&xhr.abort(),$("#importFolderModal").modal("hide"),showFolderView(locationpath)}function changeImportFolderType(a){$("#importfoldertype").text(folderTypes[a]),$("#folderpath").attr("folderConstraintLevel",a+"")}function doChangePassword(){var change_oldPassword,change_newPassword,change_reqNewPassword;return $("#changepassword_oldepwdbox,#changepassword_newpwdbox,#changepassword_reqnewpwdbox").removeClass("has-error"),$("#changepasswordalertbox").hide(),change_oldPassword=$("#changepassword_oldpwd").val(),change_newPassword=$("#changepassword_newpwd").val(),change_reqNewPassword=$("#changepassword_reqnewpwd").val(),0==change_oldPassword.length?($("#changepassword_oldepwdbox").addClass("has-error"),$("#changepassword_oldpwd").focus(),void 0):0==change_newPassword.length?($("#changepassword_newpwdbox").addClass("has-error"),$("#changepassword_newpwd").focus(),void 0):0==change_reqNewPassword.length?($("#changepassword_reqnewpwdbox").addClass("has-error"),$("#changepassword_reqnewpwd").focus(),void 0):(isChangingPassword=!0,$("#changepassword_oldpwd,#changepassword_newpwd,#changepassword_reqnewpwd,#changePasswordButton,#changepassword_vercode").attr("disabled",!0),change_newPassword+""!=change_reqNewPassword+""?(showChangePasswordAlert("提示:两次输入的新密码不一致,请检查确认"),$("#changepassword_newpwdbox").addClass("has-error"),$("#changepassword_reqnewpwdbox").addClass("has-error"),void 0):($.ajax({url:"homeController/getPublicKey.ajax",type:"POST",data:{},dataType:"text",success:function(result){var encrypted,changepwd_publicKeyInfo=eval("("+result+")"),changePasswordInfo='{oldPwd:"'+change_oldPassword+'",newPwd:"'+change_newPassword+'",time:"'+changepwd_publicKeyInfo.time+'"}',encrypt=new JSEncrypt;encrypt.setPublicKey(changepwd_publicKeyInfo.publicKey),encrypted=encrypt.encrypt(changePasswordInfo),sendChangePasswordInfo(encrypted)},error:function(){showChangePasswordAlert("提示:密码修改失败,请检查网络链接或服务器运行状态")}}),void 0))}function sendChangePasswordInfo(a){$.ajax({type:"POST",dataType:"text",url:"homeController/doChangePassword.ajax",data:{encrypted:a,vercode:$("#changepassword_vercode").val()},success:function(a){switch($("#changepassword_vccodebox").hide(),isChangingPassword=!1,a){case"success":$("#changePasswordModal").modal("hide");break;case"mustlogin":showChangePasswordAlert("提示:登录已失效或尚未登录账户,请刷新并登陆账户");break;case"illegal":showChangePasswordAlert("提示:用户修改密码功能已被禁用,请求被拒绝");break;case"oldpwderror":showChangePasswordAlert("提示:旧密码输入错误,请求被拒绝"),$("#changepassword_oldepwdbox").addClass("has-error");break;case"needsubmitvercode":$("#changepassword_oldpwd,#changepassword_newpwd,#changepassword_reqnewpwd,#changePasswordButton").attr("disabled",!1),$("#changepassword_vccodebox").html("
    "),$("#changepassword_vccodebox").show(),isChangingPassword=!1;break;case"invalidnewpwd":showChangePasswordAlert("提示:密码修改失败,新密码不合法。新密码的长度需为3-32个字符,且仅支持ISO-8859-1中的字符(推荐使用英文字母、英文符号及阿拉伯数字)。");break;case"error":showChangePasswordAlert("提示:密码修改失败,修改请求无法通过加密效验(可能是请求耗时过长导致的)");break;case"cannotchangepwd":showChangePasswordAlert("提示:密码修改失败,发生意外错误,请稍后重试或联系管理员");break;default:showChangePasswordAlert("提示:密码修改失败,发生未知错误")}},error:function(){showChangePasswordAlert("提示:密码修改失败,请检查网络链接或服务器运行状态")}})}function showChangePasswordAlert(a){isChangingPassword=!1,$("#changepassword_oldpwd,#changepassword_newpwd,#changepassword_reqnewpwd,#changePasswordButton,#changepassword_vercode").attr("disabled",!1),$("#changepasswordalertbox").show(),$("#changepasswordalertbox").text(a)}function changePasswordGetNewVerCode(){$("#changepassword_showvercode").attr("src","homeController/getNewVerCode.do?s="+(new Date).getTime())}function getFileChain(a,b){$("#fileChainTextarea").text("正在获取……"),$("#copyChainBtn").attr("disabled",!0),$("#fileChainModal").modal("show"),$.ajax({type:"POST",dataType:"text",url:"homeController/getFileChainKey.ajax",data:{fid:a},success:function(a){switch(a){case"ERROR":$("#fileChainTextarea").text("提示:获取失败,请刷新页面或稍后再试。");break;case"mustlogin":window.location.href="prv/login.html";break;default:var c=b.replace("#","%23").replace("%","%25").replace("?","%3F");$("#fileChainTextarea").text(encodeURI(window.location.protocol+"//"+window.location.host+"/externalLinksController/chain/"+c+"?ckey=")+encodeURIComponent(a)),$("#copyChainBtn").attr("disabled",!1)}},error:function(){$("#fileChainTextarea").text("提示:获取失败,无法连接服务器。")}})}function copyFileChain(){if(node=document.getElementById("fileChainTextarea"),issafariBrowser=/Safari/.test(navigator.userAgent)&&!/Chrome/.test(navigator.userAgent))node.setSelectionRange(0,9999);else{const a=document.createRange();a.selectNode(node);const b=window.getSelection();b.rangeCount>0&&b.removeAllRanges(),b.addRange(a)}document.execCommand("copy")}function showNoticeModal(){$("#noticeModal").modal("show")}function initNoticeModal(){$("#noticeModalBody").load("resourceController/getNoticeContext.do",function(){$("#noticeModalBody img").css("max-width","100%"),winHeight>=300?$("#noticeModalBody").css("max-height",winHeight-180+"px"):$("#noticeModalBody").css("max-height","300px"),noticeInited=!0,showNoticeModal(),showNoticeBtn()})}function subscribeNotice(){$.ajax({url:"resourceController/getNoticeMD5.ajax",data:{},type:"POST",dataType:"text",success:function(a){if(""!=a){var b=document.cookie.match(new RegExp("(^| )notice_md5=([^;]*)(;|$)"));if(b){if(a==unescape(b[2]))return showNoticeBtn(),void 0}else if(b=document.cookie.match(new RegExp("(^| )notice_md5_30=([^;]*)(;|$)")),b&&a==unescape(b[2]))return showNoticeBtn(),void 0;initNoticeModal(),document.cookie="notice_md5="+escape(a)}},error:function(){alert("错误:无法从服务器获取公告信息,请尝试刷新页面。")}})}function showNoticeBtn(){$("#shownoticebox").removeClass("hidden"),$("#shownoticebox").addClass("show")}function showNotice(){noticeInited?showNoticeModal():initNoticeModal()}function loadingRemainingFolderView(targetId){var newfoldersOffset,newfilesOffset,loadingRemainingRate_folders,loadingRemainingRate_files,loadingRemainingRate;if(!remainingLoadingRequest){if(newfoldersOffset=0,newfilesOffset=0,folderView.foldersOffset-folderView.selectStep>0&&(newfoldersOffset=folderView.foldersOffset-folderView.selectStep),folderView.filesOffset-folderView.selectStep>0&&(newfilesOffset=folderView.filesOffset-folderView.selectStep),0>=newfoldersOffset&&0>=newfilesOffset)return originFolderView=$.extend(!0,{},folderView),hiddenLoadingRemaininngBox(),doFixedRow(targetId),void 0;loadingRemainingRate_folders=1,loadingRemainingRate_files=1,totalFoldersOffset>0&&(loadingRemainingRate_folders=(totalFoldersOffset-newfoldersOffset)/totalFoldersOffset),totalFilesOffset>0&&(loadingRemainingRate_files=(totalFilesOffset-newfilesOffset)/totalFilesOffset),loadingRemainingRate=(loadingRemainingRate_folders+loadingRemainingRate_files)/2,$("#loadingrate").text(parseInt(100*loadingRemainingRate)+"%"),remainingLoadingRequest=$.ajax({url:"homeController/getRemainingFolderView.ajax",data:{fid:locationpath,foldersOffset:newfoldersOffset,filesOffset:newfilesOffset},type:"POST",dataType:"text",success:function(result){switch(remainingLoadingRequest=null,result){case"ERROR":alert("错误:无法加载剩余文件列表,文件数据可能未显示完全,请刷新重试!"),hiddenLoadingRemaininngBox(),doFixedRow();break;case"NOT_FOUND":case"notAccess":document.cookie="folder_id="+escape("root");case"mustLogin":window.location.href="/";break;default:folderView.foldersOffset=newfoldersOffset,folderView.filesOffset=newfilesOffset; -var remainingFV=eval("("+result+")");updateFolderTable(remainingFV),updateTheFolderInfo(),folderView.foldersOffset>0||folderView.filesOffset>0?loadingRemainingFolderView(targetId):(originFolderView=$.extend(!0,{},folderView),hiddenLoadingRemaininngBox(),doFixedRow(targetId))}},error:function(a,b){remainingLoadingRequest=null,hiddenLoadingRemaininngBox(),"abort"!=b&&alert("错误:无法连接服务器,文件列表加载被中断。请刷新重试!")}})}}function doFixedRow(a){a&&a.length>0&&($("#"+a).addClass("info"),$("html,body").animate({scrollTop:$("#"+a).offset().top-$(window).height()/2},"slow"))}function showLoadingRemaininngBox(){loadingComplete=!1,$("#loadingremaininngbox").addClass("show"),$("#loadingremaininngbox").removeClass("hidden"),$("#searchbtn").attr("disabled","disabled")}function hiddenLoadingRemaininngBox(){loadingComplete=!0,$("#loadingremaininngbox").removeClass("show"),$("#loadingremaininngbox").addClass("hidden"),$("#searchbtn").removeAttr("disabled")}function updateFolderTable(a){var g,h,i,j,b=folderView.authList,c=!1,d=!1,e=!1,f=!1;if(checkAuth(b,"D")&&(c=!0),checkAuth(b,"R")&&(d=!0),checkAuth(b,"L")&&(e=!0),checkAuth(b,"O")&&(f=!0),a.folderList&&a.folderList.length>0)for(g=a.folderList.length;g>0;g--)h=a.folderList[g-1],folderContains(folderView.folderList,h.folderId)||(folderView.folderList.unshift(h),$("[iskfolder=true]:last").after(createNewFolderRow(h,c,d,f)));if(a.fileList&&a.fileList.length>0)for(i=a.fileList.length;i>0;i--)j=a.fileList[i-1],fileContains(folderView.fileList,j.fileId)||(folderView.fileList.unshift(j),$("#foldertable").append(createFileRow(j,e,c,d,f)))}function folderContains(a,b){for(var c=a.length;c>0;c--)if(a[c-1].folderId==b)return!0;return!1}function fileContains(a,b){for(var c=a.length;c>0;c--)if(a[c-1].fileId==b)return!0;return!1}function updateTheFolderInfo(){$("#fim_statistics").text("共包含 "+folderView.folderList.length+" 个文件夹, "+folderView.fileList.length+" 个文件。")}var ap,zipTimer,folderView,originFolderView,fs,ifs,checkedMovefiles,constraintLevel,account,importFolderName,xhr,viewer,viewerPageIndex,viewerTotal,pvl,winHeight,pingInt,loadingComplete,totalFoldersOffset,totalFilesOffset,remainingLoadingRequest,loadingFolderView,folderTypes,repeList,repeIndex,repeModelList,repeMap,strMoveOptMap,mRepeSize,screenedFoldrView,getDownloadFileId,getDownloadFileName,locationpath="root",parentpath="null",isUpLoading=!1,isImporting=!1,isChangingPassword=!1,viewerPageSize=15,checkFilesTip="提示:您还未选择任何文件,请先选中一些文件后再执行本操作:

    单击:选中某一文件

    Shift+单击:选中多个文件

    Shift+双击:选中连续的文件

    Shitf+A:选中/取消选中所有文件",noticeInited=!1;$(function(){window.onresize=function(){changeFilesTableStyle(),updateWinHeight()},changeFilesTableStyle(),getServerOS(),subscribeNotice();var a=document.cookie.match(new RegExp("(^| )folder_id=([^;]*)(;|$)"));null!=a?showFolderView(unescape(a[2])):showFolderView("root"),$(document).click(function(a){var b=$("#filetable")[0],c=a.srcElement;c||(c=a.target),c===b||$.contains(b,a.target)||$(".filerow").removeClass("info")}),$("#audioPlayerModal").on("hidden.bs.modal",function(){null!=ap&&(ap.seek(0),ap.pause()),null!=pingInt&&(window.clearInterval(pingInt),pingInt=null)}),$("#downloadAllCheckedModal").on("hidden.bs.modal",function(){null!=zipTimer&&window.clearInterval(zipTimer)}),$("#loginModal").on("hidden.bs.modal",function(){"disabled"!==$("#dologinButton").attr("disabled")&&($("#accountid").val(""),$("#accountpwd").val("")),$("#accountidbox").removeClass("has-error"),$("#accountpwdbox").removeClass("has-error"),$("#alertbox").removeClass("alert"),$("#alertbox").removeClass("alert-danger"),$("#alertbox").text(""),$("#vercodebox").html(""),$("#vercodebox").removeClass("show"),$("#vercodebox").addClass("hidden")}),$(".modal").on("shown.bs.modal",function(){$(this).addClass("shown")}),$(".modal").on("hidden.bs.modal",function(){$(this).removeClass("shown")}),$("body").keypress(function(a){var c,b=a.keyCode?a.keyCode:a.which?a.which:a.charCode;return 13==b?("sreachKeyWordIn"===document.activeElement.id?doSearchFile():(c=$(".shown .btn-primary"),null!=c.get(0)&&c.click()),!1):void 0}),$("#loginModal").on("shown.bs.modal",function(){$("#accountid").focus()}),$("#newFolderModal").on("show.bs.modal",function(){if($("#folderalert").removeClass("alert"),$("#folderalert").removeClass("alert-danger"),$("#foldernamebox").removeClass("has-error"),$("#folderalert").text(""),$("#foldername").val(""),$("#foldertypelist").html(""),null!=account){$("#foldername").attr("folderConstraintLevel",constraintLevel+""),$("#newfoldertype").text(folderTypes[constraintLevel]);for(var b=constraintLevel;b"+folderTypes[b]+"")}else $("#foldertypelist").append("
  • "+folderTypes[0]+"
  • ")}),$("#newFolderModal").on("shown.bs.modal",function(){$("#foldername").focus()}),$("#uploadFileModal,#importFolderModal").on("hidden.bs.modal",function(){(isUpLoading||isImporting)&&($("#operationMenuBox").attr("data-placement","top"),$("#operationMenuBox").attr("data-trigger","focus"),$("#operationMenuBox").attr("data-title","上传中"),$("#operationMenuBox").attr("data-content","您可以重新打开上传窗口查看上传进度。"),$("#operationMenuBox").popover(),$("#operationMenuBox").popover("show"),setTimeout(function(){$("#operationMenuBox").attr("data-title",""),$("#operationMenuBox").attr("data-content",""),$("#operationMenuBox").popover("destroy")},2e3))}),$("#renameFolderModal").on("show.bs.modal",function(){if($("#editfolderalert").removeClass("alert"),$("#editfolderalert").removeClass("alert-danger"),$("#folderrenamebox").removeClass("has-error"),$("#editfolderalert").text(""),$("#editfoldertypelist").html(""),null!=account)for(var b=constraintLevel;b"+folderTypes[b]+"");else $("#editfoldertypelist").append("
  • "+folderTypes[0]+"
  • ")}),document.ondragover=function(a){a.preventDefault?(a.preventDefault(),a.stopPropagation()):(window.event.cancelBubble=!0,window.event.returnValue=!1)},document.ondrop=function(a){var b,c,d,e,f,g;if(a.preventDefault?(a.preventDefault(),a.stopPropagation()):(window.event.cancelBubble=!0,window.event.returnValue=!1),null!=folderView.authList)if(checkAuth(folderView.authList,"U"))if(isUpLoading||isImporting)alert("提示:您正在执行另一项上传任务,请在上传窗口关闭后再试。");else if(window.ActiveXObject||"ActiveXObject"in window)alert("提示:IE浏览器不支持拖拽上传。您可以使用现代浏览器或将浏览模式切换为“极速模式”来体验该功能。");else{if(b=null!=a.dataTransfer?a.dataTransfer:window.event.dataTransfer,c=!0,void 0!==b.items)for(d=0;d+C"),$("#cutSignTx").removeClass("cuted"),$("#moveFilesBox").html("")}),"function"!=typeof String.prototype.startsWith&&(String.prototype.startsWith=function(a){return this.slice(0,a.length)===a}),"function"!=typeof String.prototype.endsWith&&(String.prototype.endsWith=function(a){return-1!==this.indexOf(a,this.length-a.length)}),$("#downloadModal").on("hidden.bs.modal",function(){$("#downloadURLCollapse").collapse("hide")}),updateWinHeight(),$(window).scroll(function(){$(this).scrollTop()>2*winHeight?$("#gobacktotopbox").removeClass("hidden"):$("#gobacktotopbox").addClass("hidden")}),$("#downloadURLCollapse").on("shown.bs.collapse",function(){getDownloadURL()}),$("#changePasswordModal").on("show.bs.modal",function(){isChangingPassword||($("#changepassword_oldpwd,#changepassword_newpwd,#changepassword_reqnewpwd,#changePasswordButton,#changepassword_vercode").attr("disabled",!1),$("#changepassword_oldepwdbox,#changepassword_newpwdbox,#changepassword_reqnewpwdbox").removeClass("has-error"),$("#changepassword_oldpwd,#changepassword_newpwd,#changepassword_reqnewpwd").val(""),$("#changepasswordalertbox,#changepassword_vccodebox").hide())}),$("#changePasswordModal").on("shown.bs.modal",function(){isChangingPassword||$("#changepassword_oldpwd").focus()}),$("#noticeModal").on("show.bs.modal",function(){var b=document.cookie.match(new RegExp("(^| )notice_md5_30=([^;]*)(;|$)"));b?$("#dontShowSomeNoticeAt30Day").attr("checked","checked"):$("#dontShowSomeNoticeAt30Day").attr("checked",!1)}),$("#noticeModal").on("hidden.bs.modal",function(){var c,d,b=new Date;$("#dontShowSomeNoticeAt30Day").prop("checked")?(b.setTime(b.getTime()+2592e6),c=document.cookie.match(new RegExp("(^| )notice_md5=([^;]*)(;|$)")),c?document.cookie="notice_md5_30="+escape(unescape(c[2]))+";expires="+b.toUTCString():(c=document.cookie.match(new RegExp("(^| )notice_md5_30=([^;]*)(;|$)")),c&&(document.cookie="notice_md5_30="+escape(unescape(c[2]))+";expires="+b.toUTCString()))):(b.setTime(0),d=document.cookie.match(new RegExp("(^| )notice_md5_30=([^;]*)(;|$)")),d&&(document.cookie="notice_md5_30=0;expires="+b.toUTCString()))})}),folderTypes=["公开的","仅小组","仅创建者"]; \ No newline at end of file +function updateWinHeight(){window.innerHeight?winHeight=window.innerHeight:document.body&&document.body.clientHeight&&(winHeight=document.body.clientHeight)}function changeFilesTableStyle(){var a=$(window).width();768>a?($("#filetableheadera").addClass("filetableheaderstyle"),$("#filetableheadera").attr("data-toggle","collapse"),$("#filetableheadera").attr("data-target","#filetableoptmenu"),$("#mdropdownicon").html("(点击展开/折叠菜单)")):($("#filetableheadera").removeClass("filetableheaderstyle"),$("#filetableheadera").attr("data-toggle","modal"),$("#filetableheadera").attr("data-target","#folderInfoModal"),$("#mdropdownicon").html(""))}function doAlert(){alert("错误:无法连接到kiftd服务器,请检查您的网络连接或查看服务器运行状态。")}function getServerOS(){$.ajax({type:"POST",dataType:"text",data:{},url:"homeController/getServerOS.ajax",success:function(a){return"mustLogin"==a?(window.location.href="prv/login.html",void 0):($("#serverOS").text(a),void 0)},error:function(){$("#serverOS").html("获取失败,点击重试")}})}function showFolderView(fid,targetId){loadingFolderView||(startLoading(),remainingLoadingRequest&&remainingLoadingRequest.abort(),$.ajax({type:"POST",dataType:"text",data:{fid:fid},url:"homeController/getFolderView.ajax",success:function(result){switch(endLoading(),result){case"ERROR":doAlert(),$("#tb").html("获取失败,请尝试刷新"),$("#publishTime").html("获取失败,请尝试刷新"),$("#parentlistbox").html("获取失败,请尝试刷新");break;case"NOT_FOUND":case"notAccess":document.cookie="folder_id="+escape("root");case"mustLogin":window.location.href="/";break;default:folderView=eval("("+result+")"),locationpath=folderView.folder.folderId,document.cookie="folder_id="+escape(locationpath),parentpath=folderView.folder.folderParent,constraintLevel=folderView.folder.folderConstraint,screenedFoldrView=null,originFolderView=$.extend(!0,{},folderView),totalFoldersOffset=folderView.foldersOffset,totalFilesOffset=folderView.filesOffset,$("#sreachKeyWordIn").val(""),showParentList(folderView),showAccountView(folderView),showPublishTime(folderView),$("#sortByFN").removeClass(),$("#sortByCD").removeClass(),$("#sortByFS").removeClass(),$("#sortByCN").removeClass(),$("#sortByOR").removeClass(),showFolderTable(folderView),$("#fim_name").text(folderView.folder.folderName),$("#fim_creator").text(folderView.folder.folderCreator),$("#fim_folderCreationDate").text(folderView.folder.folderCreationDate),$("#fim_folderId").text(folderView.folder.folderId),updateTheFolderInfo(),folderView.foldersOffset>folderView.selectStep||folderView.filesOffset>folderView.selectStep?(showLoadingRemaininngBox(),loadingRemainingFolderView(targetId)):(hiddenLoadingRemaininngBox(),doFixedRow(targetId))}},error:function(){endLoading(),doAlert(),$("#tb").html("获取失败,请尝试刷新"),$("#publishTime").html("获取失败,请尝试刷新"),$("#parentlistbox").html("获取失败,请尝试刷新")}}))}function startLoading(){loadingFolderView=!0,$("#loadingModal").modal({backdrop:"static",keyboard:!1}),$("#loadingModal").modal("show"),$("#loadingModal").addClass("shown")}function endLoading(){loadingFolderView=!1,$("#loadingModal").modal("hide"),$("#loadingModal").removeClass("shown")}function startLogin(){$("#accountid").attr("disabled","disabled"),$("#accountpwd").attr("disabled","disabled"),$("#dologinButton").attr("disabled","disabled"),$("#vercode").attr("disabled","disabled")}function finishLogin(){$("#accountid").removeAttr("disabled"),$("#accountpwd").removeAttr("disabled"),$("#dologinButton").removeAttr("disabled"),$("#vercode").removeAttr("disabled")}function dologin(){var accountId=$("#accountid").val(),accountPwd=$("#accountpwd").val(),check="y";0==accountId.length?($("#accountidbox").addClass("has-error"),check="n"):$("#accountidbox").removeClass("has-error"),0==accountPwd.length?($("#accountpwdbox").addClass("has-error"),check="n"):$("#accountpwdbox").removeClass("has-error"),"y"==check&&(startLogin(),$.ajax({url:"homeController/getPublicKey.ajax",type:"POST",data:{},dataType:"text",success:function(result){var encrypted,publicKeyInfo=eval("("+result+")"),date=new Date,loginInfo='{accountId:"'+accountId+'",accountPwd:"'+accountPwd+'",time:"'+publicKeyInfo.time+'"}',encrypt=new JSEncrypt;encrypt.setPublicKey(publicKeyInfo.publicKey),encrypted=encrypt.encrypt(loginInfo),sendLoginInfo(encrypted)},error:function(){finishLogin(),$("#alertbox").addClass("alert"),$("#alertbox").addClass("alert-danger"),$("#alertbox").text("提示:登录请求失败,请检查网络或服务器运行状态")}}))}function sendLoginInfo(a){$.ajax({type:"POST",dataType:"text",url:"homeController/doLogin.ajax",data:{encrypted:a,vercode:$("#vercode").val()},success:function(a){switch(finishLogin(),$("#alertbox").removeClass("alert"),$("#alertbox").removeClass("alert-danger"),$("#alertbox").text(""),$("#vercodebox").html(""),$("#vercodebox").removeClass("show"),$("#vercodebox").addClass("hidden"),a){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"needsubmitvercode":$("#vercodebox").html("
    "),$("#vercodebox").removeClass("hidden"),$("#vercodebox").addClass("show");break;case"error":$("#alertbox").addClass("alert"),$("#alertbox").addClass("alert-danger"),$("#alertbox").text("提示:登录失败,登录请求无法通过加密效验(可能是请求耗时过长导致的)");break;default:$("#alertbox").addClass("alert"),$("#alertbox").addClass("alert-danger"),$("#alertbox").text("提示:无法登录,未知错误")}},error:function(){finishLogin(),$("#alertbox").addClass("alert"),$("#alertbox").addClass("alert-danger"),$("#alertbox").text("提示:登录请求失败,请检查网络或服务器运行状态")}})}function getNewVerCode(){$("#showvercode").attr("src","homeController/getNewVerCode.do?s="+(new Date).getTime())}function dologout(){$("#logoutModal").modal("hide"),$.ajax({url:"homeController/doLogout.ajax",type:"POST",data:{},dataType:"text",success:function(a){"SUCCESS"==a&&showFolderView(locationpath)},error:function(){doAlert()}})}function showParentList(a){$("#parentFolderList").html("");var b=a.folder;a.parentList.length>0?$.each(a.parentList,function(a,b){$("#parentFolderList").append("
  • "+b.folderName+"
  • ")}):$("#parentFolderList").html("
  • "),b.folderName.length>6?$("#currentFolderName").text(b.folderName.substr(0,6)+"..."):$("#currentFolderName").text(b.folderName),"ROOT"==b.folderName?($("#folderIconSpan").removeClass("glyphicon-folder-close"),$("#folderIconSpan").removeClass("glyphicon-search"),$("#folderIconSpan").addClass("glyphicon-home")):null!=a.keyWorld?($("#folderIconSpan").removeClass("glyphicon-folder-close"),$("#folderIconSpan").removeClass("glyphicon-home"),$("#folderIconSpan").addClass("glyphicon-search")):($("#folderIconSpan").removeClass("glyphicon-home"),$("#folderIconSpan").removeClass("glyphicon-search"),$("#folderIconSpan").addClass("glyphicon-folder-close"))}function showAccountView(a){$("#tb,#tb2").html(""),account=a.account,null!=a.account?($("#tb").append(""),$("#tb2").append(""),"true"==a.allowChangePassword&&($("#tb").append(" "),$("#tb2").append(" "))):($("#tb").append(""),$("#tb2").append(""),"true"==a.allowSignUp&&($("#tb").append(" "),$("#tb2").append(" ")));var b=a.authList;$("#fileListDropDown li").addClass("disabled"),$("#fileListDropDown li a").attr("onclick",""),null!=b&&(checkAuth(b,"C")&&($("#createFolderButtonLi").removeClass("disabled"),$("#createFolderButtonLi a").attr("onclick","showNewFolderModel()")),checkAuth(b,"U")&&($("#uploadFileButtonLi").removeClass("disabled"),$("#uploadFileButtonLi a").attr("onclick","showUploadFileModel()"),checkAuth(b,"C")&&isSupportWebkitdirectory()&&($("#uploadFolderButtonLi").removeClass("disabled"),$("#uploadFolderButtonLi a").attr("onclick","showUploadFolderModel()"))),a.enableDownloadZip&&checkAuth(b,"L")?$("#packageDownloadBox").html(""):$("#packageDownloadBox").html(""),checkAuth(b,"D")&&($("#deleteSeelectFileButtonLi").removeClass("disabled"),$("#deleteSeelectFileButtonLi a").attr("onclick","showDeleteAllCheckedModel()")),checkAuth(b,"M")&&($("#cutFileButtonLi").removeClass("disabled"),$("#stickFileButtonLi").removeClass("disabled"),$("#copyFileButtonLi").removeClass("disabled"),$("#cutFileButtonLi a").attr("onclick","cutFile()"),$("#copyFileButtonLi a").attr("onclick","copyFile()"),$("#stickFileButtonLi a").attr("onclick","stickFile()"),void 0!==checkedMovefiles&&checkedMovefiles.size>0?(checkedMovefiles.size<100?$("#stickFilesCount").text("("+checkedMovefiles.size+")"):$("#stickFilesCount").text("(99+)"),$("#copyFileButtonLi").removeClass("show"),$("#copyFileButtonLi").addClass("hidden"),$("#cutFileButtonLi").removeClass("show"),$("#cutFileButtonLi").addClass("hidden"),$("#stickFileButtonLi").removeClass("hidden"),$("#stickFileButtonLi").addClass("show")):($("#copyFileButtonLi").removeClass("hidden"),$("#copyFileButtonLi").addClass("show"),$("#cutFileButtonLi").removeClass("hidden"),$("#cutFileButtonLi").addClass("show"),$("#stickFileButtonLi").removeClass("show"),$("#stickFileButtonLi").addClass("hidden"),$("#stickFilesCount").text(""))))}function checkAuth(a,b){var c=!1;return $.each(a,function(a,d){d==b&&(c=!0)}),c}function showPublishTime(a){$("#publishTime").html("");var b="";b=null!=a.publishTime?a.publishTime:"--",$("#publishTime").text(b)}function refreshFolderView(){null!=locationpath&&locationpath.length>0?showFolderView(locationpath):showFolderView("root"),subscribeNotice()}function returnPF(){null!=parentpath&&"null"!=parentpath?showFolderView(parentpath):showFolderView("root")}function showFolderTable(a){var b,c,d,e,f,g,h,i,j;for($("#foldertable").html(""),null!=parentpath&&"null"!=parentpath&&$("#foldertable").append("--------"),b=a.authList,c=!1,d=!1,e=!1,f=!1,checkAuth(b,"D")&&(c=!0),checkAuth(b,"R")&&(d=!0),checkAuth(b,"L")&&(e=!0),checkAuth(b,"O")&&(f=!0),g=a.folderList.length;g>0;g--)h=a.folderList[g-1],$("#foldertable").append(createNewFolderRow(h,c,d,f));for(i=a.fileList.length;i>0;i--)j=a.fileList[i-1],$("#foldertable").append(createFileRow(j,e,c,d,f))}function createFileRow(a,b,c,d,e){var f,g;if(a.fileName=a.fileName.replace(/\'/g,"'").replace(//g,">"),f=""+a.fileName+""+a.fileCreationDate+"","0"==a.fileSize?f+="<1MB":f=f+""+a.fileSize+"MB",f=f+""+a.fileCreator+"",b)switch(f=f+"",g=getSuffix(a.fileName)){case"mp4":f=f+"";break;case"webm":case"mov":case"avi":case"wmv":case"mkv":case"flv":folderView.enableFFMPEG&&(f=f+"");break;case"pdf":f=f+"";break;case"jpg":case"jpeg":case"gif":case"png":case"bmp":f=f+"";break;case"mp3":case"wav":case"ogg":f=f+"";break;case"docx":f=f+"";break;case"txt":f=f+"";break;case"ppt":case"pptx":f=f+""}return c&&(f=f+""),d&&(f=f+""),e&&(f=f+""),b&&"true"==folderView.showFileChain&&(f=f+""),d||c||b||e||(f+="--"),f+=""}function createNewFolderRow(a,b,c,d){a.folderName=a.folderName.replace(/\'/g,"'").replace(//g,">");var e=""+a.folderCreationDate+"--"+a.folderCreator+"";return b&&(e=e+""),c&&(e=e+""),d&&(e=e+""),c||b||d||(e+="--"),e+=""}function showNewFolderModel(){$("#newFolderModal").modal("show")}function changeNewFolderType(a){$("#newfoldertype").text(folderTypes[a]),$("#foldername").attr("folderConstraintLevel",a+"")}function createfolder(){var a=$("#foldername").val(),b=$("#foldername").attr("folderConstraintLevel"),c=new RegExp('[/|\\\\*\\<\\>\\?\\:\\&\\$"]+',"g");0==a.length?showFolderAlert("提示:文件夹名称不能为空。"):a.length>128?showFolderAlert("提示:文件夹名称太长。"):c.test(a)||0==a.indexOf(".")?showFolderAlert("提示:文件夹名中不应含有:引号 / \\ * | < > & $ : ? 且不能以“.”开头。"):($("#folderalert").removeClass("alert"),$("#folderalert").removeClass("alert-danger"),$("#foldernamebox").removeClass("has-error"),$("#folderalert").text(""),$.ajax({type:"POST",dataType:"text",data:{parentId:locationpath,folderName:a,folderConstraint:b},url:"homeController/newFolder.ajax",success:function(a){if("mustLogin"==a)window.location.href="prv/login.html";else switch(a){case"noAuthorized":showFolderAlert("提示:您的操作未被授权,创建文件夹失败。");break;case"errorParameter":showFolderAlert("提示:参数不正确,创建文件夹失败。");break;case"cannotCreateFolder":showFolderAlert("提示:出现意外错误,可能未能创建文件夹。");break;case"nameOccupied":showFolderAlert("提示:该名称已被占用,请选取其他名称。");break;case"foldersTotalOutOfLimit":showFolderAlert("提示:该文件夹内存储的文件夹数量已达上限,无法在其中创建更多文件夹。");break;case"createFolderSuccess":$("#newFolderModal").modal("hide"),showFolderView(locationpath);break;default:showFolderAlert("提示:出现意外错误,可能未能创建文件夹。")}},error:function(){showFolderAlert("提示:出现意外错误,可能未能创建文件夹")}}))}function showFolderAlert(a){$("#folderalert").addClass("alert"),$("#folderalert").addClass("alert-danger"),$("#foldernamebox").addClass("has-error"),$("#folderalert").text(a)}function entryFolder(a){showFolderView(a)}function showDeleteFolderModel(a,b){$("#deleteFolderBox").html(""),$("#dmbutton").attr("disabled",!1),$("#cancelDeleteFolderBtn").attr("disabled",!1),$("#deleteFolderMessage").text("提示:确定要彻底删除文件夹:["+b+"]及其全部内容么?该操作不可恢复"),$("#deleteFolderModal").modal("toggle")}function deleteFolder(a){$("#dmbutton").attr("disabled",!0),$("#cancelDeleteFolderBtn").attr("disabled",!0),$("#deleteFolderMessage").text("提示:正在删除,请稍候..."),$.ajax({type:"POST",dataType:"text",data:{folderId:a},url:"homeController/deleteFolder.ajax",success:function(a){"mustLogin"==a?window.location.href="prv/login.html":"noAuthorized"==a?($("#deleteFolderMessage").text("提示:您的操作未被授权,删除文件夹失败"),$("#dmbutton").attr("disabled",!1),$("#cancelDeleteFolderBtn").attr("disabled",!0)):"errorParameter"==a?($("#deleteFolderMessage").text("提示:参数不正确,删除文件夹失败"),$("#dmbutton").attr("disabled",!1),$("#cancelDeleteFolderBtn").attr("disabled",!0)):"cannotDeleteFolder"==a?($("#deleteFolderMessage").text("提示:出现意外错误,可能未能删除文件夹"),$("#dmbutton").attr("disabled",!1),$("#cancelDeleteFolderBtn").attr("disabled",!0)):"deleteFolderSuccess"==a?($("#deleteFolderModal").modal("hide"),showFolderView(locationpath)):($("#deleteFolderMessage").text("提示:出现意外错误,可能未能删除文件夹"),$("#dmbutton").attr("disabled",!1),$("#cancelDeleteFolderBtn").attr("disabled",!0))},error:function(){$("#deleteFolderMessage").text("提示:出现意外错误,可能未能删除文件夹"),$("#dmbutton").attr("disabled",!1),$("#cancelDeleteFolderBtn").attr("disabled",!0)}})}function showRenameFolderModel(a,b,c){$("#renameFolderBox").html(""),$("#newfoldername").val(b),changeEditFolderType(c),$("#renameFolderModal").modal("show")}function changeEditFolderType(a){$("#editfoldertype").text(folderTypes[a]),$("#newfoldername").attr("folderConstraintLevel",a+"")}function renameFolder(a){var b=$("#newfoldername").val(),c=$("#newfoldername").attr("folderConstraintLevel"),d=new RegExp('[/|\\\\*\\<\\>\\?\\:\\&\\$"]+',"g");0==b.length?showRFolderAlert("提示:文件夹名称不能为空。"):b.length>128?showRFolderAlert("提示:文件夹名称太长。"):d.test(b)||0==b.indexOf(".")?showRFolderAlert("提示:文件夹名中不应含有:引号 / \\ * | < > & $ : ? 且不能以“.”开头。"):($("#newfolderalert").removeClass("alert"),$("#newfolderalert").removeClass("alert-danger"),$("#folderrenamebox").removeClass("has-error"),$("#newfolderalert").text(""),$.ajax({type:"POST",dataType:"text",data:{folderId:a,newName:b,folderConstraint:c},url:"homeController/renameFolder.ajax",success:function(a){"mustLogin"==a?window.location.href="prv/login.html":"noAuthorized"==a?showRFolderAlert("提示:您的操作未被授权,编辑失败。"):"errorParameter"==a?showRFolderAlert("提示:参数不正确,编辑失败,请刷新后重试。"):"nameOccupied"==a?showRFolderAlert("提示:该名称已被占用,请选取其他名称。"):"renameFolderSuccess"==a?($("#renameFolderModal").modal("hide"),showFolderView(locationpath)):showRFolderAlert("提示:出现意外错误,可能未能编辑文件夹,请刷新后重试。")},error:function(){showRFolderAlert("提示:出现意外错误,可能未能编辑文件夹,请刷新后重试。")}}))}function showRFolderAlert(a){$("#editfolderalert").addClass("alert"),$("#editfolderalert").addClass("alert-danger"),$("#folderrenamebox").addClass("has-error"),$("#editfolderalert").text(a)}function showUploadFileModel(){$("#uploadFileAlert").hide(),$("#uploadFileAlert").text(""),0==isUpLoading&&($("#filepath").removeAttr("disabled"),$("#uploadfile").val(""),$("#filepath").val(""),$("#pros").width("0%"),$("#pros").attr("aria-valuenow","0"),$("#umbutton").attr("disabled",!1),$("#filecount").text(""),$("#uploadstatus").html(""),$("#selectcount").text(""),$("#selectFileUpLoadModelAsAll").removeAttr("checked"),$("#selectFileUpLoadModelAlert").hide()),$("#uploadFileModal").modal("show")}function checkpath(){$("#uploadfile").click()}function getInputUpload(){fs=$("#uploadfile").get(0).files,showfilepath()}function showfilepath(){var b,a="";for(b=0;b0){for($("#filepath").attr("disabled","disabled"),$("#umbutton").attr("disabled",!0),isUpLoading=!0,repeModelList=null,$("#uploadFileAlert").hide(),$("#uploadFileAlert").text(""),filenames=new Array,maxSize=0,maxFileIndex=0,i=0;imaxSize&&(maxSize=fs[i].size,maxFileIndex=i);namelist=JSON.stringify(filenames),$.ajax({type:"POST",dataType:"text",data:{folderId:locationpath,namelist:namelist,maxSize:maxSize,maxFileIndex:maxFileIndex},url:"homeController/checkUploadFile.ajax",success:function(result){if("mustLogin"==result)window.location.href="prv/login.html";else switch(result){case"errorParameter":showUploadFileAlert("提示:参数不正确,无法开始上传");break;case"noAuthorized":showUploadFileAlert("提示:您的操作未被授权,无法开始上传");break;case"filesTotalOutOfLimit":showUploadFileAlert("提示:该文件夹内存储的文件数量已达上限,无法在其中上传更多文件。您可以尝试将其上传至其他文件夹内。");break;default:var resp=eval("("+result+")");"fileTooLarge"==resp.checkResult?showUploadFileAlert("提示:文件["+resp.overSizeFile+"]的体积超过最大限制("+resp.maxUploadFileSize+"),无法开始上传"):"hasExistsNames"==resp.checkResult?(repeList=resp.pereFileNameList,repeIndex=0,selectFileUpLoadModelStart()):"permitUpload"==resp.checkResult?doupload(1):showUploadFileAlert("提示:出现意外错误,无法开始上传")}},error:function(){showUploadFileAlert("提示:出现意外错误,无法开始上传")}})}else showUploadFileAlert("提示:您未选择任何文件,无法开始上传");else showUploadFileAlert("提示:另一项上传文件或文件夹的任务尚未完成,无法开始上传")}function selectFileUpLoadModelStart(){var a=originFolderView.authList;checkAuth(a,"D")?$("#uploadcoverbtn").show():$("#uploadcoverbtn").hide(),$("#selectFileUpLoadModelAlert").show(),$("#repeFileName").text(repeList[repeIndex])}function selectFileUpLoadModelEnd(a){if(null==repeModelList&&(repeModelList={}),repeModelList[$("#repeFileName").text()]=a,$("#selectFileUpLoadModelAlert").hide(),$("#selectFileUpLoadModelAsAll").prop("checked")){for(var b=repeIndex;b1&&$("#filecount").text("("+a+"/"+b+")"),$("#uploadstatus").prepend("

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

    "),xhr=new XMLHttpRequest,e=new FormData,e.append("file",c),e.append("folderId",locationpath),null!=repeModelList&&null!=repeModelList[d]){if("skip"==repeModelList[d])return $("#uls_"+a).text("[已完成]"),b>a?(doupload(a+1),void 0):(isUpLoading=!1,$("#filepath").removeAttr("disabled"),$("#uploadfile").val(""),$("#filepath").val(""),$("#pros").width("0%"),$("#pros").attr("aria-valuenow","0"),$("#umbutton").attr("disabled",!1),$("#filecount").text(""),$("#uploadstatus").text(""),$("#selectcount").text(""),$("#uploadFileModal").modal("hide"),showFolderView(locationpath),void 0);e.append("repeType",repeModelList[d])}xhr.open("POST","homeController/douploadFile.ajax",!0),xhr.upload.addEventListener("progress",uploadProgress,!1),xhr.send(e),null==pingInt&&(pingInt=setInterval("ping()",6e4)),xhr.onloadend=function(){if(null!=pingInt&&(window.clearInterval(pingInt),pingInt=null),200===xhr.status){var c=xhr.responseText;"uploadsuccess"==c?($("#uls_"+a).text("[已完成]"),b>a?doupload(a+1):(isUpLoading=!1,$("#filepath").removeAttr("disabled"),$("#uploadfile").val(""),$("#filepath").val(""),$("#pros").width("0%"),$("#pros").attr("aria-valuenow","0"),$("#umbutton").attr("disabled",!1),$("#filecount").text(""),$("#uploadstatus").text(""),$("#selectcount").text(""),$("#uploadFileModal").modal("hide"),showFolderView(locationpath))):"uploaderror"==c?(showUploadFileAlert("提示:出现意外错误,文件:["+d+"]上传失败,上传被中断。"),$("#uls_"+a).text("[失败]")):"filesTotalOutOfLimit"==c?(showUploadFileAlert("提示:该文件夹内存储的文件数量已达上限,文件:["+d+"]上传失败。您可以尝试将其上传至其他文件夹内。"),$("#uls_"+a).text("[失败]")):(showUploadFileAlert("提示:出现意外错误,文件:["+d+"]上传失败,上传被中断。"),$("#uls_"+a).text("[失败]"))}else showUploadFileAlert("提示:出现意外错误,文件:["+d+"]上传失败,上传被中断。"),$("#uls_"+a).text("[失败]")}}else showUploadFileAlert("提示:要上传的文件不存在。"),$("#uploadstatus").prepend("

    未找到要上传的文件[失败]

    ")}function uploadProgress(a){if(a.lengthComputable){var b=Math.round(100*a.loaded/a.total);$("#pros").width(b+"%"),$("#pros").attr("aria-valuenow",""+b)}}function showUploadFileAlert(a){isUpLoading=!1,$("#filepath").removeAttr("disabled"),$("#uploadFileAlert").show(),$("#uploadFileAlert").text(a),$("#umbutton").attr("disabled",!1)}function abortUpload(){isUpLoading&&(isUpLoading=!1,null!=xhr&&xhr.abort()),$("#uploadFileModal").modal("hide"),showFolderView(locationpath)}function showDownloadModel(a,b){$("#downloadFileName").text("提示:您确认要下载文件:["+b+"]么?"),$("#downloadHrefBox").html("正在生成..."),getDownloadFileId=a,getDownloadFileName=b,$("#downloadFileBox").html(""),$("#dlmbutton").attr("disabled",!1),$("#downloadModal").modal("show")}function dodownload(a){$("#dlmbutton").attr("disabled",!0),$("#downloadFileName").text("提示:准备开始下载,请稍候..."),setTimeout("$('#downloadModal').modal('hide');",800),window.location.href="homeController/downloadFile.do?fileId="+a}function showDeleteFileModel(a,b){$("#deleteFileBox").html(""),$("#dfmbutton").attr("disabled",!1),$("#cancelDeleteFileBox").attr("disabled",!1),$("#deleteFileMessage").text("提示:确定要彻底删除文件:["+b+"]么?该操作不可恢复"),$("#deleteFileModal").modal("toggle")}function deleteFile(a){$("#dfmbutton").attr("disabled",!0),$("#cancelDeleteFileBox").attr("disabled",!0),$("#deleteFileMessage").text("提示:正在删除,请稍候..."),$.ajax({type:"POST",dataType:"text",data:{fileId:a},url:"homeController/deleteFile.ajax",success:function(a){"mustLogin"==a?window.location.href="prv/login.html":"noAuthorized"==a?($("#deleteFileMessage").text("提示:您的操作未被授权,删除失败"),$("#dfmbutton").attr("disabled",!1),$("#cancelDeleteFileBox").attr("disabled",!1)):"errorParameter"==a?($("#deleteFileMessage").text("提示:参数不正确,删除失败"),$("#dfmbutton").attr("disabled",!1),$("#cancelDeleteFileBox").attr("disabled",!1)):"cannotDeleteFile"==a?($("#deleteFileMessage").text("提示:出现意外错误,可能未能删除文件"),$("#dfmbutton").attr("disabled",!1),$("#cancelDeleteFileBox").attr("disabled",!1)):"deleteFileSuccess"==a?($("#deleteFileModal").modal("hide"),showFolderView(locationpath)):($("#deleteFileMessage").text("提示:出现意外错误,可能未能删除文件"),$("#dfmbutton").attr("disabled",!1),$("#cancelDeleteFileBox").attr("disabled",!1))},error:function(){$("#deleteFileMessage").text("提示:出现意外错误,可能未能删除文件"),$("#dfmbutton").attr("disabled",!1),$("#cancelDeleteFileBox").attr("disabled",!1)}})}function showRenameFileModel(a,b){$("#newFileNamealert").removeClass("alert"),$("#newFileNamealert").removeClass("alert-danger"),$("#filerenamebox").removeClass("has-error"),$("#newFileNamealert").text(""),$("#renameFileBox").html(""),$("#newfilename").val(b),$("#renameFileModal").modal("toggle")}function renameFile(a){var b=new RegExp('[/|\\\\*\\<\\>\\?\\:\\&\\$"]+',"g"),c=$("#newfilename").val();c.length>0?c.length<128?b.test(c)||0==c.indexOf(".")?showRFileAlert("提示:文件名中不应含有:引号 / \\ * | < > & $ : ? 且不能以“.”开头。"):$.ajax({type:"POST",dataType:"text",data:{fileId:a,newFileName:c},url:"homeController/renameFile.ajax",success:function(a){"mustLogin"==a?window.location.href="prv/login.html":"cannotRenameFile"==a?showRFileAlert("提示:出现意外错误,可能未能重命名文件,请刷新后重试。"):"renameFileSuccess"==a?($("#renameFileModal").modal("hide"),showFolderView(locationpath)):"errorParameter"==a?showRFileAlert("提示:参数错误,重命名失败,请刷新后重试。"):"nameOccupied"==a?showRFileAlert("提示:该名称已被占用,请选取其他名称。"):"noAuthorized"==a?showRFileAlert("提示:您的操作未被授权,重命名失败,请刷新后重试。"):showRFileAlert("提示:出现意外错误,可能未能重命名文件,请刷新后重试。")},error:function(){showRFileAlert("提示:出现意外错误,可能未能重命名文件。")}}):showRFileAlert("提示:文件名称太长。"):showRFileAlert("提示:文件名不能为空。")}function showRFileAlert(a){$("#newFileNamealert").addClass("alert"),$("#newFileNamealert").addClass("alert-danger"),$("#filerenamebox").addClass("has-error"),$("#newFileNamealert").text(a)}function getSuffix(a){var b=a.lastIndexOf("."),c=a.length,d=a.substring(b+1,c);return d.toLowerCase()}function playVideo(a){window.open("quickview/video.html?fileId="+a)}function pdfView(a){window.open("/pdfview/web/viewer.html?file=/resourceController/getResource/"+a)}function docxView(a){window.open("/pdfview/web/viewer.html?file=/resourceController/getWordView/"+a)}function txtView(a){window.open("/pdfview/web/viewer.html?file=/resourceController/getTxtView/"+a)}function pptView(a){window.open("/pdfview/web/viewer.html?file=/resourceController/getPPTView/"+a)}function showPicture(fileId){$.ajax({url:"homeController/getPrePicture.ajax",data:{fileId:fileId},type:"POST",dataType:"text",success:function(result){if("ERROR"!=result)if(pvl=eval("("+result+")"),pvl.pictureViewList.length<=viewerPageSize)createViewList();else{viewerPageIndex=Math.ceil((pvl.index+1)/viewerPageSize),viewerTotal=Math.ceil(pvl.pictureViewList.length/viewerPageSize),createViewListByPage();var innerIndex=pvl.index-(viewerPageIndex-1)*viewerPageSize;viewerPageIndex>1&&innerIndex++,viewer.viewer("view",innerIndex),viewer.viewer("show",!0)}else alert("错误:无法定位要预览的文件或该操作未被授权。")},error:function(){alert("错误:请求失败,请刷新重试。")}})}function createViewList(){var a,b;if(null==viewer){for(a=document.createElement("ul"),b=0;b"+pvl.pictureViewList[b].fileName+""); +viewer=$(a),viewer.viewer({loop:!1,hidden:function(){viewer.data("viewer").destroy(),viewer=null}})}viewer.viewer("view",pvl.index),viewer.viewer("show",!0)}function createViewListByPage(){var a,b,c;if(null==viewer){for(a=document.createElement("ul"),b=(viewerPageIndex-1)*viewerPageSize,viewerPageIndex>1&&$(a).append("
  • 上一页
  • "),c=0;viewerPageSize>c&&c"+pvl.pictureViewList[b+c].fileName+"");viewerTotal>viewerPageIndex&&$(a).append("
  • 下一页
  • "),viewer=$(a),viewer.viewer({loop:!1,view:function(a){0==a.detail.index&&1!=viewerPageIndex?(viewerPageIndex--,viewer.data("viewer").destroy(),viewer.empty(),viewer=null,createViewListByPage(),viewerPageIndex>1?viewer.viewer("view",viewerPageSize):viewer.viewer("view",viewerPageSize-1)):(a.detail.index==viewerPageSize+1||a.detail.index==viewerPageSize&&1==viewerPageIndex)&&(viewerPageIndex++,viewer.data("viewer").destroy(),viewer.empty(),viewer=null,createViewListByPage(),viewer.viewer("view",1))},hidden:function(){viewer.data("viewer").destroy(),viewer.empty(),viewer=null}})}}function isShift(a){var b=window.event||a;return b.shiftKey?!0:!1}function checkfile(a,b){isShift(a)?$("#"+b).hasClass("info")?$("#"+b).removeClass("info"):$("#"+b).addClass("info"):($(".filerow").removeClass("info"),$("#"+b).addClass("info"))}function checkConsFile(a,b){var c,d,e;if(isShift(a)&&(c=$("#"+b),d=c.index(),e=$(".filerow.info:last").index(),-1!=e))if(d>e)for(;c[0]&&!c.hasClass("info");)c.addClass("info"),c=c.prev();else for(;c[0]&&!c.hasClass("info");)c.addClass("info"),c=c.next()}function getCheckedFilesAndFolders(){var b,c,d,e,a=new Object;for(a.size=0,b=new Array,c=new Array,d=$(".info").get(),e=0;e开始下载"),$("#dclmbutton").attr("disabled",!1)),$("#cancelDownloadAllCheckedBtn").attr("disabled",!1),$("#downloadAllCheckedModal").modal("toggle")}}function downloadAllChecked(){$("#dclmbutton").attr("disabled",!0),$("#cancelDownloadAllCheckedBtn").attr("disabled",!0);var a=getCheckedFilesAndFolders();$("#downloadAllCheckedName").text("提示:服务器正在对选中资源进行压缩(共"+a.size+"项),这可能需要一些时间(文件越大耗时越长),压缩完成将自动开始下载。"),$.ajax({url:"homeController/getPackTime.ajax",type:"POST",data:{strIdList:a.filesId,strFidList:a.foldersId},dataType:"text",success:function(a){var b;"0"!=a?(b=0,$("#downloadAllCheckedLoad").text("已耗时:"+b+"秒(预计耗时:"+a+")"),zipTimer=setInterval(function(){b++,$("#downloadAllCheckedLoad").text("已耗时:"+b+"秒(预计耗时:"+a+")")},1e3)):(b=0,$("#downloadAllCheckedLoad").text("已耗时:"+b+"秒"),zipTimer=setInterval(function(){b++,$("#downloadAllCheckedLoad").text("已耗时:"+b+"秒")},1e3))},error:function(){$("#downloadAllCheckedLoad").text("(无法获取预计耗时)")}}),$.ajax({type:"POST",url:"homeController/downloadCheckedFiles.ajax",data:{strIdList:a.filesId,strFidList:a.foldersId},dataType:"text",success:function(a){var c,d;null!=zipTimer&&window.clearInterval(zipTimer),"ERROR"==a?($("#downloadAllCheckedName").text("提示:压缩过程出错。无法完成压缩,请重试或告知管理员。"),$("#dclmbutton").attr("disabled",!1),$("#cancelDownloadAllCheckedBtn").attr("disabled",!1)):($("#downloadAllCheckedLoad").text(""),$("#downloadAllCheckedName").text("提示:压缩完成!准备开始下载..."),setTimeout("$('#downloadAllCheckedModal').modal('hide');",800),c=document.createElement("form"),c.action="homeController/downloadCheckedFilesZip.do",c.method="post",c.style.display="none",d=document.createElement("input"),d.name="zipId",d.value=a,c.appendChild(d),document.body.appendChild(c),c.submit())},error:function(){$("#downloadAllCheckedName").text("提示:请求失败。无法完成压缩,请重试或告知管理员。"),$("#dclmbutton").attr("disabled",!1),$("#cancelDownloadAllCheckedBtn").attr("disabled",!1)}})}function showDeleteAllCheckedModel(){$("#deleteFileBox").html("");var a=getCheckedFilesAndFolders();$("#dfmbutton").attr("disabled",!1),$("#cancelDeleteFileBox").attr("disabled",!1),0==a.size?$("#deleteFileMessage").html(checkFilesTip):($("#deleteFileBox").html(""),$("#deleteFileMessage").text("提示:确定要彻底删除这"+a.size+"项么?该操作不可恢复!")),$("#deleteFileModal").modal("toggle")}function deleteAllChecked(){var a=getCheckedFilesAndFolders();$("#dfmbutton").attr("disabled",!0),$("#cancelDeleteFileBox").attr("disabled",!0),$("#deleteFileMessage").text("提示:正在删除,请稍候..."),$.ajax({type:"POST",dataType:"text",data:{strIdList:a.filesId,strFidList:a.foldersId},url:"homeController/deleteCheckedFiles.ajax",success:function(a){"mustLogin"==a?window.location.href="prv/login.html":"noAuthorized"==a?($("#deleteFileMessage").text("提示:您的操作未被授权,删除失败"),$("#dfmbutton").attr("disabled",!1),$("#cancelDeleteFileBox").attr("disabled",!1)):"errorParameter"==a?($("#deleteFileMessage").text("提示:参数不正确,未能全部删除文件"),$("#dfmbutton").attr("disabled",!1),$("#cancelDeleteFileBox").attr("disabled",!1)):"cannotDeleteFile"==a?($("#deleteFileMessage").text("提示:出现意外错误,可能未能删除全部文件"),$("#dfmbutton").attr("disabled",!1),$("#cancelDeleteFileBox").attr("disabled",!1)):"deleteFileSuccess"==a?($("#deleteFileModal").modal("hide"),showFolderView(locationpath)):($("#deleteFileMessage").text("提示:出现意外错误,可能未能删除全部文件"),$("#dfmbutton").attr("disabled",!1),$("#cancelDeleteFileBox").attr("disabled",!1))},error:function(){$("#deleteFileMessage").text("提示:出现意外错误,可能未能删除全部文件"),$("#dfmbutton").attr("disabled",!1),$("#cancelDeleteFileBox").attr("disabled",!1)}})}function playAudio(fileId){$("#audioPlayerModal").modal("show"),null==pingInt&&(pingInt=setInterval("ping()",6e4)),null==ap&&(ap=new APlayer({container:document.getElementById("aplayer"),lrcType:3,mutex:!0,volume:.7,theme:"#EDEDED",audio:[]}),ap.on("pause",function(){$("#playOrPause").html("")}),ap.on("play",function(){$("#playOrPause").html("")})),ap.list.clear(),$.ajax({url:"homeController/playAudios.ajax",data:{fileId:fileId},type:"POST",dataType:"text",success:function(result){var i,ail=eval("("+result+")");for(i=ail.index;i",">"),ap.list.add(ail.as[i]);for(i=0;i",">"),ap.list.add(ail.as[i]);audio_play()},error:function(){alert("错误:无法获取音乐列表,请稍后再试"),closeAudioPlayer()}})}function closeAudioPlayer(){$("#audioPlayerModal").modal("hide")}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()}function audio_vulome_up(){ap.volume(ap.audio.volume+.1,!0)}function audio_vulome_down(){ap.volume(ap.audio.volume-.1,!0)}function sortbyfn(){if(loadingComplete&&!$("#sortByCD,#sortByFS,#sortByCN,#sortByOR").hasClass("glyphicon glyphicon-hourglass")){$("#sortByCD").removeClass(),$("#sortByFS").removeClass(),$("#sortByCN").removeClass(),$("#sortByOR").removeClass();var a=1;$("#sortByFN").hasClass("glyphicon-triangle-bottom")&&(a=-1),$("#sortByFN").removeClass(),$("#sortByFN").addClass("glyphicon glyphicon-hourglass"),setTimeout(function(){folderView.fileList.sort(function(b,c){return a*c.fileName.localeCompare(b.fileName,"zh")}),folderView.folderList.sort(function(b,c){return a*c.folderName.localeCompare(b.folderName,"zh")}),showFolderTable(folderView),$("#sortByFN").removeClass(),-1==a?$("#sortByFN").addClass("glyphicon glyphicon-triangle-top"):$("#sortByFN").addClass("glyphicon glyphicon-triangle-bottom")},0)}}function sortbycd(){if(loadingComplete&&!$("#sortByFN,#sortByFS,#sortByCN,#sortByOR").hasClass("glyphicon glyphicon-hourglass")){$("#sortByFN").removeClass(),$("#sortByFS").removeClass(),$("#sortByCN").removeClass(),$("#sortByOR").removeClass();var a=1;$("#sortByCD").hasClass("glyphicon-triangle-bottom")&&(a=-1),$("#sortByCD").removeClass(),$("#sortByCD").addClass("glyphicon glyphicon-hourglass"),setTimeout(function(){folderView.fileList.sort(function(b,c){var d=b.fileCreationDate.replace("年","-").replace("月","-").replace("日",""),e=c.fileCreationDate.replace("年","-").replace("月","-").replace("日",""),f=new Date(Date.parse(d)).getTime()-new Date(Date.parse(e)).getTime();return a*f}),folderView.folderList.sort(function(b,c){var d=b.folderCreationDate.replace("年","-").replace("月","-").replace("日",""),e=c.folderCreationDate.replace("年","-").replace("月","-").replace("日",""),f=new Date(Date.parse(d)).getTime()-new Date(Date.parse(e)).getTime();return a*f}),showFolderTable(folderView),$("#sortByCD").removeClass(),-1==a?$("#sortByCD").addClass("glyphicon glyphicon-triangle-top"):$("#sortByCD").addClass("glyphicon glyphicon-triangle-bottom")},0)}}function sortbyfs(){if(loadingComplete&&!$("#sortByFN,#sortByCD,#sortByCN,#sortByOR").hasClass("glyphicon glyphicon-hourglass")){$("#sortByFN").removeClass(),$("#sortByCD").removeClass(),$("#sortByCN").removeClass(),$("#sortByOR").removeClass();var a=1;$("#sortByFS").hasClass("glyphicon-triangle-bottom")&&(a=-1),$("#sortByFS").removeClass(),$("#sortByFS").addClass("glyphicon glyphicon-hourglass"),setTimeout(function(){folderView.fileList.sort(function(b,c){return a*(b.fileSize-c.fileSize)}),showFolderTable(folderView),$("#sortByFS").removeClass(),-1==a?$("#sortByFS").addClass("glyphicon glyphicon-triangle-top"):$("#sortByFS").addClass("glyphicon glyphicon-triangle-bottom")},0)}}function sortbycn(){if(loadingComplete&&!$("#sortByFN,#sortByCD,#sortByFS,#sortByOR").hasClass("glyphicon glyphicon-hourglass")){$("#sortByFN").removeClass(),$("#sortByCD").removeClass(),$("#sortByFS").removeClass(),$("#sortByOR").removeClass();var a=1;$("#sortByCN").hasClass("glyphicon-triangle-bottom")&&(a=-1),$("#sortByCN").removeClass(),$("#sortByCN").addClass("glyphicon glyphicon-hourglass"),setTimeout(function(){folderView.fileList.sort(function(b,c){return a*c.fileCreator.localeCompare(b.fileCreator,"zh")}),folderView.folderList.sort(function(b,c){return a*c.folderCreator.localeCompare(b.folderCreator,"zh")}),showFolderTable(folderView),$("#sortByCN").removeClass(),-1==a?$("#sortByCN").addClass("glyphicon glyphicon-triangle-top"):$("#sortByCN").addClass("glyphicon glyphicon-triangle-bottom")},0)}}function showOriginFolderView(){loadingComplete&&($("#sortByFN,#sortByCD,#sortByFS,#sortByCN").hasClass("glyphicon glyphicon-hourglass")||($("#sortByFN").removeClass(),$("#sortByCD").removeClass(),$("#sortByFS").removeClass(),$("#sortByCN").removeClass(),$("#sortByOR").addClass("glyphicon glyphicon-hourglass"),setTimeout(function(){folderView=null!=screenedFoldrView?$.extend(!0,{},screenedFoldrView):$.extend(!0,{},originFolderView),showFolderTable(folderView),$("#sortByOR").removeClass()},0)))}function cutFile(){checkedMovefiles=getCheckedFilesAndFolders(),void 0==checkedMovefiles||0==checkedMovefiles.size?($("#moveFilesMessage").html(checkFilesTip),$("#selectFileMoveModelAsAll").removeAttr("checked"),$("#selectFileMoveModelAlert").hide(),$("#moveFilesModal").modal("show")):(checkedMovefiles.size<100?$("#stickFilesCount").text("("+checkedMovefiles.size+")"):$("#stickFilesCount").text("(99+)"),$("#copyFileButtonLi").removeClass("show"),$("#copyFileButtonLi").addClass("hidden"),$("#cutFileButtonLi").removeClass("show"),$("#cutFileButtonLi").addClass("hidden"),$("#stickFileButtonLi").removeClass("hidden"),$("#stickFileButtonLi").addClass("show"),isCopy=!1)}function copyFile(){checkedMovefiles=getCheckedFilesAndFolders(),void 0==checkedMovefiles||0==checkedMovefiles.size?($("#moveFilesMessage").html(checkFilesTip),$("#selectFileMoveModelAsAll").removeAttr("checked"),$("#selectFileMoveModelAlert").hide(),$("#moveFilesModal").modal("show")):(checkedMovefiles.size<100?$("#stickFilesCount").text("("+checkedMovefiles.size+")"):$("#stickFilesCount").text("(99+)"),$("#copyFileButtonLi").removeClass("show"),$("#copyFileButtonLi").addClass("hidden"),$("#cutFileButtonLi").removeClass("show"),$("#cutFileButtonLi").addClass("hidden"),$("#stickFileButtonLi").removeClass("hidden"),$("#stickFileButtonLi").addClass("show"),isCopy=!0)}function stickFile(){void 0!==checkedMovefiles&&checkedMovefiles.size>0&&(isCopy?($("#moveFilesMessage").text("提示:确定将这"+checkedMovefiles.size+"项复制到当前位置么?"),$("#moveFilesBox").html("")):($("#moveFilesMessage").text("提示:确定将这"+checkedMovefiles.size+"项移动到当前位置么?"),$("#moveFilesBox").html("")),$("#selectFileMoveModelAsAll").removeAttr("checked"),$("#cancelMoveFilesBtn").attr("disabled",!1),$("#selectFileMoveModelAlert").hide(),$("#moveFilesModal").modal("show"))}function doMoveFiles(){$("#dmvfbutton").attr("disabled",!0),$("#cancelMoveFilesBtn").attr("disabled",!0);var method="MOVE";isCopy?($("#moveFilesMessage").text("提示:正在复制,请稍候..."),method="COPY"):$("#moveFilesMessage").text("提示:正在移动,请稍候..."),$.ajax({type:"POST",dataType:"text",data:{strIdList:checkedMovefiles.filesId,strFidList:checkedMovefiles.foldersId,locationpath:locationpath,method:method},url:"homeController/confirmMoveFiles.ajax",success:function(result){if("mustLogin"==result)window.location.href="prv/login.html";else switch(result){case"noAuthorized":$("#moveFilesMessage").text("提示:您的操作未被授权,操作失败"),$("#dmvfbutton").attr("disabled",!1),$("#cancelMoveFilesBtn").attr("disabled",!1);break;case"errorParameter":$("#moveFilesMessage").text("提示:参数不正确,无法完成此操作,请刷新后重试"),$("#dmvfbutton").attr("disabled",!1),$("#cancelMoveFilesBtn").attr("disabled",!1);break;case"cannotMoveFiles":$("#moveFilesMessage").text("提示:出现意外错误,可能未能完成此操作,请刷新后重试"),$("#dmvfbutton").attr("disabled",!1),$("#cancelMoveFilesBtn").attr("disabled",!1);break;case"filesTotalOutOfLimit":$("#moveFilesMessage").text("提示:该文件夹内存储的文件数量已达上限,无法添加更多文件"),$("#dmvfbutton").attr("disabled",!1),$("#cancelMoveFilesBtn").attr("disabled",!1);break;case"foldersTotalOutOfLimit":$("#moveFilesMessage").text("提示:该文件夹内存储的文件夹数量已达上限,无法添加更多文件夹"),$("#dmvfbutton").attr("disabled",!1),$("#cancelMoveFilesBtn").attr("disabled",!1);break;case"confirmMoveFiles":strMoveOptMap={},sendMoveFilesReq();break;default:if(result.startsWith("duplicationFileName:")){repeMap=eval("("+result.substring(20)+")"),repeIndex=0,strMoveOptMap={},mRepeSize=repeMap.repeFolders.length+repeMap.repeNodes.length,repeMap.repeFolders.length>0?$("#mrepeFileName").text(repeMap.repeFolders[repeIndex].folderName):$("#mrepeFileName").text(repeMap.repeNodes[repeIndex].fileName);var authList=originFolderView.authList;checkAuth(authList,"D")?$("#movecoverbtn").show():$("#movecoverbtn").hide(),$("#selectFileMoveModelAlert").show()}else result.startsWith("CANT_MOVE_TO_INSIDE:")?$("#moveFilesMessage").text("错误:不能将一个文件夹移动到其自身内部:"+result.substring(20)):($("#moveFilesMessage").text("提示:出现意外错误,可能未能完成此操作,请刷新后重试"),$("#dmvfbutton").attr("disabled",!1),$("#cancelMoveFilesBtn").attr("disabled",!1))}},error:function(){$("#moveFilesMessage").text("提示:出现意外错误,可能未能完成此操作,请刷新后重试"),$("#dmvfbutton").attr("disabled",!1),$("#cancelMoveFilesBtn").attr("disabled",!1)}})}function selectFileMoveModel(a){if($("#selectFileMoveModelAsAll").prop("checked")){for(;mRepeSize>repeIndex;)repeIndexrepeIndex?repeIndexc;c++)b.test(originFolderView.folderList[c].folderName)&&screenedFoldrView.folderList.push(originFolderView.folderList[c]);for(c=0,d=originFolderView.fileList.length;d>c;c++)b.test(originFolderView.fileList[c].fileName)&&screenedFoldrView.fileList.push(originFolderView.fileList[c]);$("#sortByFN").removeClass(),$("#sortByCD").removeClass(),$("#sortByFS").removeClass(),$("#sortByCN").removeClass(),$("#sortByOR").removeClass(),folderView=$.extend(!0,{},screenedFoldrView),showFolderTable(folderView)}catch(e){alert("错误:搜索关键字有误。请在特殊符号(例如“*”)前加上“\\”进行转义。")}}function selectInCompletePath(keyworld){return 0==keyworld.length?(showFolderView(locationpath),void 0):(startLoading(),$.ajax({type:"POST",dataType:"text",data:{fid:locationpath,keyworld:keyworld},url:"homeController/sreachInCompletePath.ajax",success:function(result){endLoading(),"ERROR"==result?(doAlert(),$("#tb").html("获取失败,请尝试刷新"),$("#publishTime").html("获取失败,请尝试刷新"),$("#parentlistbox").html("获取失败,请尝试刷新")):"mustLogin"==result?window.location.href="prv/login.html":"notAccess"==result?(document.cookie="folder_id="+escape("root"),window.location.href="/"):(folderView=eval("("+result+")"),locationpath=folderView.folder.folderId,parentpath=folderView.folder.folderParent,constraintLevel=folderView.folder.folderConstraint,screenedFoldrView=null,$("#sreachKeyWordIn").val("all:"+folderView.keyWorld),showParentList(folderView),showAccountView(folderView),showPublishTime(folderView),originFolderView=$.extend(!0,{},folderView),$("#sortByFN").removeClass(),$("#sortByCD").removeClass(),$("#sortByFS").removeClass(),$("#sortByCN").removeClass(),$("#sortByOR").removeClass(),showFolderTable(folderView),$("#fim_name").text(folderView.folder.folderName),$("#fim_creator").text("--"),$("#fim_folderCreationDate").text("--"),$("#fim_folderId").text("--"),updateTheFolderInfo())},error:function(){endLoading(),doAlert(),$("#tb").html("获取失败,请尝试刷新"),$("#publishTime").html("获取失败,请尝试刷新"),$("#parentlistbox").html("获取失败,请尝试刷新")}}),void 0)}function goBackToTop(){$("html,body").animate({scrollTop:0},"slow")}function getDownloadURL(){$.ajax({url:"externalLinksController/getDownloadKey.ajax",type:"POST",dataType:"text",data:{fId:getDownloadFileId},success:function(a){var b=window.location.protocol+"//"+window.location.host+"/externalLinksController/downloadFileByKey/"+encodeURIComponent(getDownloadFileName.replace(/\'/g,""))+"?dkey="+a;$("#downloadHrefBox").html(""+b+"")},error:function(){$("#downloadHrefBox").html("获取失败,请检查网络状态或点此重新获取。")}})}function ping(){$.ajax({url:"homeController/ping.ajax",type:"POST",dataType:"text",data:{},success:function(a){"pong"!=a&&null!=pingInt&&(window.clearInterval(pingInt),pingInt=null)},error:function(){null!=pingInt&&(window.clearInterval(pingInt),pingInt=null)}})}function isSupportWebkitdirectory(){var a=document.createElement("input");return"webkitdirectory"in a&&!/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)?!0:!1}function showUploadFolderModel(){if($("#importFolderAlert").hide(),$("#importFolderAlert").text(""),0==isImporting)if($("#folderpath").val(""),$("#importfolder").val(""),$("#importpros").width("0%"),$("#importpros").attr("aria-valuenow","0"),$("#importstatus").html(""),$("#folderpath").attr("disabled",!1),$("#importFolderLevelBtn").attr("disabled",!1),$("#importcount").text(""),$("#importbutton").attr("disabled",!1),$("#importfoldertypelist").html(""),$("#selectFolderImportModelAlert").hide(),null!=account){$("#folderpath").attr("folderConstraintLevel",constraintLevel+""),$("#importfoldertype").text(folderTypes[constraintLevel]);for(var a=constraintLevel;a"+folderTypes[a]+"")}else $("#importfoldertypelist").append("
  • "+folderTypes[0]+"
  • ");$("#importFolderModal").modal("show")}function checkimportpath(){$("#importfolder").click()}function getInputImport(){ifs=$("#importfolder")[0].files,ifs.length>0&&(importFolderName=ifs[0].webkitRelativePath.substring(0,ifs[0].webkitRelativePath.indexOf("/")),$("#folderpath").val(importFolderName))}function checkImportFolder(){var maxSize,maxFileIndex,i;if(0==isUpLoading&&0==isImporting)if(null!=ifs&&ifs.length>0){for($("#folderpath").attr("disabled",!0),$("#importFolderLevelBtn").attr("disabled",!0),$("#importbutton").attr("disabled",!0),$("#importFolderAlert").hide(),$("#importFolderAlert").text(""),isImporting=!0,maxSize=0,maxFileIndex=0,i=0;imaxSize&&(maxSize=ifs[i].size,maxFileIndex=i);$.ajax({url:"homeController/checkImportFolder.ajax",type:"POST",dataType:"text",data:{folderName:importFolderName,maxSize:maxSize,folderId:locationpath},success:function(result){var resJson=eval("("+result+")");switch(resJson.result){case"noAuthorized":showImportFolderAlert("提示:您的操作未被授权,无法开始上传");break;case"errorParameter":showImportFolderAlert("提示:参数不正确,无法开始上传。必须选择一个文件夹");break;case"mustLogin":window.location.href="prv/login.html";break;case"fileOverSize":showImportFolderAlert("提示:文件["+ifs[maxFileIndex].webkitRelativePath+"]的体积超过最大限制("+resJson.maxSize+"),无法开始上传");break;case"foldersTotalOutOfLimit":showImportFolderAlert("提示:该文件夹内存储的文件夹数量已达上限,无法在其中上传更多文件夹。您可以尝试将其上传至其他文件夹内。");break;case"repeatFolder_Both":$("#repeFolderName").text(importFolderName),$("#importcoverbtn").hide(),$("#selectFolderImportModelAlert").show();break;case"repeatFolder_coverOrBoth":$("#repeFolderName").text(importFolderName),$("#importcoverbtn").show(),$("#selectFolderImportModelAlert").show();break;case"permitUpload":iteratorImport(0);break;default:showImportFolderAlert("提示:出现意外错误,无法开始上传")}},error:function(){showImportFolderAlert("提示:出现意外错误,无法开始上传")}})}else showImportFolderAlert("提示:您未选择任何文件夹,无法开始上传");else showImportFolderAlert("提示:另一项上传文件或文件夹的任务尚未完成,无法开始上传")}function showImportFolderAlert(a){isImporting=!1,$("#folderpath").attr("disabled",!1),$("#importFolderLevelBtn").attr("disabled",!1),$("#importFolderAlert").show(),$("#importFolderAlert").text(a),$("#importbutton").attr("disabled",!1)}function importProgress(a){if(a.lengthComputable){var b=Math.round(100*a.loaded/a.total);$("#importpros").width(b+"%"),$("#importpros").attr("aria-valuenow",""+b)}}function importAndCover(){$("#selectFolderImportModelAlert").hide(),$.ajax({url:"homeController/deleteFolderByName.ajax",type:"POST",data:{parentId:locationpath,folderName:importFolderName},dataType:"text",success:function(a){"deleteSuccess"==a?iteratorImport(0):showImportFolderAlert("提示:无法覆盖原文件夹,上传失败")},error:function(){showImportFolderAlert("提示:无法覆盖原文件夹,上传失败")}})}function importAndBoth(){$("#selectFolderImportModelAlert").hide();var fc=$("#folderpath").attr("folderConstraintLevel");$.ajax({url:"homeController/createNewFolderByName.ajax",type:"POST",data:{parentId:locationpath,folderName:importFolderName,folderConstraint:fc},dataType:"text",success:function(result){var resJson=eval("("+result+")");"success"==resJson.result?iteratorImport(0,resJson.newName):"foldersTotalOutOfLimit"==resJson.result?showImportFolderAlert("提示:该文件夹内存储的文件夹数量已达上限,无法上传同名文件夹并保留两者。您可以尝试将其上传至其他文件夹内。"):showImportFolderAlert("提示:生成新文件夹名称失败,无法开始上传")},error:function(){showImportFolderAlert("提示:生成新文件夹名称失败,无法开始上传")}})}function iteratorImport(a,b){var c,d,e,f,g;$("#importpros").width("0%"),$("#importpros").attr("aria-valuenow","0"),c=ifs[a],d=ifs.length,e=$("#folderpath").attr("folderConstraintLevel"),null!=c?(f=c.webkitRelativePath,d>1&&$("#importcount").text("("+(a+1)+"/"+d+")"),$("#importstatus").prepend("

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

    "),xhr=new XMLHttpRequest,g=new FormData,g.append("file",c),g.append("folderId",locationpath),g.append("folderConstraint",e),g.append("originalFileName",f),b&&g.append("newFolderName",b),xhr.open("POST","homeController/doImportFolder.ajax",!0),xhr.upload.addEventListener("progress",importProgress,!1),xhr.send(g),null==pingInt&&(pingInt=setInterval("ping()",6e4)),xhr.onloadend=function(){var c,e;null!=pingInt&&(window.clearInterval(pingInt),pingInt=null),200===xhr.status?(c=xhr.responseText,"uploadsuccess"==c?($("#ils_"+a).text("[已完成]"),e=a+1,d>e?iteratorImport(e,b):(isImporting=!1,$("#folderpath").removeAttr("disabled"),$("#importFolderLevelBtn").removeAttr("disabled"),$("#importfolder").val(""),$("#folderpath").val(""),$("#importpros").width("0%"),$("#importpros").attr("aria-valuenow","0"),$("#importbutton").attr("disabled",!1),$("#importcount").text(""),$("#importstatus").text(""),$("#importFolderModal").modal("hide"),showFolderView(locationpath))):"uploaderror"==c?(showImportFolderAlert("提示:出现意外错误,文件:["+f+"]上传失败,上传被中断。"),$("#ils_"+a).text("[失败]")):"foldersTotalOutOfLimit"==c?(showImportFolderAlert("提示:该文件夹内存储的文件夹数量已达上限,文件:["+f+"]上传失败,上传被中断。"),$("#ils_"+a).text("[失败]")):"filesTotalOutOfLimit"==c?(showImportFolderAlert("提示:该文件夹内存储的文件数量已达上限,文件:["+f+"]上传失败,上传被中断。"),$("#ils_"+a).text("[失败]")):(showImportFolderAlert("提示:出现意外错误,文件:["+f+"]上传失败,上传被中断。"),$("#ils_"+a).text("[失败]"))):(showImportFolderAlert("提示:出现意外错误,文件:["+f+"]上传失败,上传被中断。"),$("#ils_"+a).text("[失败]"))}):(showImportFolderAlert("提示:要上传的文件不存在。"),$("#importstatus").prepend("

    未找到要上传的文件[失败]

    "))}function abortImport(){isImporting&&(isImporting=!1,null!=xhr&&xhr.abort()),$("#importFolderModal").modal("hide"),showFolderView(locationpath)}function changeImportFolderType(a){$("#importfoldertype").text(folderTypes[a]),$("#folderpath").attr("folderConstraintLevel",a+"")}function doChangePassword(){var change_oldPassword,change_newPassword,change_reqNewPassword;return $("#changepassword_oldepwdbox,#changepassword_newpwdbox,#changepassword_reqnewpwdbox").removeClass("has-error"),$("#changepasswordalertbox").hide(),change_oldPassword=$("#changepassword_oldpwd").val(),change_newPassword=$("#changepassword_newpwd").val(),change_reqNewPassword=$("#changepassword_reqnewpwd").val(),0==change_oldPassword.length?($("#changepassword_oldepwdbox").addClass("has-error"),$("#changepassword_oldpwd").focus(),void 0):0==change_newPassword.length?($("#changepassword_newpwdbox").addClass("has-error"),$("#changepassword_newpwd").focus(),void 0):0==change_reqNewPassword.length?($("#changepassword_reqnewpwdbox").addClass("has-error"),$("#changepassword_reqnewpwd").focus(),void 0):(isChangingPassword=!0,$("#changepassword_oldpwd,#changepassword_newpwd,#changepassword_reqnewpwd,#changePasswordButton,#changepassword_vercode").attr("disabled",!0),change_newPassword+""!=change_reqNewPassword+""?(showChangePasswordAlert("提示:两次输入的新密码不一致,请检查确认"),$("#changepassword_newpwdbox").addClass("has-error"),$("#changepassword_reqnewpwdbox").addClass("has-error"),void 0):($.ajax({url:"homeController/getPublicKey.ajax",type:"POST",data:{},dataType:"text",success:function(result){var encrypted,changepwd_publicKeyInfo=eval("("+result+")"),changePasswordInfo='{oldPwd:"'+change_oldPassword+'",newPwd:"'+change_newPassword+'",time:"'+changepwd_publicKeyInfo.time+'"}',encrypt=new JSEncrypt;encrypt.setPublicKey(changepwd_publicKeyInfo.publicKey),encrypted=encrypt.encrypt(changePasswordInfo),sendChangePasswordInfo(encrypted)},error:function(){showChangePasswordAlert("提示:密码修改失败,请检查网络链接或服务器运行状态")}}),void 0))}function sendChangePasswordInfo(a){$.ajax({type:"POST",dataType:"text",url:"homeController/doChangePassword.ajax",data:{encrypted:a,vercode:$("#changepassword_vercode").val()},success:function(a){switch($("#changepassword_vccodebox").hide(),isChangingPassword=!1,a){case"success":$("#changePasswordModal").modal("hide");break;case"mustlogin":showChangePasswordAlert("提示:登录已失效或尚未登录账户,请刷新并登陆账户");break;case"illegal":showChangePasswordAlert("提示:用户修改密码功能已被禁用,请求被拒绝");break;case"oldpwderror":showChangePasswordAlert("提示:旧密码输入错误,请求被拒绝"),$("#changepassword_oldepwdbox").addClass("has-error");break;case"needsubmitvercode":$("#changepassword_oldpwd,#changepassword_newpwd,#changepassword_reqnewpwd,#changePasswordButton").attr("disabled",!1),$("#changepassword_vccodebox").html("
    "),$("#changepassword_vccodebox").show(),isChangingPassword=!1;break;case"invalidnewpwd":showChangePasswordAlert("提示:密码修改失败,新密码不合法。新密码的长度需为3-32个字符,且仅支持ISO-8859-1中的字符(推荐使用英文字母、英文符号及阿拉伯数字)。");break;case"error":showChangePasswordAlert("提示:密码修改失败,修改请求无法通过加密效验(可能是请求耗时过长导致的)");break;case"cannotchangepwd":showChangePasswordAlert("提示:密码修改失败,发生意外错误,请稍后重试或联系管理员");break;default:showChangePasswordAlert("提示:密码修改失败,发生未知错误")}},error:function(){showChangePasswordAlert("提示:密码修改失败,请检查网络链接或服务器运行状态")}})}function showChangePasswordAlert(a){isChangingPassword=!1,$("#changepassword_oldpwd,#changepassword_newpwd,#changepassword_reqnewpwd,#changePasswordButton,#changepassword_vercode").attr("disabled",!1),$("#changepasswordalertbox").show(),$("#changepasswordalertbox").text(a) +}function changePasswordGetNewVerCode(){$("#changepassword_showvercode").attr("src","homeController/getNewVerCode.do?s="+(new Date).getTime())}function getFileChain(a,b){$("#fileChainTextarea").text("正在获取……"),$("#copyChainBtn").attr("disabled",!0),$("#fileChainModal").modal("show"),$.ajax({type:"POST",dataType:"text",url:"homeController/getFileChainKey.ajax",data:{fid:a},success:function(a){switch(a){case"ERROR":$("#fileChainTextarea").text("提示:获取失败,请刷新页面或稍后再试。");break;case"mustlogin":window.location.href="prv/login.html";break;default:var c=b.replace("#","%23").replace("%","%25").replace("?","%3F");$("#fileChainTextarea").text(encodeURI(window.location.protocol+"//"+window.location.host+"/externalLinksController/chain/"+c+"?ckey=")+encodeURIComponent(a)),$("#copyChainBtn").attr("disabled",!1)}},error:function(){$("#fileChainTextarea").text("提示:获取失败,无法连接服务器。")}})}function copyFileChain(){node=document.getElementById("fileChainTextarea"),node.select(),document.execCommand("copy")}function showNoticeModal(){$("#noticeModal").modal("show")}function initNoticeModal(){$("#noticeModalBody").load("resourceController/getNoticeContext.do",function(){$("#noticeModalBody img").css("max-width","100%"),winHeight>=300?$("#noticeModalBody").css("max-height",winHeight-180+"px"):$("#noticeModalBody").css("max-height","300px"),noticeInited=!0,showNoticeModal(),showNoticeBtn()})}function subscribeNotice(){$.ajax({url:"resourceController/getNoticeMD5.ajax",data:{},type:"POST",dataType:"text",success:function(a){if(""!=a){var b=document.cookie.match(new RegExp("(^| )notice_md5=([^;]*)(;|$)"));if(b){if(a==unescape(b[2]))return showNoticeBtn(),void 0}else if(b=document.cookie.match(new RegExp("(^| )notice_md5_30=([^;]*)(;|$)")),b&&a==unescape(b[2]))return showNoticeBtn(),void 0;initNoticeModal(),document.cookie="notice_md5="+escape(a)}},error:function(){alert("错误:无法从服务器获取公告信息,请尝试刷新页面。")}})}function showNoticeBtn(){$("#shownoticebox").removeClass("hidden"),$("#shownoticebox").addClass("show")}function showNotice(){noticeInited?showNoticeModal():initNoticeModal()}function loadingRemainingFolderView(targetId){var newfoldersOffset,newfilesOffset,loadingRemainingRate_folders,loadingRemainingRate_files,loadingRemainingRate;if(!remainingLoadingRequest){if(newfoldersOffset=0,newfilesOffset=0,folderView.foldersOffset-folderView.selectStep>0&&(newfoldersOffset=folderView.foldersOffset-folderView.selectStep),folderView.filesOffset-folderView.selectStep>0&&(newfilesOffset=folderView.filesOffset-folderView.selectStep),0>=newfoldersOffset&&0>=newfilesOffset)return originFolderView=$.extend(!0,{},folderView),hiddenLoadingRemaininngBox(),doFixedRow(targetId),void 0;loadingRemainingRate_folders=1,loadingRemainingRate_files=1,totalFoldersOffset>0&&(loadingRemainingRate_folders=(totalFoldersOffset-newfoldersOffset)/totalFoldersOffset),totalFilesOffset>0&&(loadingRemainingRate_files=(totalFilesOffset-newfilesOffset)/totalFilesOffset),loadingRemainingRate=(loadingRemainingRate_folders+loadingRemainingRate_files)/2,$("#loadingrate").text(parseInt(100*loadingRemainingRate)+"%"),remainingLoadingRequest=$.ajax({url:"homeController/getRemainingFolderView.ajax",data:{fid:locationpath,foldersOffset:newfoldersOffset,filesOffset:newfilesOffset},type:"POST",dataType:"text",success:function(result){switch(remainingLoadingRequest=null,result){case"ERROR":alert("错误:无法加载剩余文件列表,文件数据可能未显示完全,请刷新重试!"),hiddenLoadingRemaininngBox(),doFixedRow();break;case"NOT_FOUND":case"notAccess":document.cookie="folder_id="+escape("root");case"mustLogin":window.location.href="/";break;default:folderView.foldersOffset=newfoldersOffset,folderView.filesOffset=newfilesOffset;var remainingFV=eval("("+result+")");updateFolderTable(remainingFV),updateTheFolderInfo(),folderView.foldersOffset>0||folderView.filesOffset>0?loadingRemainingFolderView(targetId):(originFolderView=$.extend(!0,{},folderView),hiddenLoadingRemaininngBox(),doFixedRow(targetId))}},error:function(a,b){remainingLoadingRequest=null,hiddenLoadingRemaininngBox(),"abort"!=b&&alert("错误:无法连接服务器,文件列表加载被中断。请刷新重试!")}})}}function doFixedRow(a){a&&a.length>0&&($("#"+a).addClass("info"),$("html,body").animate({scrollTop:$("#"+a).offset().top-$(window).height()/2},"slow"))}function showLoadingRemaininngBox(){loadingComplete=!1,$("#loadingremaininngbox").addClass("show"),$("#loadingremaininngbox").removeClass("hidden"),$("#searchbtn").attr("disabled","disabled")}function hiddenLoadingRemaininngBox(){loadingComplete=!0,$("#loadingremaininngbox").removeClass("show"),$("#loadingremaininngbox").addClass("hidden"),$("#searchbtn").removeAttr("disabled")}function updateFolderTable(a){var g,h,i,j,b=folderView.authList,c=!1,d=!1,e=!1,f=!1;if(checkAuth(b,"D")&&(c=!0),checkAuth(b,"R")&&(d=!0),checkAuth(b,"L")&&(e=!0),checkAuth(b,"O")&&(f=!0),a.folderList&&a.folderList.length>0)for(g=a.folderList.length;g>0;g--)h=a.folderList[g-1],folderContains(folderView.folderList,h.folderId)||(folderView.folderList.unshift(h),$("[iskfolder=true]:last").after(createNewFolderRow(h,c,d,f)));if(a.fileList&&a.fileList.length>0)for(i=a.fileList.length;i>0;i--)j=a.fileList[i-1],fileContains(folderView.fileList,j.fileId)||(folderView.fileList.unshift(j),$("#foldertable").append(createFileRow(j,e,c,d,f)))}function folderContains(a,b){for(var c=a.length;c>0;c--)if(a[c-1].folderId==b)return!0;return!1}function fileContains(a,b){for(var c=a.length;c>0;c--)if(a[c-1].fileId==b)return!0;return!1}function updateTheFolderInfo(){$("#fim_statistics").text("共包含 "+folderView.folderList.length+" 个文件夹, "+folderView.fileList.length+" 个文件。")}var ap,zipTimer,folderView,originFolderView,fs,ifs,checkedMovefiles,isCopy,repeMap,strMoveOptMap,mRepeSize,constraintLevel,account,importFolderName,xhr,viewer,viewerPageIndex,viewerTotal,pvl,winHeight,pingInt,loadingComplete,totalFoldersOffset,totalFilesOffset,remainingLoadingRequest,loadingFolderView,folderTypes,repeList,repeIndex,repeModelList,screenedFoldrView,getDownloadFileId,getDownloadFileName,locationpath="root",parentpath="null",isUpLoading=!1,isImporting=!1,isChangingPassword=!1,viewerPageSize=15,checkFilesTip="提示:您还未选择任何文件,请先选中一些文件后再执行本操作:

    单击:选中某一文件

    Shift+单击:选中多个文件

    Shift+双击:选中连续的文件

    Shitf+A:选中/取消选中所有文件",noticeInited=!1;$(function(){window.onresize=function(){changeFilesTableStyle(),updateWinHeight()},changeFilesTableStyle(),getServerOS(),subscribeNotice();var a=document.cookie.match(new RegExp("(^| )folder_id=([^;]*)(;|$)"));null!=a?showFolderView(unescape(a[2])):showFolderView("root"),$(document).click(function(a){var b=$("#filetable")[0],c=a.srcElement;c||(c=a.target),c===b||$.contains(b,a.target)||$(".filerow").removeClass("info")}),$("#audioPlayerModal").on("hidden.bs.modal",function(){null!=ap&&(ap.seek(0),ap.pause()),null!=pingInt&&(window.clearInterval(pingInt),pingInt=null)}),$("#downloadAllCheckedModal").on("hidden.bs.modal",function(){null!=zipTimer&&window.clearInterval(zipTimer)}),$("#loginModal").on("hidden.bs.modal",function(){"disabled"!==$("#dologinButton").attr("disabled")&&($("#accountid").val(""),$("#accountpwd").val("")),$("#accountidbox").removeClass("has-error"),$("#accountpwdbox").removeClass("has-error"),$("#alertbox").removeClass("alert"),$("#alertbox").removeClass("alert-danger"),$("#alertbox").text(""),$("#vercodebox").html(""),$("#vercodebox").removeClass("show"),$("#vercodebox").addClass("hidden")}),$(".modal").on("shown.bs.modal",function(){$(this).addClass("shown")}),$(".modal").on("hidden.bs.modal",function(){$(this).removeClass("shown")}),$("body").keypress(function(a){var c,b=a.keyCode?a.keyCode:a.which?a.which:a.charCode;return 13==b?("sreachKeyWordIn"===document.activeElement.id?doSearchFile():(c=$(".shown .btn-primary"),null!=c.get(0)&&0==c.prop("disabled")&&c.click()),!1):void 0}),$("#loginModal").on("shown.bs.modal",function(){$("#accountid").focus()}),$("#newFolderModal").on("show.bs.modal",function(){if($("#folderalert").removeClass("alert"),$("#folderalert").removeClass("alert-danger"),$("#foldernamebox").removeClass("has-error"),$("#folderalert").text(""),$("#foldername").val(""),$("#foldertypelist").html(""),null!=account){$("#foldername").attr("folderConstraintLevel",constraintLevel+""),$("#newfoldertype").text(folderTypes[constraintLevel]);for(var b=constraintLevel;b"+folderTypes[b]+"")}else $("#foldertypelist").append("
  • "+folderTypes[0]+"
  • ")}),$("#newFolderModal").on("shown.bs.modal",function(){$("#foldername").focus()}),$("#uploadFileModal,#importFolderModal").on("hidden.bs.modal",function(){(isUpLoading||isImporting)&&($("#operationMenuBox").attr("data-placement","top"),$("#operationMenuBox").attr("data-trigger","focus"),$("#operationMenuBox").attr("data-title","上传中"),$("#operationMenuBox").attr("data-content","您可以重新打开上传窗口查看上传进度。"),$("#operationMenuBox").popover(),$("#operationMenuBox").popover("show"),setTimeout(function(){$("#operationMenuBox").attr("data-title",""),$("#operationMenuBox").attr("data-content",""),$("#operationMenuBox").popover("destroy")},2e3))}),$("#renameFolderModal").on("show.bs.modal",function(){if($("#editfolderalert").removeClass("alert"),$("#editfolderalert").removeClass("alert-danger"),$("#folderrenamebox").removeClass("has-error"),$("#editfolderalert").text(""),$("#editfoldertypelist").html(""),null!=account)for(var b=constraintLevel;b"+folderTypes[b]+"");else $("#editfoldertypelist").append("
  • "+folderTypes[0]+"
  • ")}),document.ondragover=function(a){a.preventDefault?(a.preventDefault(),a.stopPropagation()):(window.event.cancelBubble=!0,window.event.returnValue=!1)},document.ondrop=function(a){var b,c,d,e,f,g;if(a.preventDefault?(a.preventDefault(),a.stopPropagation()):(window.event.cancelBubble=!0,window.event.returnValue=!1),null!=folderView.authList)if(checkAuth(folderView.authList,"U"))if(isUpLoading||isImporting)alert("提示:您正在执行另一项上传任务,请在上传完成后再试。");else if(window.ActiveXObject||"ActiveXObject"in window)alert("提示:IE浏览器不支持拖拽上传。您可以使用现代浏览器或将浏览模式切换为“极速模式”来体验该功能。");else{if(b=null!=a.dataTransfer?a.dataTransfer:window.event.dataTransfer,c=!0,void 0!==b.items)for(d=0;d0&&$("#stickFileButtonLi a").click();break;default:return!0}return!1}}}),$("#moveFilesModal").on("hidden.bs.modal",function(){checkedMovefiles=void 0,$("#copyFileButtonLi").removeClass("hidden"),$("#copyFileButtonLi").addClass("show"),$("#cutFileButtonLi").removeClass("hidden"),$("#cutFileButtonLi").addClass("show"),$("#stickFileButtonLi").removeClass("show"),$("#stickFileButtonLi").addClass("hidden"),$("#stickFilesCount").text(""),$("#moveFilesBox").html("")}),"function"!=typeof String.prototype.startsWith&&(String.prototype.startsWith=function(a){return this.slice(0,a.length)===a}),"function"!=typeof String.prototype.endsWith&&(String.prototype.endsWith=function(a){return-1!==this.indexOf(a,this.length-a.length)}),$("#downloadModal").on("hidden.bs.modal",function(){$("#downloadURLCollapse").collapse("hide")}),updateWinHeight(),$(window).scroll(function(){$(this).scrollTop()>2*winHeight?$("#gobacktotopbox").removeClass("hidden"):$("#gobacktotopbox").addClass("hidden")}),$("#downloadURLCollapse").on("shown.bs.collapse",function(){getDownloadURL()}),$("#changePasswordModal").on("show.bs.modal",function(){isChangingPassword||($("#changepassword_oldpwd,#changepassword_newpwd,#changepassword_reqnewpwd,#changePasswordButton,#changepassword_vercode").attr("disabled",!1),$("#changepassword_oldepwdbox,#changepassword_newpwdbox,#changepassword_reqnewpwdbox").removeClass("has-error"),$("#changepassword_oldpwd,#changepassword_newpwd,#changepassword_reqnewpwd").val(""),$("#changepasswordalertbox,#changepassword_vccodebox").hide())}),$("#changePasswordModal").on("shown.bs.modal",function(){isChangingPassword||$("#changepassword_oldpwd").focus()}),$("#noticeModal").on("show.bs.modal",function(){var b=document.cookie.match(new RegExp("(^| )notice_md5_30=([^;]*)(;|$)"));b?$("#dontShowSomeNoticeAt30Day").attr("checked","checked"):$("#dontShowSomeNoticeAt30Day").attr("checked",!1)}),$("#noticeModal").on("hidden.bs.modal",function(){var c,d,b=new Date;$("#dontShowSomeNoticeAt30Day").prop("checked")?(b.setTime(b.getTime()+2592e6),c=document.cookie.match(new RegExp("(^| )notice_md5=([^;]*)(;|$)")),c?document.cookie="notice_md5_30="+escape(unescape(c[2]))+";expires="+b.toUTCString():(c=document.cookie.match(new RegExp("(^| )notice_md5_30=([^;]*)(;|$)")),c&&(document.cookie="notice_md5_30="+escape(unescape(c[2]))+";expires="+b.toUTCString()))):(b.setTime(0),d=document.cookie.match(new RegExp("(^| )notice_md5_30=([^;]*)(;|$)")),d&&(document.cookie="notice_md5_30=0;expires="+b.toUTCString()))})}),folderTypes=["公开的","仅小组","仅创建者"]; \ No newline at end of file diff --git a/webContext/pdfview/web/viewer.html b/webContext/pdfview/web/viewer.html index 980e067..59bfccc 100644 --- a/webContext/pdfview/web/viewer.html +++ b/webContext/pdfview/web/viewer.html @@ -67,24 +67,26 @@ See https://github.com/adobe-type-tools/cmap-resources filter: progid:DXImageTransform.Microsoft.Alpha(opacity=70); } -@-webkit-keyframes zoom { - from { - -webkit-transform:scale(0) - } - to { - -webkit-transform: scale(1) - } +@ +-webkit-keyframes zoom {from { -webkit-transform:scale(0) + } -@keyframes zoom { - from { - transform:scale(0) - } - to { - transform: scale(1) - } +to { + -webkit-transform: scale(1) } +} +@ +keyframes zoom {from { transform:scale(0) + +} + +to { + transform: scale(1) +} + +} .pdf-modal-body { font-size: 18px; box-sizing: border-box; @@ -540,24 +542,29 @@ See https://github.com/adobe-type-tools/cmap-resources //增加了加载需要耗时转换的文档时的加载提示 window.onload = function() { var url = location.search; - if (url.indexOf(".block") < 0) { + if (url.indexOf("getResource") < 0) { var modal = document.getElementById('pdf-modal'); if (url.indexOf("getWordView") >= 0) { - document.getElementById('doc-type-box').innerHTML="Word"; - }else if(url.indexOf("getTxtView") >= 0){ - document.getElementById('doc-type-box').innerHTML="TXT"; - }else if(url.indexOf("getPPTView") >= 0){ - document.getElementById('doc-type-box').innerHTML="PPT"; - }else{ - document.getElementById('doc-type-box').innerHTML="未知类型"; + document.getElementById('doc-type-box').innerHTML = "Word"; + } else if (url.indexOf("getTxtView") >= 0) { + document.getElementById('doc-type-box').innerHTML = "TXT"; + } else if (url.indexOf("getPPTView") >= 0) { + document.getElementById('doc-type-box').innerHTML = "PPT"; + } else { + document.getElementById('doc-type-box').innerHTML = "未知类型"; } modal.style.display = "block"; - var interval = setInterval(function() { - if (PDFViewerApplication.pdfDocument != null) { - clearInterval(interval); - modal.style.display = "none"; - } - }, 1); + var interval = setInterval( + function() { + if (PDFViewerApplication.pdfDocument != null + || PDFViewerApplication.appConfig.errorWrapper.container.hidden == false) { + clearInterval(interval); + modal.style.display = "none"; + if (PDFViewerApplication.appConfig.errorWrapper.container.hidden == false) { + alert("提示:打开目标文档时发生意外错误(刷新页面将再次尝试打开该文档)。"); + } + } + }, 1); } } diff --git a/webContext/quickview/kplayer.js b/webContext/quickview/kplayer.js index 9ac44cc..d7c7f0e 100644 --- a/webContext/quickview/kplayer.js +++ b/webContext/quickview/kplayer.js @@ -5,10 +5,10 @@ var tReq; var tTimer; var pingInt; $(function() { - window.onresize = function(){ + window.onresize = function() { showCloseBtn(); - } - pingInt = setInterval("ping()",60000); + } + pingInt = setInterval("ping()", 60000); var fileId = getFileId(); $ .ajax({ @@ -21,7 +21,9 @@ $(function() { success : function(result) { if (result != "ERROR") { f = eval("(" + result + ")"); - $("#vname").text(f.fileName.replace('\'',''').replace('<','<').replace('>','>')); + $("#vname").text( + f.fileName.replace('\'', ''').replace('<', + '<').replace('>', '>')); $("#vcreator").text(f.fileCreator); $("#vcdate").text(f.fileCreationDate); $("#vsize").text(f.fileSize); @@ -59,9 +61,9 @@ function playVideo() { $("#playerbox") .html( ""); - var player = videojs('kiftplayer',{ + var player = videojs('kiftplayer', { preload : 'auto' }); player.ready(function() { @@ -71,10 +73,10 @@ function playVideo() { // 关闭当前窗口并释放播放器 function reMainPage() { - if(tReq != null){ + if (tReq != null) { tReq.abort() } - if(tTimer != null){ + if (tTimer != null) { window.clearTimeout(tTimer); } window.opener = null; @@ -84,7 +86,7 @@ function reMainPage() { // 进行转码请求并监听进度状态(轮询) function doTranscode() { - tReq=$.ajax({ + tReq = $.ajax({ url : 'resourceController/getVideoTranscodeStatus.ajax', type : 'POST', dataType : 'text', @@ -99,7 +101,7 @@ function doTranscode() { reMainPage(); } else { $("#transcodeProgress").text(result); - tTimer=setTimeout('doTranscode()', 500);// 每隔1秒询问一次进度 + tTimer = setTimeout('doTranscode()', 500);// 每隔1秒询问一次进度 } }, error : function() { @@ -109,28 +111,28 @@ function doTranscode() { }); } -function showCloseBtn(){ +function showCloseBtn() { var win = $(window).width(); - if(win < 450){ - $("#closeBtn").addClass("hidden"); - }else{ - $("#closeBtn").removeClass("hidden"); - } + if (win < 450) { + $("#closeBtn").addClass("hidden"); + } else { + $("#closeBtn").removeClass("hidden"); + } } -//防止播放视频时会话超时的应答器,每分钟应答一次 -function ping(){ +// 防止播放视频时会话超时的应答器,每分钟应答一次 +function ping() { $.ajax({ - url:"homeController/ping.ajax", - type:"POST", - dataType:"text", - data:{}, - success:function(result){ - if(result != 'pong'){ + url : "homeController/ping.ajax", + type : "POST", + dataType : "text", + data : {}, + success : function(result) { + if (result != 'pong') { window.clearInterval(pingInt); } }, - error:function(){ + error : function() { window.clearInterval(pingInt); } }); diff --git a/webContext/quickview/kplayer.min.js b/webContext/quickview/kplayer.min.js index dbf25e5..bbb160f 100644 --- a/webContext/quickview/kplayer.min.js +++ b/webContext/quickview/kplayer.min.js @@ -1 +1 @@ -function getFileId(){var b,a=location.search;return-1!=a.indexOf("?")?(b=a.substr(1),strs=b.split("="),strs[1]):""}function playVideo(){$("#playerbox").html("");var a=videojs("kiftplayer",{preload:"auto"});a.ready(function(){this.play()})}function reMainPage(){null!=tReq&&tReq.abort(),null!=tTimer&&window.clearTimeout(tTimer),window.opener=null,window.open("","_self"),window.close()}function doTranscode(){tReq=$.ajax({url:"resourceController/getVideoTranscodeStatus.ajax",type:"POST",dataType:"text",data:{fileId:f.fileId},success:function(a){"FIN"==a?playVideo():"ERROR"==a?(alert("错误:请求失败,请刷新重试。"),reMainPage()):($("#transcodeProgress").text(a),tTimer=setTimeout("doTranscode()",500))},error:function(){alert("错误:请求失败,请刷新重试。"),reMainPage()}})}function showCloseBtn(){var a=$(window).width();450>a?$("#closeBtn").addClass("hidden"):$("#closeBtn").removeClass("hidden")}function ping(){$.ajax({url:"homeController/ping.ajax",type:"POST",dataType:"text",data:{},success:function(a){"pong"!=a&&window.clearInterval(pingInt)},error:function(){window.clearInterval(pingInt)}})}var tReq,tTimer,pingInt;$(function(){window.onresize=function(){showCloseBtn()},pingInt=setInterval("ping()",6e4);var fileId=getFileId();$.ajax({url:"homeController/playVideo.ajax",type:"POST",dataType:"text",data:{fileId:fileId},success:function(result){"ERROR"!=result?(f=eval("("+result+")"),$("#vname").text(f.fileName.replace("'","'").replace("<","<").replace(">",">")),$("#vcreator").text(f.fileCreator),$("#vcdate").text(f.fileCreationDate),$("#vsize").text(f.fileSize),"N"==f.needEncode?playVideo():($("#playerMassage").html("

    播放器正在努力解码中...

    已完成:0%

    提示:该视频需解码后播放,请耐心等待!

    "),doTranscode())):(alert("错误:无法定位要预览的文件或该操作未被授权。"),reMainPage())},error:function(){alert("错误:请求失败,请刷新重试。"),reMainPage()}})}); \ No newline at end of file +function getFileId(){var b,a=location.search;return-1!=a.indexOf("?")?(b=a.substr(1),strs=b.split("="),strs[1]):""}function playVideo(){$("#playerbox").html("");var a=videojs("kiftplayer",{preload:"auto"});a.ready(function(){this.play()})}function reMainPage(){null!=tReq&&tReq.abort(),null!=tTimer&&window.clearTimeout(tTimer),window.opener=null,window.open("","_self"),window.close()}function doTranscode(){tReq=$.ajax({url:"resourceController/getVideoTranscodeStatus.ajax",type:"POST",dataType:"text",data:{fileId:f.fileId},success:function(a){"FIN"==a?playVideo():"ERROR"==a?(alert("错误:请求失败,请刷新重试。"),reMainPage()):($("#transcodeProgress").text(a),tTimer=setTimeout("doTranscode()",500))},error:function(){alert("错误:请求失败,请刷新重试。"),reMainPage()}})}function showCloseBtn(){var a=$(window).width();450>a?$("#closeBtn").addClass("hidden"):$("#closeBtn").removeClass("hidden")}function ping(){$.ajax({url:"homeController/ping.ajax",type:"POST",dataType:"text",data:{},success:function(a){"pong"!=a&&window.clearInterval(pingInt)},error:function(){window.clearInterval(pingInt)}})}var tReq,tTimer,pingInt;$(function(){window.onresize=function(){showCloseBtn()},pingInt=setInterval("ping()",6e4);var fileId=getFileId();$.ajax({url:"homeController/playVideo.ajax",type:"POST",dataType:"text",data:{fileId:fileId},success:function(result){"ERROR"!=result?(f=eval("("+result+")"),$("#vname").text(f.fileName.replace("'","'").replace("<","<").replace(">",">")),$("#vcreator").text(f.fileCreator),$("#vcdate").text(f.fileCreationDate),$("#vsize").text(f.fileSize),"N"==f.needEncode?playVideo():($("#playerMassage").html("

    播放器正在努力解码中...

    已完成:0%

    提示:该视频需解码后播放,请耐心等待!

    "),doTranscode())):(alert("错误:无法定位要预览的文件或该操作未被授权。"),reMainPage())},error:function(){alert("错误:请求失败,请刷新重试。"),reMainPage()}})}); \ No newline at end of file diff --git a/使用许可 b/使用许可 index f63e44a..4dc04b2 100644 --- a/使用许可 +++ b/使用许可 @@ -7,7 +7,7 @@ Copyright © 2018-2020 青阳龙野 2,任何组织或个人均能够自由复制、分发或修改kiftd发行版及其源代码,并将其用于任何用途。修改后的作品版权由修改者自身享有。 3,kiftd的作者无需为使用该软件及其源代码所造成的任何直接或间接后果承担责任。 4,kiftd的作者对kiftd中的全部java源代码、页面文件、js及css文件、jar程序、mybatisResource文件夹内的资源、README.md文件以及随发行版程序附带的原版《kiftd说明文档》享有版权,并作为kiftd软件的版权人。 -5,kiftd软件中涉及的所有第三方软件、工具、图片、插件及其代码,其权利由该资源之作者享有并授予kiftd使用许可。任何单位和个人认为kiftd包含的上述内容可能涉嫌侵犯其合法权益时,应及时向kiftd作者进行书面反馈,并提供其身份证明、权属证明及详细侵权情况的说明,kiftd将会立即移除被控侵权的内容。 +5,kiftd软件中涉及的所有第三方软件、工具、图片、插件及其代码,其权利由该作品的权利人享有并授予kiftd使用许可。任何单位和个人认为kiftd包含的上述内容可能涉嫌侵犯其合法权益时,应及时向kiftd作者进行书面反馈,并提供其身份证明、权属证明及详细侵权情况的说明,kiftd将会立即移除被控侵权的内容。 版权人信息: 地址:河北省唐山市路北区兴源里玫瑰庄园6单元602号