// ==UserScript== // @name 百度网盘分享 // @author 林岑影 // @website http://www.cyxiaowu.com // @description 百度网盘批量分享, 每个勾勾都生成一个分享链接, 可以自定义访问密码 // @namespace // @icon http://disk.yun.uc.cn/favicon.ico // @license GPL version 3 // @encoding utf-8 // @date 13/08/2015 // @modified 03/09/2015 // @include http://pan.baidu.com/disk/* // @require http://libs.baidu.com/jquery/2.0.0/jquery.min.js // @grant unsafeWindow // @grant GM_setClipboard // @run-at document-end // @version 1.4.3 // @downloadURL none // ==/UserScript== var baidushares = function(){ this.pass = localStorage.getItem('qs_psss') || "8888"; //密码 this.timeout = 10000; //间隔时间 (毫秒) this.linktype = localStorage.getItem('qs_linktype') || "link"; //输出链接格式: ubb = ubb代码 | link = 链接 | html = html代码 this.index = 0; this.arrId = []; this.arrName = []; this.setTime = null; this.stbtn = '分享设置'; this.btn = '快速分享'; }; baidushares.prototype = { init: function(){ var that = this; $(".module-list-toolbar").find('[data-key="download"]').after(that.btn); $(".module-toolbar").find('[node-type="btn-offline-download"]').after(that.stbtn); $(".module-toolbar").find('[data-key="quicksharest"]').on("click", function(){ that.setting(); }); $(".module-list-toolbar").find('[data-key="quickshare"]').on("click", function(){ that.arrId = []; that.arrName = []; that.index = 0; var dom = $(".module-list-view").css("display") == "none" ? $(".module-grid-view") : $(".module-list-view"); dom.find('[node-type="list"]').children(".item-active").each(function(){ dataid = $(this).data("id"); dataname = $(this).find('[node-type="name"]').attr("title"); that.arrId.push(dataid); that.arrName.push(dataname); }); that.dialog(); that.post(); }); $("body").on("click", '#qs_setting', function(){ var qs_pass = $("#qs_pass").val(), qs_linktype = $("#qs_linktype").val(); var reg = /^([a-zA-Z0-9]{4,4})$/; if(!reg.test(qs_pass)){ $("#qs_pass").val(that.pass); alert("请输入正确的密码。"); return; } else { localStorage.setItem("qs_psss", qs_pass); localStorage.setItem("qs_linktype", qs_linktype); that.pass = qs_pass; that.linktype = qs_linktype; $(this).parents(".b-dialog").remove(); } }); }, post: function(){ var that = this, index = this.index; if (index >= this.arrId.length) { return false; } var id = this.arrId[index], name = this.arrName[index], text = "", request = $.ajax({ url: "/share/set?channel=chunlei&clienttype=0&web=1&bdstoken=" + yunData.MYBDSTOKEN + "&app_id=25052", method: "POST", data: { fid_list : "["+id+"]", schannel: 4, channel_list: "[]", pwd: that.pass }, dataType: "json" }); request.done(function(json) { if (json.errno == 0) { if (that.linktype == "ubb") { text = "[url="+json.shorturl+"]百度网盘下载: "+name+"[/url] 提取密码:"+that.pass; } else if (that.linktype == "html") { text = "百度网盘下载: "+name+" 提取密码:"+that.pass; } else { text = json.shorturl +" 提取密码:"+that.pass; } } else { text = name+" 分享失败, 错误代码: "+json.errno; } var old = $("#shareresult").val(); if (old=="") { old = text; } else { old = old+"\r\n"+text; } $("#shareresult").val(old); that.count(); that.index++; that.setTime = setTimeout(function(){ that.post(); }, that.timeout); }); }, count: function(){ var ok = parseInt($("#ok").text()) + 1; var all = parseInt($("#all").text()); var no = all - ok; $("#ok").text(ok); $("#no").text(no); }, dialog: function() { var that = this, html = "", w = 576, h = 514, ww = $(window).width(), hh = $(window).height(); var l = (ww - w) / 2, t = (hh - h) / 2, length = this.arrId.length; html+='
'; html+='
'; html+=' '; html+='

分享结果

'; html+='
'; html+='
'; html+='
'; html+='

'+length+' 条, 已完成 0 条, 剩余 '+length+'

'; html+=' '; html+='
'; html+='
'; html+='
'; if ($("#share-box").length>0) { alert("为防止重复操作, 请先关闭已经打开的分享窗口!"); return false; } $("body").append(html).find("#closeQuickShareDailog").click(function(){ window.clearTimeout(that.setTime); $(this).parents(".b-dialog").remove(); }); }, setting: function() { var that = this, html = "", w = 576, h = 218, ww = $(window).width(), hh = $(window).height(); var l = (ww - w) / 2, t = (hh - h) / 2, length = this.arrId.length; html+='
'; html+='
'; html+=' '; html+='

设置

'; html+='
'; html+='
'; html+='
'; html+=' '; html+=' '; html+=' '; html+=' '; html+='
链接类型:
分享密码:
 设置
'; html+='
'; html+='
'; html+='
'; $("#setting-box").remove(); $("body").append(html).find("#closeQuickShareSettingDailog").click(function(){ $(this).parents(".b-dialog").remove(); }); $("#qs_linktype").val(that.linktype); } }; var bs = new baidushares(); bs.init();