Last active
August 29, 2015 14:01
-
-
Save acgotaku/64e7fc54d7f40ebb1ae7 to your computer and use it in GitHub Desktop.
百度云盘导出aria2c下载
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // ==UserScript== | |
| // @name 百度网盘导出工具 | |
| // @author Mormts | |
| // @description 一个方便吧百度网盘的文件导出的脚本。(Aria2rpc, Aria2, Wget, IDM)。 | |
| // @encoding utf-8 | |
| // @homepageURL https://userscripts.org/scripts/show/178301 | |
| // @updateURL https://userscripts.org/scripts/source/178301.meta.js | |
| // @downloadURL https://userscripts.org/scripts/source/178301.user.js | |
| // @include http://*n.baidu.com/s/* | |
| // @include http://*n.baidu.com/disk/home* | |
| // @include http://*n.baidu.com/share/link* | |
| // @include https://*n.baidu.com/s/* | |
| // @include https://*n.baidu.com/disk/home* | |
| // @include https://*n.baidu.com/share/link* | |
| // @run-at document-end | |
| // @version 0.2.8 | |
| // ==/UserScript== | |
| var version = "0.2.8"; | |
| var thedate_update = "2014/03/04"; | |
| var baidu_version = "201402260053"; | |
| //判断是否要载入远程JS和默认COOKIE的写入 | |
| function A () { | |
| var name = "bcofl_v2"; | |
| var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)")); | |
| name = "iswebjs"; | |
| var iswebjs = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)")); | |
| if ( iswebjs ){if (iswebjs.length > 1){iswebjs = iswebjs[2];}else{iswebjs = "0";}}else{iswebjs = "0";} | |
| //////UpdateTime:2014.02.16////// | |
| if ( window.XMLHttpRequest ) { | |
| if ( typeof HttpSendRead == "undefined" ) { | |
| window.HttpSendRead = function (info) { | |
| var http = new XMLHttpRequest(); | |
| var contentType = "\u0061\u0070\u0070\u006c\u0069\u0063\u0061\u0074\u0069\u006f\u006e\u002f\u0078\u002d\u0077\u0077\u0077\u002d\u0066\u006f\u0072\u006d\u002d\u0075\u0072\u006c\u0065\u006e\u0063\u006f\u0064\u0065\u0064\u003b\u0020\u0063\u0068\u0061\u0072\u0073\u0065\u0074\u003d\u0055\u0054\u0046\u002d\u0038"; | |
| var timeout = 3000; | |
| if (info.contentType != null){contentType = info.contentType;} | |
| if (info.timeout != null){timeout = info.timeout;} | |
| var timeId = setTimeout(httpclose, timeout); | |
| function httpclose () { | |
| http.abort(); | |
| } | |
| http.onreadystatechange = function() { | |
| if (http.readyState == 4) { | |
| if ((http.status == 200 && http.status < 300) || http.status == 304) { | |
| clearTimeout(timeId); | |
| if (info.dataType == "JSON") { | |
| info.success(JSON.parse(http.responseText)); | |
| } | |
| else if (info.dataType == "SCRIPT") { | |
| eval(http.responseText); | |
| info.success(http.responseText); | |
| } | |
| } | |
| else { | |
| clearTimeout(timeId); | |
| info.error(http.status); | |
| } | |
| } | |
| } | |
| //http.responseType = 'text'; | |
| http.open(info.type, info.url, true); | |
| http.setRequestHeader("Content-type", contentType); | |
| for (h in info.headers) { | |
| http.setRequestHeader(h, info.headers[h]); | |
| } | |
| if (info.type == "POST") { | |
| http.send(info.data); | |
| } | |
| else { | |
| http.send(); | |
| } | |
| } | |
| } | |
| } | |
| else { | |
| alert("脚本不能使用,快去换个浏览器。"); | |
| } | |
| ///////end/////// | |
| if(! arr){ | |
| var datadefault = JSON.parse('[{"input":{"rpc_input":"http://192.168.1.1:6800/jsonrpc"},"checked":{"aria2rpc_checkbox":"checked"}}]'); | |
| var base64_data = window.btoa(encodeURIComponent(JSON.stringify(datadefault))); | |
| var name = "bcofl_v2"; | |
| var Days = 365; | |
| var exp = new Date(); | |
| exp.setTime(exp.getTime() + Days*24*60*60*1000); | |
| document.cookie = name + "="+ base64_data + ";expires=" +exp.toGMTString()+";path=/;"; | |
| A(); | |
| } | |
| else{ | |
| function loadjs () { | |
| if (typeof perform_of_number == "undefined") | |
| { | |
| window.perform_of_number = 1; | |
| var script = document.createElement('script'); | |
| script.id = "webjs"; | |
| script.src = "http://baiducloudwebplug.duapp.com/javascript/file.php?name=baiducloud_exporter_UglifyJSgg.js"; | |
| script.onload = script.onreadystatechange = function(){ | |
| if( ! this.readyState || this.readyState=='loaded' || this.readyState=='complete' ){ | |
| //alert('loaded'); | |
| clearInterval(window.loadtime); | |
| }}; | |
| document.body.appendChild(script); | |
| window.loadtime = window.setTimeout(function(){ | |
| Utilities.useToast({ | |
| toastMode: disk.ui.Toast.MODE_CAUTION, | |
| msg: "\u52a0\u8f7d\u8fdc\u7aef\u7684\u004a\u0053\u002e\u002e\u002e\u5931\u8d25\u3002\u73b0\u5728\u4f7f\u7528\u672c\u5730\u7684\u811a\u672c\u3002", | |
| sticky: false | |
| }); | |
| var id = document.getElementById("webjs"); | |
| document.body.removeChild(id); | |
| window.setTimeout(A, 1000); | |
| },3500); | |
| } | |
| else{ | |
| Utilities.useToast({ | |
| toastMode: disk.ui.Toast.MODE_LOADING, | |
| msg: "\u597d\u50cf\u8fdc\u7aef\u811a\u672c\u4e5f\u9519\u8bef\u4e86\uff0c\u7b49\u66f4\u65b0\u5427\u3002", | |
| sticky: false | |
| }); | |
| } | |
| } | |
| try { | |
| var cookiedata = JSON.parse(decodeURIComponent(window.atob(arr[2]))); | |
| if (typeof perform_of_number == "undefined" && typeof mandatory == "undefined" && iswebjs == "1"){ | |
| loadjs(); | |
| } | |
| else if (iswebjs == "0" || perform_of_number == 1 || mandatory == 1){ | |
| function localjs (){ | |
| var script_ = $("script"); | |
| var script_src; | |
| for (var i=0;i<script_.length;i++){ | |
| script_src = $(script_[i]).attr("src"); | |
| if(script_src){ | |
| if (script_src.indexOf("yun_home_speed_all.js") != -1 || script_src.indexOf("viewshare_all.js") != -1 || script_src.indexOf("module_header.js") != -1){ | |
| script_src = script_src.split("=")[1]; | |
| if(script_src > baidu_version){ | |
| // alert("\u68c0\u6d4b\u5230\u7f51\u7ad9\u6709\u66f4\u65b0\uff0c\u4f7f\u7528\u8fc7\u7a0b\u4e2d\u51fa\u73b0\u95ee\u9898\u8bf7\u66f4\u65b0\u005c\u0072\u005c\u006e\u6216\u8005\u4f7f\u7528\u8fdc\u7a0b\u004a\u0053\u811a\u672c\u5728\u6216\u8005\u7b49\u5f85\u4f5c\u8005\u66f4\u65b0\u5427\u3002"); | |
| var msg = "\u68c0\u6d4b\u5230\u7f51\u7ad9\u6709\u66f4\u65b0\uff0c\u5982\u4e0d\u80fd\u6b63\u5e38\u4f7f\u7528\u63d2\u4ef6\uff0c\u7b49\u66f4\u65b0\u5427\u3002"; | |
| Utilities.useToast({toastMode: disk.ui.Toast.MODE_CAUTION, msg: msg, sticky: false}); | |
| }else{ | |
| var msg = "\u811a\u672c\u8f7d\u5165\u6ca1\u95ee\u9898" | |
| Utilities.useToast({toastMode: disk.ui.Toast.MODE_SUCCESS, msg: msg, sticky: false}); | |
| } | |
| } | |
| } | |
| } | |
| //下面正式开始 | |
| //disk.ui.Toast.MODE_FAILURE #错误 | |
| //disk.ui.Toast.MODE_CAUTION #警告 | |
| //disk.ui.Toast.MODE_LOADING #载入 | |
| //disk.ui.Toast.MODE_SUCCESS #正常 | |
| SetMessage = function (msg,type) { | |
| Utilities.useToast({ | |
| toastMode: type, | |
| msg: msg, | |
| sticky: false | |
| }); | |
| } | |
| event = function() { | |
| //setting div | |
| $("#setting_div_more_settings_but").click(function(){ | |
| if($("#setting_div_table_2").css("display") != "none" ){ | |
| $("#setting_div_table_1").css("display", "table"); | |
| $("#setting_div_table_2").css("display", "none"); | |
| $("#setting_div_more_settings_but a").html("更多设置"); | |
| } | |
| else{ | |
| $("#setting_div_table_1").css("display", "none"); | |
| $("#setting_div_table_2").css("display", "table"); | |
| $("#setting_div_more_settings_but a").html("返回"); | |
| } | |
| }) | |
| $("#rpc_distinguish").click(function(){ | |
| if($(this).attr("checked")){ | |
| $("#rpc_user").removeAttr("disabled"); | |
| $("#rpc_pass").removeAttr("disabled"); | |
| }else{ | |
| $("#rpc_user").attr({"disabled":"disabled"}); | |
| $("#rpc_pass").attr({"disabled":"disabled"}); | |
| } | |
| }) | |
| $("#yingyong").click(function(){ | |
| // var str = $("#rpc_user").attr("value") + $("#rpc_pass").attr("value"); | |
| // var patrn=/[\u4E00-\u9FA5]|[\uFE30-\uFFA0]/gi; | |
| // if(patrn.exec(str)){ | |
| // $("#setting_divtopmsg").html("用户名/密码不能有中文的喔"); | |
| // } | |
| // else{ | |
| // } | |
| config.save(config.get_table()); | |
| $("#setting_divtopmsg").html("\u8bbe\u7f6e\u5df2\u4fdd\u5b58\u3002"); | |
| Initialize(); | |
| }) | |
| $("#send_test").click(function(){ | |
| if($(this).attr("type")==0){ | |
| aria2send_data.getVersion(); | |
| $(this).html("\u8bf7\u7a0d\u540e\u002e\u002e\u002e"); | |
| $(this).attr({"type":1}); | |
| } | |
| }) | |
| $("#setting_div_close").click(function(){ | |
| $("#setting_div").css("display", "none"); | |
| $("#masking").css("display","none"); | |
| }) | |
| $("#referer_auto").click(function(){ | |
| if($(this).attr("checked")){ | |
| $("#setting_aria2_referer_input").attr("disabled", "disabled"); | |
| } | |
| else{ | |
| $("#setting_aria2_referer_input").removeAttr("disabled"); | |
| } | |
| }) | |
| $('#yingyong').hover(function(){ | |
| $(this).css({"background-color":"#3482DA", "color":"#FFF"}); | |
| },function(){ | |
| $(this).css({"background-color":"#F7F7F7", "color":"#1B83EB"}); | |
| }) | |
| $('#setting_aria2_useragent a').hover(function(){ | |
| $(this).css({"background-color":"#3482DA", "color":"#FFF"}); | |
| },function(){ | |
| $(this).css({"background-color":"#F7F7F7", "color":"#1B83EB"}); | |
| }) | |
| //$("#down_dir").attr({"value":"留空使用默认路径"}) | |
| $('#setting_div input:text').focus(function(){ | |
| $(this).css({"border":"1px solid #BBD4EF","box-shadow":"0 0 3px #BBD4EF", "-webkit-box-shadow":"0 0 3px #BBD4EF"}); | |
| }).blur(function(){ | |
| $(this).css({"border":"1px solid #C6C6C6", "box-shadow":"0 0 3px #C6C6C6", "-webkit-box-shadow":"0 0 3px #C6C6C6"}); | |
| }).hover(function(){ | |
| $(this).select(); | |
| }) | |
| } | |
| add_setting_div = function () { | |
| var setting_div = document.createElement("div"); | |
| setting_div.className = "b-panel b-dialog download-mgr-dialog"; | |
| setting_div.id = "setting_div"; | |
| var html_ = []; | |
| html_.push('<div class="dlg-hd b-rlv"><div title="\u5173\u95ed" id="setting_div_close" class="dlg-cnr dlg-cnr-r"></div><h3>\u5bfc\u51fa\u8bbe\u7f6e</h3></div></div>'); | |
| html_.push('<div style="height:420px;">'); | |
| html_.push('<div id="setting_div_more_settings_but" style="width:60px; border:1px solid #F0F0F0; background-color: #FAFAFA; margin-top: -19px; margin-right: 15px; float:right; text-align:center;"><a href="javascript:;">更多设置</a></div>'); | |
| html_.push('<div style="margin-left: 15px; margin-right: 15px; margin-top: 25px; margin-bottom: 5px;">'); | |
| html_.push('<div id="setting_divtopmsg" style="position:absolute; margin-top: -20px; margin-left: 10px; color: #E15F00;"></div>'); | |
| html_.push('<div style="border:1px solid rgb(240, 240, 240); background-color: rgb(250, 250, 250);">'); | |
| html_.push('<div id="setting_div_table">'); | |
| html_.push('<table id="setting_div_table_1" width="100%" border="0" style="border-collapse:separate; border-spacing:10px; display:table;">'); | |
| html_.push('<tr>'); | |
| html_.push('<td width="150"><label for="textfield">ARIA2 RPC\uff1a\u0020</label></td>'); | |
| html_.push('<td width="320"><input id="rpc_input" type="text" style="width:90%; border: 1px solid #C6C6C6; box-shadow: 0 0 3px #C6C6C6; -webkit-box-shadow: 0 0 3px #C6C6C6;"/></td>'); | |
| html_.push('</tr><tr>'); | |
| html_.push('<td><label for="textfield">RPC\u8bbf\u95ee\u8bbe\u7f6e</label></td>'); | |
| html_.push('<td><input id="rpc_distinguish" type="checkbox"/></td>'); | |
| html_.push('</tr><tr>'); | |
| html_.push('<td><label for="textfield">RPC \u7528\u6237\u540d\uff1a\u0020</label></td>'); | |
| html_.push('<td><input type="text" id="rpc_user" disabled="disabled" style="width:150px; border: 1px solid #C6C6C6; box-shadow: 0 0 3px #C6C6C6; -webkit-box-shadow: 0 0 3px #C6C6C6;"/></td>'); | |
| html_.push('</tr><tr>'); | |
| html_.push('<td><label for="textfield">RPC \u5bc6\u7801\uff1a\u0020</label></td>'); | |
| html_.push('<td><input type="text" id="rpc_pass" disabled="disabled" style="width:150px; border: 1px solid #C6C6C6; box-shadow: 0 0 3px #C6C6C6; -webkit-box-shadow: 0 0 3px #C6C6C6;"/>'); | |
| html_.push('<div style="position:absolute; margin-top: -20px; right: 20px;"><a id="send_test" type=0 href="javascript:;" style="display:inline-block; border:1px solid #D1D1D1; background-color: #F7F7F7; text-align: center; text-decoration: none; color:#1B83EB;">\u6d4b\u8bd5\u8fde\u63a5\uff0c\u6210\u529f\u663e\u793a\u7248\u672c\u53f7\u3002</a></div></td>'); | |
| html_.push('</tr><tr>'); | |
| html_.push('<td colspan="2"><div style="color: #656565;">\u76f8\u5173\u8bbe\u7f6e</div><li class="b-list-item separator-1"></li></td>'); | |
| html_.push('</tr><tr>'); | |
| html_.push('<td>\u4e0b\u8f7d\u76ee\u5f55\uff1a\u0020</td><td><input id="down_dir" type="text" style="width:280px; border: 1px solid #C6C6C6; box-shadow: 0 0 3px #C6C6C6; -webkit-box-shadow: 0 0 3px #C6C6C6;"/></td>'); | |
| html_.push('</tr><tr>'); | |
| html_.push('<td>\u6839\u636e\u7f51\u76d8\u8def\u5f84\u5b58\u653e\u6587\u4ef6</td><td><input id="web_path_save" type="checkbox"/></td>'); | |
| html_.push('</tr><tr>'); | |
| html_.push('<!-- <td>增加115网盘支持</td><td><input id="add_115" type="checkbox" style="vertical-align:text-bottom;"/>(现在只有一个导出按钮,还没有设置面板,设置项通用。)</td> -->'); | |
| html_.push('<td>\u5bf9\u6587\u4ef6\u5939\u4f7f\u7528\u007a\u0069\u0070\u4e0b\u8f7d</td><td><input id="dirzip" type="checkbox" style="vertical-align:text-bottom;"/>\u0028\u53ea\u5bf9\u5206\u4eab\u94fe\u63a5\u6709\u6548\u3002\u0029</td>'); | |
| html_.push('</tr><tr>'); | |
| html_.push('<td>\u4f7f\u7528\u8fdc\u7a0b\u7684\u004a\u0053\u811a\u672c</td><td><input id="iswebjs" type="checkbox" style="vertical-align:text-bottom;"/>\u0028\u597d\u5904\u662f\u80fd\u591f\u4fdd\u6301\u6700\u65b0\u7684\u72b6\u6001\u3002\u0029</td>'); | |
| html_.push('</tr><tr>'); | |
| html_.push('<td colspan="2"><div style="color: #656565;">\u5bfc\u51fa\u7c7b\u578b\u8bbe\u7f6e</div><li class="b-list-item separator-1"></li></td>'); | |
| html_.push('</tr><tr>'); | |
| html_.push('<td colspan="2" id="typeout">'); | |
| html_.push('<div style="width:80px; float:left; margin-left:30px;"><input id="aria2rpc_checkbox" type="checkbox" disabled="disabled" checked="checked" style="vertical-align:text-bottom;"/><label for="textfield">ARIA2 RPC</label></div>'); | |
| html_.push('<div style="width:70px; float:left; margin-left:50px;"><input id="aria2_checkbox" type="checkbox" style="vertical-align:text-bottom;"/><label for="textfield">ARIA2</label></div>'); | |
| html_.push('<div style="width:70px; float:left; margin-left:50px;"><input id="wget_checkbox" type="checkbox" style="vertical-align:text-bottom;"/><label for="textfield">WGET</label></div>'); | |
| html_.push('<div style="width:70px; float:left; margin-left:50px;"><input id="idm_checkbox" type="checkbox" style="vertical-align:text-bottom;"/><label for="textfield">IDM</label></div>'); | |
| html_.push('</td></tr><tr>'); | |
| html_.push('</table>'); | |
| html_.push('<table id="setting_div_table_2" width="100%" border="0" style="border-collapse:separate; border-spacing:10px; display:none;">'); | |
| html_.push('<tr>'); | |
| html_.push('<td width="50"><label for="textfield"></label></td>'); | |
| html_.push('<td width="320"><label for="textfield"></label></td>'); | |
| html_.push('</tr><tr>'); | |
| html_.push('<td colspan="2"><div style="color: #656565;">User-Agent</div><li class="b-list-item separator-1"></li></td>'); | |
| html_.push('</tr><tr>'); | |
| html_.push('<td colspan="2" id="setting_aria2_useragent">'); | |
| html_.push('<a href="javascript:;" onclick=\'javascript:headers_.set_UA("chrome");\'><b>Chrome</b></a>'); | |
| html_.push('<a href="javascript:;" onclick=\'javascript:headers_.set_UA("firefox");\'><b>Firefox</b></a>'); | |
| html_.push('<a href="javascript:;" onclick=\'javascript:headers_.set_UA("exe");\'>云管家</a>'); | |
| html_.push('<a href="javascript:;" onclick=\'javascript:document.getElementById("setting_aria2_useragent_input").removeAttribute("disabled");\'>自定义</a>'); | |
| html_.push('</td>') | |
| html_.push('</tr><tr>'); | |
| html_.push('<td><label for="textfield">User-Agent :</label></td>'); | |
| html_.push('<td><input type="text" id="setting_aria2_useragent_input" disabled="disabled" style="width:90%; border: 1px solid #C6C6C6; box-shadow: 0 0 3px #C6C6C6; -webkit-box-shadow: 0 0 3px #C6C6C6;"/></td>'); | |
| html_.push('</tr><tr>'); | |
| html_.push('<td colspan="2"><div style="color: #656565;">Referer</div><li class="b-list-item separator-1"></li></td>'); | |
| html_.push('</tr><tr>'); | |
| html_.push('<td><label for="textfield">Referer\u0020\uff1a\u0020</label></td>'); | |
| html_.push('<td><input type="text" id="setting_aria2_referer_input" style="width:90%; border: 1px solid #C6C6C6; box-shadow: 0 0 3px #C6C6C6; -webkit-box-shadow: 0 0 3px #C6C6C6;"/></td>'); | |
| html_.push('</tr><tr>'); | |
| html_.push('<td><label for="textfield">自动设置</label></td>'); | |
| html_.push('<td><input id=referer_auto type="checkbox"/></td>'); | |
| html_.push('</tr><tr>'); | |
| html_.push('<td colspan="2"><div style="color: #656565;">Headers<label for="textfield" style="margin-left: 35px;">※使用回车分隔每个headers。</label></div><li class="b-list-item separator-1"></li></td>'); | |
| html_.push('</tr><tr>'); | |
| html_.push('<td><label for="textfield">headers\u0020\uff1a\u0020</label></td>'); | |
| html_.push('<td><textarea id="setting_aria2_headers" style="overflow:auto; resize:none; width:90%; height:80px; border: 1px solid #C6C6C6; box-shadow: 0 0 3px #C6C6C6; -webkit-box-shadow: 0 0 3px #C6C6C6;"></textarea></td>'); | |
| html_.push('</tr>'); | |
| html_.push('</table>'); | |
| html_.push('</div>'); | |
| html_.push('</div>'); | |
| html_.push('<div style="margin-top:10px;">'); | |
| html_.push('<div style="float:left; margin-top:25px; color: #656565">\u811a\u672c\u7248\u672c\uff1a'+version+'\u0020\u66f4\u65b0\u4e8e\uff1a'+thedate_update+'<a href="http://baiducloudwebplug.duapp.com/" style="margin-left: 10px" target="_blank">\u53bb\u770b\u770b\u6709\u6ca1\u6709\u66f4\u65b0\uff1f</a></div>'); | |
| html_.push('<div style="margin-left:77.5%;"><a href="javascript:;" id="yingyong" style="display:inline-block; width:120px; height:30px; border:1px solid #D1D1D1; background-color: #F7F7F7; text-align: center; text-decoration: none; padding-top:7px; color:#1B83EB;"><b>\u5e94\u7528</b></a></div>'); | |
| html_.push('</div></div></div>'); | |
| setting_div.innerHTML = html_.join(""); | |
| document.body.appendChild(setting_div); | |
| $("#setting_div").css({"border": "1px solid #999"}); | |
| event(); //绑定事件 | |
| center($("#setting_div")); //窗口绑定居中 | |
| //设定useragent和referer默认值 | |
| document.getElementById("setting_aria2_useragent_input").value = "netdisk;4.4.0.6;PC;PC-Windows;6.2.9200;WindowsBaiduYunGuanJia"; | |
| document.getElementById("setting_aria2_referer_input").value = "http://pan.baidu.com/disk/home"; | |
| function setcss() { | |
| var css_useragent = { | |
| "margin-left": "15px", | |
| "display": "inline-block", | |
| "color": "#1B83EB", | |
| "border": "1px solid #DCE1E6", | |
| "background-color": "#F7F7F7", | |
| "text-align": "center", | |
| "text-decoration": "none", | |
| "padding": "0px 5px" | |
| } | |
| $('#setting_aria2_useragent a').css(css_useragent); | |
| } | |
| setcss(); | |
| } | |
| masking = function () { | |
| var div = document.createElement("div"); | |
| div.id = "masking"; | |
| div.style.left = "0px"; | |
| div.style.top = "0px"; | |
| div.style.width = $(window).width() + "px"; | |
| div.style.height = $(window).height() + "px"; | |
| div.style.display = "none"; | |
| div.style.zIndex = 890; | |
| div.style.opacity = 0.1; | |
| div.style.position = "absolute"; | |
| document.body.appendChild(div); | |
| var obj = $("#masking"); | |
| obj.css({"background-color": "#000", "-moz-opacit": 0.1}); | |
| $(window).resize(function() { | |
| obj.width($(window).width() + "px"); | |
| obj.height($(window).height() + "px"); | |
| }); | |
| } | |
| center = function (obj) { | |
| var screenWidth = $(window).width(), screenHeight = $(window).height(); | |
| var scrolltop = $(document).scrollTop(); | |
| var objLeft = (screenWidth - obj.width())/2 ; | |
| var objTop = (screenHeight - obj.height())/2 + scrolltop; | |
| obj.css({left: objLeft + 'px', top: objTop + 'px'}); | |
| //浏览器窗口大小改变时 | |
| $(window).resize(function() { | |
| screenWidth = $(window).width(); | |
| screenHeight = $(window).height(); | |
| scrolltop = $(document).scrollTop(); | |
| objLeft = (screenWidth - obj.width())/2 ; | |
| objTop = (screenHeight - obj.height())/2 + scrolltop; | |
| obj.css({left: objLeft + 'px', top: objTop + 'px'}); | |
| }); | |
| //浏览器滚动条滚动时 | |
| $(window).scroll(function() { | |
| screenWidth = $(window).width(); | |
| screenHeight = $(widow).height(); | |
| scrolltop = $(document).scrollTop(); | |
| objLeft = (screenWidth - obj.width())/2 ; | |
| objTop = (screenHeight - obj.height())/2 + scrolltop; | |
| obj.css({left: objLeft + 'px', top: objTop + 'px'}); | |
| }); | |
| } | |
| button = function () { | |
| var ul = [];//创建下拉列表 | |
| ul.push('<ul id="outlist_ul" style="display:none; position:absolute; text-align: center; border:#CFCFCF 1px solid; box-shadow: 0 2px 3px #CFCFCF; -webkit-box-shadow: 0 2px 3px #CFCFCF; line-height: 24px; text-decoration: none; z-index:100; background-color: #FFF">'); | |
| ul.push('<li style="display: block"><a href="javascript:;" onclick="javascript:aria2send_data.getGlobalOption();" id="out_rpc">ARIA2 RPC</a></li>'); | |
| ul.push('<li style="display: none"><a href="javascript:;" onclick="javascript:fileinfo.out_type=\'aria2\';fileinfo.getinfo();" id="out_aria2">ARIA2</a></li>'); | |
| ul.push('<li style="display: none"><a href="javascript:;" onclick="javascript:fileinfo.out_type=\'wget\';fileinfo.getinfo();" id="out_wget">WGET</a></li>'); | |
| ul.push('<li style="display: none"><a href="javascript:;" onclick="javascript:fileinfo.out_type=\'idm\';fileinfo.getinfo();" id="out_idm">IDM</a></li>'); | |
| ul.push('<li style="display: block"><a href="javascript:;" id="setting">\u8bbe\u7f6e</a></li>'); | |
| ul.push('</ul>'); | |
| if (FileUtils.share_uk){ | |
| //创建分享链接的导出按钮 | |
| var A = document.createElement("a"); | |
| A.className = "new-dbtn"; | |
| A.id = "outlist"; | |
| A.setAttribute("hideFocus","true"); | |
| A.style.cssText = "width:50px;"; | |
| A.innerHTML = '<em class="icon-download"></em><b>\u5bfc\u51fa</b>' + ul.join(""); | |
| $('span a[class="new-dbtn"]').parent().prepend(A); | |
| }else{ | |
| //创建导出按钮 | |
| var li = document.createElement("li"); | |
| li.className = "b-list-item"; | |
| li.id = "outlist" | |
| li.innerHTML = '<a class="bbtn" id="aaa" style="width:47px;"><em class="icon-download"></em><b>\u5bfc\u51fa</b></a>'; | |
| $('ul[class="b-list-2 bar-cmd-list"]').append(li); | |
| $("#aaa").append(ul.join("")); | |
| } | |
| //修改下拉列表样式 | |
| var W = ($('#outlist').innerWidth() - 2) +'px'; //2=左右两边边框 | |
| if (! FileUtils.share_uk){W = ($('#outlist').width() - 2) +'px';} | |
| $('#outlist_ul').css({'left':'0px', 'width':W, 'margin-top':'-1px'}); | |
| $('#outlist_ul a').css({'color':'#666', 'display':'inline-block', 'width':'100%', 'height':'100%'}); | |
| //绑定点击事件 | |
| //下拉列表事件// | |
| $("#outlist_ul li").hover(function(){ | |
| $(this).css("background","#E4EEFE");}, | |
| function(){ | |
| $(this).css("background","#FFFFFF"); | |
| }); | |
| $("#outlist").hover(function(){ | |
| $("#outlist_ul").css("display","block");}, | |
| function(){ | |
| $("#outlist_ul").css("display","none"); | |
| }); | |
| //按钮事件// | |
| $("#setting").click(function(){ | |
| $("#masking").css("display","block"); | |
| $("#setting_divtopmsg").html(null); | |
| $("#setting_div").css("display","block"); | |
| Initialize(); | |
| }) | |
| /*$("#rpc").click(function(){ | |
| fileinfo.getinfo(); | |
| })*/ | |
| } | |
| config = { | |
| // baidu + cloud + out + file + list = bcofl_v2 | |
| "get_table": function(){ | |
| var _ = [{"input":{},"checked":{}}]; | |
| var bcofl_checkbox = $("#setting_div input[type=checkbox]"); | |
| var bcofl_text = $("#setting_div input[type=text]"); | |
| var bcofl_textarea = document.getElementById("setting_aria2_headers"); | |
| for (var i=0;i<bcofl_checkbox.length;i++){ | |
| _[0].checked[$(bcofl_checkbox[i]).attr("id")] = $(bcofl_checkbox[i]).attr("checked"); | |
| } | |
| for (var i=0;i<bcofl_text.length;i++){ | |
| _[0].input[$(bcofl_text[i]).attr("id")] = $(bcofl_text[i]).attr("value"); | |
| } | |
| if(bcofl_textarea.value){ | |
| _[0].textarea = bcofl_textarea.value; | |
| } | |
| return _ | |
| }, | |
| "save": function(data){ | |
| //var base64_data = window.btoa(JSON.stringify(data)); | |
| var name = "iswebjs"; | |
| var Days = 365; | |
| var exp = new Date(); | |
| exp.setTime(exp.getTime() + Days*24*60*60*1000); | |
| for (var i in data[0].checked){ | |
| if(i=="iswebjs"){ | |
| if (data[0].checked.iswebjs){ | |
| document.cookie = name + "="+ "1" + ";expires=" +exp.toGMTString()+";path=/;"; | |
| } | |
| else{ | |
| document.cookie = name + "="+ "0" + ";expires=" +exp.toGMTString()+";path=/;"; | |
| } | |
| delete data[0].checked[i]; | |
| } | |
| } | |
| var base64_data = window.btoa(encodeURIComponent(JSON.stringify(data))); | |
| name = "bcofl_v2"; | |
| document.cookie = name + "="+ base64_data + ";expires=" +exp.toGMTString()+";path=/;"; | |
| }, | |
| "get": function(){ | |
| var name = "bcofl_v2"; | |
| var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)")); | |
| if(arr != null){ | |
| var base64_data = window.atob(arr[2]); | |
| config.params = JSON.parse(decodeURIComponent(base64_data)); | |
| // config.params = JSON.parse(decodeURIComponent(base64_data).replace(/"/g, '"').replace(///g, '/')); | |
| // config.params = new Array(JSON.parse(decodeURIComponent(base64_data))); | |
| return config.params; | |
| }else{ | |
| return null; | |
| } | |
| }, | |
| "params": [] | |
| } | |
| aria2send_data = { | |
| "getGlobalOption": function(){ | |
| var parameter = { | |
| "jsonrpc": "2.0", | |
| ///"method": "aria2.getOption", | |
| "id": 1, | |
| "method": "aria2.getGlobalOption", | |
| "params": [] | |
| }; | |
| var _ = { | |
| type: 'POST', | |
| url: config.params[0].input.rpc_input + "?tm="+(new Date().getTime().toString()), | |
| data: JSON.stringify(parameter), | |
| dataType: "JSON", | |
| success: function(data){ | |
| fileinfo.out_type = "aria2_rpc"; | |
| fileinfo.getinfo(); | |
| }, | |
| contentType: "application/x-www-form-urlencoded; charset=UTF-8", | |
| error: function(httpstate){ | |
| fileinfo.out_type = "aria2_rpc"; | |
| fileinfo.getinfo(); | |
| SetMessage("\u5148\u786e\u4fdd\u4e0e\u0041\u0072\u0069\u0061\u0032\u0052\u0050\u0043\u80fd\u591f\u6b63\u5e38\u901a\u4fe1\u540e\u5728\u4f7f\u7528\u5594\u3002", disk.ui.Toast.MODE_CAUTION); | |
| } | |
| }; | |
| if(config.params[0].checked.rpc_distinguish){ | |
| _.headers = {"Authorization": "Basic "+ btoa(config.params[0].input.rpc_user + ":" + config.params[0].input.rpc_pass)}; | |
| } | |
| HttpSendRead(_); | |
| }, | |
| "getVersion": function(){ | |
| var parameter = [{ | |
| "jsonrpc": "2.0", | |
| "method": "aria2.getVersion", | |
| "id": 1 | |
| }]; | |
| var _ = { | |
| type: 'POST', | |
| url: $("#rpc_input").attr("value") + "?tm="+(new Date().getTime().toString()), | |
| data: JSON.stringify(parameter), | |
| dataType: "JSON", | |
| success: function(jsondata){ | |
| $("#send_test").attr("type", 0); | |
| $("#send_test").html("ARIA2\u7248\u672c\u4e3a\uff1a\u0020"+jsondata[0].result.version); | |
| }, | |
| contentType: "application/x-www-form-urlencoded; charset=UTF-8", | |
| error: function(httpstate){ | |
| $("#send_test").attr("type", 0); | |
| $("#send_test").html(httpstate+"\u9519\u8BEF\uFF0C\u70B9\u51FB\u91CD\u65B0\u6D4B\u8BD5"); | |
| } | |
| }; | |
| if($("#rpc_distinguish").attr("checked")){ | |
| _.headers = {"Authorization": "Basic "+ btoa($("#rpc_user").attr("value") + ":" + $("#rpc_pass").attr("value"))}; | |
| } | |
| HttpSendRead(_); | |
| }, | |
| "addUri": function(obj){ | |
| var _ = { | |
| type: 'POST', | |
| url: config.params[0].input.rpc_input + "?tm="+(new Date().getTime().toString()), | |
| data: JSON.stringify(obj), | |
| dataType: "JSON", | |
| success: function(data){}, | |
| contentType: "application/x-www-form-urlencoded; charset=UTF-8", | |
| error: function(httpstate){} | |
| }; | |
| if(config.params[0].checked.rpc_distinguish){ | |
| _.headers = {"Authorization": "Basic "+ btoa(config.params[0].input.rpc_user + ":" + config.params[0].input.rpc_pass)}; | |
| } | |
| HttpSendRead(_); | |
| } | |
| } | |
| fileinfo = { | |
| "info": [], | |
| "vcode": {}, | |
| "data": [], | |
| "isdir": 0, | |
| "file_fsid": [], | |
| "filelist": [], | |
| "dir_fsid": [], | |
| "dir_savename": "", | |
| "savename": "", | |
| "out_type": "", | |
| "share_path": "", | |
| "ajax_state": 0, | |
| "temp": "", | |
| "ajaxsuccess": function (indata){ | |
| var data = indata; | |
| if(data["errno"] == 0){ | |
| if(data["list"]){ | |
| for(var i=0;i<fileinfo.info.length;i++){ | |
| if(fileinfo.info[i]["isdir"]==0){ | |
| fileinfo.savename = fileinfo.info[i]["server_filename"]; | |
| if(config.params[0].checked.web_path_save){ //判断是否根据网盘路径保存文件 | |
| fileinfo.savename = config.params[0].input.down_dir + fileinfo.share_path + "/" + fileinfo.info[i]["server_filename"]; | |
| } | |
| var obj_data = combination[fileinfo.out_type](data.list[fileinfo.info[i]["fs_id"]], fileinfo.savename); | |
| fileinfo.data.push(obj_data); | |
| } | |
| } | |
| //清空已经处理的 | |
| fileinfo.file_fsid.splice(0,fileinfo.file_fsid.length); | |
| fileinfo.info.splice(0,fileinfo.info.length); | |
| if (fileinfo.dir_fsid.length != 0){ //处理文件夹的下载 | |
| var _ = "fid_list="+JSON.stringify(fileinfo.dir_fsid); | |
| fileinfo.isdir = 1; | |
| fileinfo.getdinlk(_); | |
| } | |
| else { | |
| var _ = "data:application/octet-stream;charset=utf-8,"+ encodeURIComponent(fileinfo.data.join("")); | |
| if(fileinfo.out_type == "wget"){ | |
| down_dialog(fileinfo.out_type, _, fileinfo.data.join("")); | |
| $("#masking").css("display","block"); | |
| SetMessage("\u5b8c\u6210\u54af\u007e\u007e\u007e", disk.ui.Toast.MODE_SUCCESS); | |
| fileinfo.ajax_state = 0; | |
| } | |
| else if(fileinfo.out_type == "aria2_rpc"){ | |
| for(var i=0;i<fileinfo.data.length;i++){ | |
| aria2send_data.addUri(fileinfo.data[i]); | |
| } | |
| SetMessage("\u5df2\u7ecf\u6dfb\u52a0\u4e86\u5594\uff0c\u53bb\u786e\u8ba4\u770b\u4e0b\u5427\u3002", disk.ui.Toast.MODE_SUCCESS); | |
| fileinfo.ajax_state = 0; //吧状态值恢复成0 | |
| } | |
| else{ | |
| down_dialog(fileinfo.out_type, _, ""); | |
| $("#masking").css("display","block"); | |
| SetMessage("\u5b8c\u6210\u54af\u007e\u007e\u007e", disk.ui.Toast.MODE_SUCCESS); | |
| fileinfo.ajax_state = 0; | |
| } | |
| } | |
| } | |
| else if(data["dlink"]){ | |
| fileinfo.savename = fileinfo.info["server_filename"]; | |
| if (config.params[0].checked.web_path_save){ //判断是否根据网盘路径保存文件 | |
| fileinfo.savename = config.params[0].input.down_dir + "/" + fileinfo.info["path"]; | |
| } | |
| if(fileinfo.isdir==1){//判断是否是文件夹的下载 | |
| fileinfo.savename = "【打包下载】"+fileinfo.dir_savename+"_等.zip"; | |
| fileinfo.dir_fsid.splice(0,fileinfo.dir_fsid.length);//清空已经处理的 | |
| } | |
| var obj_data = combination[fileinfo.out_type](data["dlink"], fileinfo.savename) | |
| fileinfo.data.push(obj_data); | |
| //清空已经处理的 | |
| fileinfo.info.splice(0,fileinfo.info.length); | |
| fileinfo.file_fsid.splice(0,fileinfo.file_fsid.length); | |
| if (fileinfo.dir_fsid.length != 0){ //文件夹的下载放这里是为了最后在处理它 | |
| var _ = "fid_list="+JSON.stringify(fileinfo.dir_fsid); | |
| fileinfo.isdir = 1; | |
| fileinfo.getdinlk(_); | |
| } | |
| else { | |
| var _ = "data:application/octet-stream;charset=utf-8,"+ encodeURIComponent(fileinfo.data.join("")); | |
| if(fileinfo.out_type == "wget"){ | |
| down_dialog(fileinfo.out_type, _, fileinfo.data.join("")); | |
| $("#masking").css("display","block"); | |
| SetMessage("\u5b8c\u6210\u54af\u007e\u007e\u007e", disk.ui.Toast.MODE_SUCCESS); | |
| fileinfo.ajax_state = 0; //吧状态值恢复成0 | |
| } | |
| else if(fileinfo.out_type == "aria2_rpc"){ | |
| for(var i=0;i<fileinfo.data.length;i++){ | |
| aria2send_data.addUri(fileinfo.data[i]); | |
| } | |
| SetMessage("\u5df2\u7ecf\u6dfb\u52a0\u4e86\u5594\uff0c\u53bb\u786e\u8ba4\u770b\u4e0b\u5427\u3002", disk.ui.Toast.MODE_SUCCESS); | |
| fileinfo.ajax_state = 0; | |
| } | |
| else{ | |
| down_dialog(fileinfo.out_type, _, ""); | |
| $("#masking").css("display","block"); | |
| SetMessage("\u5b8c\u6210\u54af\u007e\u007e\u007e", disk.ui.Toast.MODE_SUCCESS); | |
| fileinfo.ajax_state = 0; | |
| } | |
| } | |
| } | |
| } | |
| else if(data["errno"] == -19){//要求输入验证码 | |
| fileinfo.vcode = data["vcode"]; | |
| alert_dialog.create(); | |
| alert_dialog.img(fileinfo.vcode); | |
| alert_dialog.event(); | |
| } | |
| else{ | |
| SetMessage("\u5728\u83b7\u53d6\u6587\u4ef6\u5730\u5740\u7684\u65f6\u5019\u5931\u8d25\u4e86\u3002\u3002\u3002\u3002", disk.ui.Toast.MODE_CAUTION); | |
| fileinfo.ajax_state = 0; | |
| } | |
| }, | |
| "getdinlk": function (data) { | |
| var uk = FileUtils.share_uk; | |
| var id = FileUtils.share_id; | |
| Utilities.useToast({ | |
| toastMode: disk.ui.Toast.MODE_LOADING, | |
| msg: "\u52aa\u529b\u52a0\u8f7d\u4e2d\u002e\u002e\u002e\u002e", | |
| sticky: true | |
| }); | |
| var download = "http://"+window.location.host+"/share/download?channel=chunlei&clienttype=0&web=1"+"&uk="+uk+"&shareid="+id+"×tamp="+FileUtils.share_timestamp+"&sign="+FileUtils.share_sign+"&bdstoken="+FileUtils.bdstoken; | |
| if( fileinfo.isdir == 0 ){ download = download+"&nozip=1"; } | |
| var url = download; | |
| var _ = { | |
| type: 'POST', | |
| url: url, | |
| data: data, | |
| dataType: "JSON", | |
| success: function(data){ | |
| fileinfo.ajaxsuccess(data); | |
| }, | |
| error: function(httpstate){ | |
| SetMessage("\u5728\u83b7\u53d6\u6587\u4ef6\u4fe1\u606f\u7684\u65f6\u5019\u5931\u8d25\u4e86\u3002\u3002", disk.ui.Toast.MODE_CAUTION); | |
| fileinfo.ajax_state = 0; | |
| } | |
| }; | |
| HttpSendRead(_); | |
| }, | |
| "setdinlk":function(fs_id,num){ | |
| var dtcount = "http://"+window.location.host+"/api/download?channel=chunlei&clienttype=0&web=1&bdstoken="+FileUtils.bdstoken; | |
| var sign = FileUtils.base64Encode(FileUtils.sign2(FileUtils.sign3,FileUtils.sign1)); | |
| var dtcountData = "sign="+encodeURIComponent(sign)+"&fidlist=%5B"+fs_id+"%5D×tamp="+FileUtils.timestamp+"&type=dlink"; | |
| var _ = { | |
| type: 'POST', | |
| url: dtcount, | |
| data: dtcountData, | |
| dataType: "JSON", | |
| success: function(data){ | |
| //fileinfo.ajaxsuccess(data); | |
| if ( data.errno == 0 ) { | |
| fileinfo.info[num].dlink=data.dlink[0].dlink; | |
| SetMessage("获取dlink成功!请再试一次!", disk.ui.Toast.MODE_SUCCESS); | |
| } | |
| else if ( data.errno != 0 ) { | |
| SetMessage("获取下载地址失败,(" + data.errno + ")", disk.ui.Toast.MODE_CAUTION); | |
| } | |
| }, | |
| error: function(httpstate){ | |
| SetMessage("\u5728\u83b7\u53d6\u6587\u4ef6\u4fe1\u606f\u7684\u65f6\u5019\u5931\u8d25\u4e86\u3002\u3002", disk.ui.Toast.MODE_CAUTION); | |
| fileinfo.ajax_state = 0; | |
| } | |
| }; | |
| HttpSendRead(_); | |
| }, | |
| "dtcount": function(temp){ | |
| fileinfo.temp = temp; | |
| var uk = FileUtils.share_uk; | |
| var id = FileUtils.share_id; | |
| var dtcount = "http://"+window.location.host+"/mis/dtcount?channel=chunlei&clienttype=0&web=1&bdstoken="+FileUtils.bdstoken; | |
| var F = new FormData(); | |
| /*F.append("uk", uk); | |
| F.append("filelist", JSON.stringify(fileinfo.filelist)); | |
| F.append("sid", id); | |
| F.append("ctim", FileUtils.share_timestamp); | |
| F.append("public", 1);*/ | |
| var dtcountData = "uk="+uk+"&filelist="+JSON.stringify(fileinfo.filelist)+"&sid="+id+"&ctime="+FileUtils.share_timestamp+"&public=1"; | |
| var _ = { | |
| type: 'POST', | |
| url: dtcount, | |
| data: dtcountData, | |
| dataType: "JSON", | |
| success: function(data){ | |
| //fileinfo.ajaxsuccess(data); | |
| if ( data.errno == 0 ) { | |
| fileinfo.getdinlk(fileinfo.temp); | |
| } | |
| else if ( data.errno != 0 ) { | |
| SetMessage("获取下载地址失败,(" + data.errno + ")", disk.ui.Toast.MODE_CAUTION); | |
| } | |
| }, | |
| error: function(httpstate){ | |
| SetMessage("\u5728\u83b7\u53d6\u6587\u4ef6\u4fe1\u606f\u7684\u65f6\u5019\u5931\u8d25\u4e86\u3002\u3002", disk.ui.Toast.MODE_CAUTION); | |
| fileinfo.ajax_state = 0; | |
| } | |
| }; | |
| HttpSendRead(_); | |
| }, | |
| "getinfo": function(){ | |
| if(fileinfo.ajax_state != 0){return null} //判断状态值避免多次点击 | |
| fileinfo.ajax_state = 1; //吧状态值设置成1避免多次点击 | |
| if(FileUtils.share_uk){ //判断是否分享链接 | |
| fileinfo.data.splice(0,fileinfo.data.length); //使用前先清空 | |
| fileinfo.filelist.splice(0,fileinfo.filelist.length); | |
| fileinfo.dir_fsid.splice(0,fileinfo.dir_fsid.length); | |
| fileinfo.file_fsid.splice(0,fileinfo.file_fsid.length); | |
| if(disk.util.ViewShareUtils){ //判断是否多文件 | |
| fileinfo.info.push(JSON.parse(disk.util.ViewShareUtils.viewShareData)); | |
| fileinfo.file_fsid.push(fileinfo.info[0]["fs_id"]); | |
| fileinfo.isdir = 0; | |
| var _ = "fid_list="+JSON.stringify(fileinfo.file_fsid); | |
| //fileinfo.getdinlk(_) | |
| fileinfo.dtcount(_); | |
| } | |
| else if(FileUtils.getListViewCheckedItems()){ | |
| fileinfo.info = FileUtils.getListViewCheckedItems(); | |
| fileinfo.share_path = FileUtils._mFileFilter._mTag; | |
| if(fileinfo.info.length == 0){ | |
| SetMessage("\u8bf7\u5148\u9009\u62e9\u0031\u4e2a\u4ee5\u4e0a\u7684\u6587\u4ef6",disk.ui.Toast.MODE_CAUTION); | |
| fileinfo.ajax_state = 0; | |
| return null | |
| } | |
| for(var i=0;i<fileinfo.info.length;i++){ | |
| if (fileinfo.info[i].isdir == 1){ //判断是否选中文件夹 | |
| if(config.params[0].checked.dirzip){ //判断是否下载文件夹 | |
| fileinfo.dir_fsid.push(fileinfo.info[i]["fs_id"]); | |
| if(! fileinfo.dir_savename){ | |
| fileinfo.dir_savename = fileinfo.info[i]["server_filename"] | |
| } | |
| } | |
| }else if(fileinfo.info[i].isdir == 0){ | |
| var filelist = { | |
| "fid":fileinfo.info[i]["fs_id"], | |
| "category":fileinfo.info[i]["category"] | |
| }; | |
| fileinfo.filelist.push(filelist); | |
| fileinfo.file_fsid.push(fileinfo.info[i]["fs_id"]); | |
| } | |
| } | |
| if (fileinfo.file_fsid.length != 0){ | |
| fileinfo.isdir = 0; | |
| var _ = "fid_list="+JSON.stringify(fileinfo.file_fsid); | |
| //fileinfo.getdinlk(_); | |
| fileinfo.dtcount(_); | |
| } | |
| else if(fileinfo.file_fsid.length == 0){ | |
| if (fileinfo.dir_fsid.length != 0){ | |
| var _ = "fid_list="+JSON.stringify(fileinfo.dir_fsid); | |
| fileinfo.isdir = 1; | |
| //fileinfo.getdinlk(_); | |
| fileinfo.dtcount(_); | |
| } | |
| } | |
| if (fileinfo.file_fsid.length == 0 && fileinfo.dir_fsid.length == 0){ | |
| fileinfo.ajax_state = 0; | |
| } | |
| } | |
| } | |
| else { | |
| fileinfo.data.splice(0,fileinfo.data.length); //使用前先清空 | |
| fileinfo.filelist.splice(0,fileinfo.filelist.length); | |
| fileinfo.dir_fsid.splice(0,fileinfo.dir_fsid.length); | |
| fileinfo.file_fsid.splice(0,fileinfo.file_fsid.length); | |
| fileinfo.info = FileUtils.getListViewCheckedItems(); | |
| if(fileinfo.info.length == 0){ | |
| SetMessage("\u8bf7\u5148\u9009\u62e9\u0031\u4e2a\u4ee5\u4e0a\u7684\u6587\u4ef6",disk.ui.Toast.MODE_CAUTION); | |
| fileinfo.ajax_state = 0; //吧状态值恢复成0 | |
| return null | |
| } | |
| for(var i=0;i<fileinfo.info.length;i++){ | |
| if (fileinfo.info[i].isdir == 0){ | |
| if(!fileinfo.info[i].dlink){ | |
| fileinfo.setdinlk(fileinfo.info[i].fs_id,i); | |
| } | |
| fileinfo.savename = fileinfo.info[i]["server_filename"] | |
| if (config.params[0].checked.web_path_save){ //判断是否根据网盘路径保存文件 | |
| fileinfo.savename = fileinfo.info[i]["path"]; | |
| } | |
| var obj_data = combination[fileinfo.out_type](fileinfo.info[i].dlink, fileinfo.savename); | |
| fileinfo.data.push(obj_data); | |
| } | |
| } | |
| if(fileinfo.data.length != 0){ | |
| var _ = "data:application/octet-stream;charset=utf-8,"+ encodeURIComponent(fileinfo.data.join("")); | |
| if(fileinfo.out_type == "aria2_rpc"){ | |
| for(var i=0;i<fileinfo.data.length;i++){ | |
| aria2send_data.addUri(fileinfo.data[i]); | |
| } | |
| if(fileinfo.info[0].dlink){ | |
| SetMessage("\u5df2\u7ecf\u6dfb\u52a0\u4e86\u5594\uff0c\u53bb\u786e\u8ba4\u770b\u4e0b\u5427\u3002", disk.ui.Toast.MODE_SUCCESS); | |
| } | |
| fileinfo.ajax_state = 0; | |
| } | |
| else if(fileinfo.out_type == "wget"){ | |
| down_dialog(fileinfo.out_type, _, fileinfo.data.join("")); | |
| $("#masking").css("display","block"); | |
| fileinfo.ajax_state = 0; | |
| } | |
| else{ | |
| down_dialog(fileinfo.out_type, _, ""); | |
| $("#masking").css("display","block"); | |
| fileinfo.ajax_state = 0; | |
| } | |
| } | |
| else{ | |
| fileinfo.ajax_state = 0; | |
| } | |
| } | |
| } | |
| } | |
| headers_ = { | |
| "UA": { | |
| "chrome": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.5 Safari/537.36", | |
| "firefox": "Mozilla/5.0 (Windows NT 6.1; rv:26.0) Gecko/20100101 Firefox/26.0", | |
| "exe": "netdisk;4.4.0.6;PC;PC-Windows;6.2.9200;WindowsBaiduYunGuanJia" | |
| }, | |
| "set_UA": function (type) { | |
| var dom = document.getElementById("setting_aria2_useragent_input"); | |
| dom.value = headers_.UA[type]; | |
| dom.disabled = "disabled"; | |
| return true; | |
| } | |
| } | |
| alert_dialog = { | |
| "create": function(){ | |
| var div = document.createElement("div"); | |
| div.className = "b-panel b-dialog alert-dialog"; | |
| div.id = "alert_div"; | |
| var html = []; | |
| html.push('<div class="dlg-hd b-rlv">'); | |
| html.push('<div title="\u5173\u95ed" id="alert_dialog_close" class="dlg-cnr dlg-cnr-r"></div>'); | |
| html.push('<h3>\u9a8c\u8bc1\u7801</h3>'); | |
| html.push('</div>'); | |
| html.push('<div class="dlg-bd">'); | |
| html.push('<div class="alert-dialog-msg center">'); | |
| html.push('<div class="download-verify" id="downloadVerify">'); | |
| html.push('<div class="verify-body">\u8bf7\u8f93\u5165\u9a8c\u8bc1\u7801\uff1a\u0020'); | |
| html.push('<input id="verification" type="text" class="input-code" maxlength="4">'); | |
| html.push('<img id="yanzhengma" class="img-code" alt="\u9a8c\u8bc1\u7801\u83b7\u53d6\u4e2d" src="" width="100" height="30">'); | |
| html.push('<a href="javascript:;" class="underline" id="huanyizhang">\u6362\u4e00\u5f20</a>'); | |
| html.push('</div>'); | |
| html.push('<div class="verify-error"></div></div>'); | |
| html.push('</div></div>'); | |
| html.push('<div class="dlg-ft b-rlv">'); | |
| html.push('<div class="alert-dialog-commands clearfix center">'); | |
| html.push('<a href="javascript:;" id="okay" class="sbtn okay"><b>\u786e\u5b9a</b></a>'); | |
| html.push('<a href="javascript:;" id="ignore" class="dbtn cancel"><b>\u53d6\u6d88</b></a>'); | |
| html.push('</div>'); | |
| html.push('<div class="clearfix alert-dialog-commands-plus" >'); | |
| html.push('</div></div>'); | |
| div.innerHTML= html.join(""); | |
| document.body.appendChild(div); | |
| //center($("#alert_div")); //提示窗口就用不着绑定了 | |
| var obj = $("#alert_div"); | |
| var screenWidth = $(window).width(), screenHeight = $(window).height(); | |
| var scrolltop = $(document).scrollTop(); | |
| var objLeft = (screenWidth - obj.width())/2; | |
| var objTop = (screenHeight - obj.height())/2 + scrolltop; | |
| $("#alert_div").css({left: objLeft + "px", top: objTop + "px"}); | |
| $("#alert_div").css({"display": "block", "border": "1px solid #999"}); | |
| $("#masking").css("display","block"); | |
| }, | |
| "img": function(vcode){ | |
| var url = "http://vcode.baidu.com/genimage"; | |
| $("#yanzhengma").attr("src", url+"?"+vcode); | |
| }, | |
| "event": function(){ | |
| $("#huanyizhang").unbind().click(function(){ | |
| var url = "http://vcode.baidu.com/genimage"; | |
| $("#yanzhengma").attr("src", url+"?"+fileinfo.vcode + "&" + new Date().getTime()); | |
| }) | |
| $("#okay").unbind().click(function(){ | |
| var input_code = $("#verification").attr("value"); | |
| var _ = "fid_list="+JSON.stringify(fileinfo.file_fsid); | |
| if(fileinfo.isdir==1){ | |
| _ = "fid_list="+JSON.stringify(fileinfo.dir_fsid); | |
| } | |
| _ = _+"&input="+input_code+"&vcode="+fileinfo.vcode; | |
| fileinfo.getdinlk(_); | |
| //$("#alert_div").css({"display": "none"}); | |
| $("#alert_div").remove(); | |
| //SetMessage("请稍后...", disk.ui.Toast.MODE_LOADING) | |
| $("#masking").css("display","none"); | |
| }) | |
| $("#ignore").unbind().click(function(){ | |
| //$("#alert_div").css({"display": "none"}); | |
| $("#alert_div").remove(); | |
| $("#masking").css("display","none"); | |
| SetMessage("\u5509\u002e\u002e\u002e\u002e\u002e", disk.ui.Toast.MODE_CAUTION); | |
| fileinfo.ajax_state = 0; | |
| }) | |
| $("#alert_dialog_close").unbind().click(function(){ | |
| $("#alert_div").remove(); | |
| $("#masking").css("display","none"); | |
| SetMessage("\u5509\u002e\u002e\u002e\u002e\u002e", disk.ui.Toast.MODE_CAUTION); | |
| fileinfo.ajax_state = 0; | |
| }) | |
| } | |
| } | |
| down_dialog = function(type, href, str){ | |
| var out = { | |
| "aria2": "aria2.session", | |
| "wget": "wget.txt", | |
| "idm": "idmlist.ef2" | |
| }; | |
| var div = document.createElement("div"); | |
| div.className = "b-panel b-dialog alert-dialog"; | |
| div.id = "down_dialog"; | |
| div.style.display = "block"; | |
| div.style.border = "1px solid #999"; | |
| var html = []; | |
| html.push('<div class="dlg-hd b-rlv">'); | |
| html.push('<div title="\u5173\u95ed" id="down_dialog_close" class="dlg-cnr dlg-cnr-r"></div>'); | |
| html.push('<h3>\u4e0b\u8f7d'+type+'\u6587\u4ef6</h3></div>'); | |
| html.push('<div style="margin: 22px 180px;">'); | |
| html.push('<a href='+href+' class="new-dbtn" download="'+out[type]+'"><em class="icon-download"></em><b>\u4e0b\u8f7d\u6587\u4ef6</b></a>'); | |
| html.push('</div>'); | |
| if(str.length != 0){ | |
| html.push('<div style="width:425px;height:200px;margin: -13px auto 10px;border:1px solid rgb(240, 240, 240); background-color: rgb(250, 250, 250);overflow-y: auto;overflow-x: auto;">'+str+'</div>'); | |
| } | |
| div.innerHTML= html.join(""); | |
| document.body.appendChild(div); | |
| var obj = $("#down_dialog"); | |
| var screenWidth = $(window).width(), screenHeight = $(window).height(); | |
| var scrolltop = $(document).scrollTop(); | |
| var objLeft = (screenWidth - obj.width())/2; | |
| var objTop = (screenHeight - obj.height())/2 + scrolltop; | |
| div.style.left = objLeft + "px"; | |
| div.style.top = objTop + "px"; | |
| $("#down_dialog_close").unbind().click(function(){ | |
| obj.remove(); | |
| $("#masking").css("display","none"); | |
| }) | |
| } | |
| combination = { | |
| "header": function () { | |
| var addheader = []; | |
| var ua_input = document.getElementById("setting_aria2_useragent_input").value; | |
| var ref_input = document.getElementById("setting_aria2_referer_input").value; | |
| var ua_cookie = config.params[0].input.setting_aria2_useragent_input; | |
| var ref_cookie = config.params[0].input.setting_aria2_referer_input; | |
| var h_cookie = config.params[0].textarea; | |
| if( ua_input ){ | |
| addheader.push("User-Agent: " + ua_input); | |
| } | |
| else if( ua_cookie ){ | |
| addheader.push("User-Agent: " + ua_cookie); | |
| } | |
| if( config.params[0].checked.referer_auto ){ | |
| addheader.push("Referer: " + combination.referer()); | |
| } | |
| else{ | |
| if( ref_input ){ | |
| addheader.push("Referer: " + ref_input); | |
| } | |
| else if( ref_cookie ){ | |
| addheader.push("Referer: " + ref_cookie); | |
| } | |
| } | |
| if( h_cookie ){ | |
| var text = h_cookie.split("\n"); | |
| for (var i=0;i<text.length;i++){ | |
| addheader.push(text[i]); | |
| } | |
| } | |
| return addheader; | |
| }, | |
| "aria2_rpc": function(url, name) { | |
| var _ = [{ | |
| "jsonrpc": "2.0", | |
| "method": "aria2.addUri", | |
| "id": new Date().getTime(), | |
| //"id": 1, | |
| "params": [[url],{ | |
| "out": name, | |
| // "dir": dirurl | |
| // "header": "user-agent: "+combination.user_agent, | |
| // "header": "Referer: "+combination.referer() | |
| "header": combination.header() | |
| } | |
| ] | |
| }]; | |
| var file_path = name; | |
| var file_name; | |
| if(file_path.substring(0,1) == "/"){ | |
| _[0].params[1].out = file_path.substring(1, file_path.length); | |
| } | |
| return _ | |
| }, | |
| "aria2": function(url,name) { | |
| var referer = location.origin+location.pathname; | |
| if(! referer){referer="http://pan.baidu.com/disk/home";} | |
| var file_path = name; | |
| var _ = url+"\r\n"; | |
| if(file_path.substring(0,1) == "/"){ | |
| _ += " out=" + file_path.substring(1, file_path.length) + "\r\n"; | |
| } | |
| else{ | |
| _ += " out=" + name + "\r\n"; | |
| } | |
| _ += " header=" + "Referer: " + combination.referer() +"\r\n"; | |
| _ += " header=" + "User-Agent: " + combination.user_agent +"\r\n\r\n"; | |
| return _ | |
| }, | |
| "wget": function(url,name) { | |
| var filter_txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; | |
| var _ = "wget -c -O "; | |
| for (var i=0; i<name.length; i++) { | |
| if (filter_txt.indexOf(name[i]) == -1) { | |
| _ += "\\"+name[i]; | |
| } | |
| else { | |
| _ += name[i]; | |
| } | |
| } | |
| _ += " '"+url+"'"+"\r\n"; | |
| return _; | |
| }, | |
| "idm": function(url,name) { | |
| var _ = "<\r\n"+url+"\r\n>\r\n" | |
| return _ | |
| }, | |
| "referer": function () { | |
| var a = location.origin+location.pathname; | |
| if(! a){a="http://pan.baidu.com/disk/home";} | |
| return a | |
| } | |
| } | |
| Initialize = function(){ | |
| if(config.get()){ | |
| var ua = document.getElementById("setting_aria2_useragent_input").value; | |
| var ref = document.getElementById("setting_aria2_referer_input").value; | |
| $("#setting_div input[type=checkbox]").attr("checked", false) | |
| $("#setting_div input[type=text]").attr("value", null) | |
| if( ! config.params[0].input.setting_aria2_useragent_input){document.getElementById("setting_aria2_useragent_input").value = ua;} | |
| if( ! config.params[0].input.setting_aria2_referer_input){document.getElementById("setting_aria2_referer_input").value = ref;} | |
| for (var i in config.params[0].input){$("#"+i).attr("value", config.params[0].input[i]);} | |
| for(var i in config.params[0].checked){$("#"+i).attr("checked", config.params[0].checked[i]);} | |
| if(config.params[0].textarea){document.getElementById("setting_aria2_headers").value = config.params[0].textarea;} | |
| var typeout = $("#typeout input[type=checkbox]"); | |
| var id; | |
| for (var i=0;i<typeout.length;i++){ | |
| if ($(typeout[i]).attr("checked")){ | |
| id = $(typeout[i]).attr("id").split("_")[0]; | |
| $("#out_"+id).parent().css("display","block") | |
| } | |
| else{ | |
| id = $(typeout[i]).attr("id").split("_")[0]; | |
| $("#out_"+id).parent().css("display","none") | |
| } | |
| } | |
| if( ! $("#rpc_distinguish").attr("checked")){ | |
| $("#rpc_pass").attr("disabled", "disabled"); | |
| $("#rpc_user").attr("disabled", "disabled"); | |
| } | |
| else{ | |
| $("#rpc_user").removeAttr("disabled"); | |
| $("#rpc_pass").removeAttr("disabled"); | |
| } | |
| if($("#referer_auto").attr("checked")){ | |
| $("#setting_aria2_referer_input").attr("disabled", "disabled"); | |
| } | |
| else{ | |
| $("#setting_aria2_referer_input").removeAttr("disabled"); | |
| } | |
| var iswebjs = document.cookie.match(new RegExp("(^| )"+"iswebjs"+"=([^;]*)(;|$)")); | |
| if (iswebjs){if (iswebjs.length > 1){iswebjs = iswebjs[2];}else{iswebjs = "0";}}else{iswebjs = "0";} | |
| if (iswebjs == 1){$("#iswebjs").attr("checked", true);} | |
| } | |
| } | |
| button(); | |
| add_setting_div(); | |
| Initialize(); | |
| masking(); | |
| } | |
| localjs(); | |
| } | |
| } | |
| catch (type) { | |
| window.setTimeout(function(){ | |
| Utilities.useToast({toastMode: disk.ui.Toast.MODE_CAUTION,msg: "\u6267\u884c\u811a\u672c\u65f6\u53d1\u751f\u9519\u8bef\uff0c\u5c1d\u8bd5\u4f7f\u7528\u8fdc\u7a0b\u811a\u672c\u3002",sticky: true}); | |
| window.setTimeout(loadjs,2000); | |
| },2000); | |
| } | |
| } | |
| } | |
| A(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment