// ==UserScript==
// @name 脚本常用方法库
// @namespace http://www.itdomain.top/
// @version 0.2
// @description 为其他脚本提供常用的方法集
// @author gwl
// ==/UserScript==
"use strict";var _typeof=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"?function(obj){return typeof obj
}:function(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj
};function _asyncToGenerator(fn){return function(){var gen=fn.apply(this,arguments);
return new Promise(function(resolve,reject){function step(key,arg){try{var info=gen[key](arg);
var value=info.value}catch(error){reject(error);return}if(info.done){resolve(value)
}else{return Promise.resolve(value).then(function(value){step("next",value)},function(err){step("throw",err)
})}}return step("next")})}}function GUtils(){var self=this;this.http=new HttpUtil();
this.addHtmlToBoty=function(html,pel){pel=pel||document.body;var div=document.createElement("div");
div.innerHTML=html;var els=[];for(var i=0,length=div.children.length;i<length;i++){els.push(div.children[i]);
pel.appendChild(div.children[i])}return els};this.addCss=function(cssStr,pel){pel=pel||document.body;
var style=document.createElement("style");style.rel="stylesheet";style.innerHTML=cssStr;
pel.appendChild(style)};this.addBtns=function(name,btns,initX,initY){if(document.getElementsByClassName("lyh-utils-wrap").length>0){return
}if(typeof initX=="undefined"){initX="118px"}if(typeof initY=="undefined"){initX="110px"
}var btnHtml=['<div class="lyh-utils-wrap lyh-bounceInUp lyh-animated" id="lyh-utils-wrap" style="top: '+initY+"; left: "+initX+';">','<label for="" class="lyh-menu" title="按住拖动">',name,"</label>"];
btns.map(function(value,index){btnHtml.push('<a href="javascript:void(0)" title="'+value.title+'" data-cat="'+index+'" class="lyh-menu-item">'+value.textTop+"<br>"+value.textBottom+"</a>")
});btnHtml.push('<style rel="stylesheet">body .lyh-utils-wrap{font-family:"Helvetica Neue",Helvetica,"Microsoft YaHei",Arial,sans-serif;font-size:1.6rem;color:#4e546b;position:fixed;width:70px;height:70px;top:350px;margin-top:77px;margin-left:77px;-ms-user-select:none;-moz-user-select:none;-webkit-user-select:none;user-select:none;opacity:.35;z-index:999999}.lyh-utils-wrap.lyh-show-btn{width:225px;height:225px;margin-top:0;margin-left:0}.lyh-utils-wrap .lyh-menu{position:absolute;width:70px;height:70px;-webkit-border-radius:50%;border-radius:50%;background:#1f1f1f;left:0;top:0;right:0;bottom:0;margin:auto;text-align:center;line-height:70px;color:#f7d877;font-size:20px;z-index:1;cursor:move}.lyh-utils-wrap .lyh-menu-item{position:absolute;width:60px;height:60px;background-color:black;left:0;top:0;right:0;bottom:0;margin:auto;text-align:center;-webkit-border-radius:50%;border-radius:50%;text-decoration:none;color:#f7d877;-webkit-transition:background .5s,-webkit-transform .6s;transition:background .5s,-webkit-transform .6s;-moz-transition:transform .6s,background .5s,-moz-transform .6s;transition:transform .6s,background .5s;transition:transform .6s,background .5s,-webkit-transform .6s,-moz-transform .6s;font-size:14px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;line-height:20px;padding-top:10px}.lyh-utils-wrap .lyh-menu-item:hover{background:#8e388e}.lyh-show-btn.lyh-utils-wrap,.lyh-test-body .lyh-utils-wrap{opacity:1}@-webkit-keyframes lyh-animated-jello{from,11.1%,to{-webkit-transform:none;transform:none}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(0.390625deg) skewY(0.390625deg);transform:skewX(0.390625deg) skewY(0.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}@-moz-keyframes lyh-animated-jello{from,11.1%,to{-moz-transform:none;transform:none}22.2%{-moz-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-moz-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-moz-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-moz-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-moz-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-moz-transform:skewX(0.390625deg) skewY(0.390625deg);transform:skewX(0.390625deg) skewY(0.390625deg)}88.8%{-moz-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}@keyframes lyh-animated-jello{from,11.1%,to{-webkit-transform:none;-moz-transform:none;transform:none}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);-moz-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);-moz-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);-moz-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);-moz-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);-moz-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(0.390625deg) skewY(0.390625deg);-moz-transform:skewX(0.390625deg) skewY(0.390625deg);transform:skewX(0.390625deg) skewY(0.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);-moz-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}.lyh-animated{-webkit-animation-duration:1s;-moz-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;-moz-animation-fill-mode:both;animation-fill-mode:both}@-webkit-keyframes lyh-bounceInUp{from,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(0.215,.61,.355,1);animation-timing-function:cubic-bezier(0.215,.61,.355,1)}from{opacity:0;-webkit-transform:translate3d(0,800px,0);transform:translate3d(0,800px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@-moz-keyframes lyh-bounceInUp{from,60%,75%,90%,to{-moz-animation-timing-function:cubic-bezier(0.215,.61,.355,1);animation-timing-function:cubic-bezier(0.215,.61,.355,1)}from{opacity:0;-moz-transform:translate3d(0,800px,0);transform:translate3d(0,800px,0)}60%{opacity:1;-moz-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-moz-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-moz-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-moz-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes lyh-bounceInUp{from,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(0.215,.61,.355,1);-moz-animation-timing-function:cubic-bezier(0.215,.61,.355,1);animation-timing-function:cubic-bezier(0.215,.61,.355,1)}from{opacity:0;-webkit-transform:translate3d(0,800px,0);-moz-transform:translate3d(0,800px,0);transform:translate3d(0,800px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);-moz-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);-moz-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);-moz-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.lyh-bounceInUp{-webkit-animation-name:lyh-bounceInUp;-moz-animation-name:lyh-bounceInUp;animation-name:lyh-bounceInUp;-webkit-animation-delay:1s;-moz-animation-delay:1s;animation-delay:1s}@media screen and (max-width:640px){}@media screen and (min-width:641px) and (max-width:1367px){.lyh-utils-wrap{top:50px}}.lyh-show-btn.lyh-utils-wrap .lyh-menu,.lyh-test-body .lyh-utils-wrap .lyh-menu{-webkit-animation:lyh-animated-jello 1s;-moz-animation:lyh-animated-jello 1s;animation:lyh-animated-jello 1s}.lyh-show-btn.lyh-utils-wrap .lyh-menu-item:nth-of-type(1),.lyh-test-body .lyh-utils-wrap .lyh-menu-item:nth-of-type(1){-webkit-transform:translate3d(0,-135%,0);-moz-transform:translate3d(0,-135%,0);transform:translate3d(0,-135%,0)}.lyh-show-btn.lyh-utils-wrap .lyh-menu-item:nth-of-type(2),.lyh-test-body .lyh-utils-wrap .lyh-menu-item:nth-of-type(2){-webkit-transform:translate3d(120%,-70%,0);-moz-transform:translate3d(120%,-70%,0);transform:translate3d(120%,-70%,0)}.lyh-menu-gt6.lyh-show-btn.lyh-utils-wrap .lyh-menu-item:nth-of-type(2),.lyh-test-body .lyh-menu-gt6.lyh-utils-wrap .lyh-menu-item:nth-of-type(2){-webkit-transform:translate3d(120%,-135%,0);-moz-transform:translate3d(120%,-135%,0);transform:translate3d(120%,-135%,0)}.lyh-show-btn.lyh-utils-wrap .lyh-menu-item:nth-of-type(3),.lyh-test-body .lyh-utils-wrap .lyh-menu-item:nth-of-type(3){-webkit-transform:translate3d(120%,70%,0);-moz-transform:translate3d(120%,70%,0);transform:translate3d(120%,70%,0)}.lyh-menu-gt6.lyh-show-btn.lyh-utils-wrap .lyh-menu-item:nth-of-type(3),.lyh-test-body .lyh-menu-gt6.lyh-utils-wrap .lyh-menu-item:nth-of-type(3){-webkit-transform:translate3d(120%,0,0);-moz-transform:translate3d(120%,0,0);transform:translate3d(120%,0,0)}.lyh-show-btn.lyh-utils-wrap .lyh-menu-item:nth-of-type(4),.lyh-test-body .lyh-utils-wrap .lyh-menu-item:nth-of-type(4){-webkit-transform:translate3d(0,135%,0);-moz-transform:translate3d(0,135%,0);transform:translate3d(0,135%,0)}.lyh-menu-gt6.lyh-show-btn.lyh-utils-wrap .lyh-menu-item:nth-of-type(4),.lyh-test-body .lyh-menu-gt6.lyh-utils-wrap .lyh-menu-item:nth-of-type(4){-webkit-transform:translate3d(120%,135%,0);-moz-transform:translate3d(120%,135%,0);transform:translate3d(120%,135%,0)}.lyh-show-btn.lyh-utils-wrap .lyh-menu-item:nth-of-type(5),.lyh-test-body .lyh-utils-wrap .lyh-menu-item:nth-of-type(5){-webkit-transform:translate3d(-120%,70%,0);-moz-transform:translate3d(-120%,70%,0);transform:translate3d(-120%,70%,0)}.lyh-menu-gt6.lyh-show-btn.lyh-utils-wrap .lyh-menu-item:nth-of-type(5),.lyh-test-body .lyh-menu-gt6.lyh-utils-wrap .lyh-menu-item:nth-of-type(5){-webkit-transform:translate3d(0,135%,0);-moz-transform:translate3d(0,135%,0);transform:translate3d(0,135%,0)}.lyh-show-btn.lyh-utils-wrap .lyh-menu-item:nth-of-type(6),.lyh-test-body .lyh-utils-wrap .lyh-menu-item:nth-of-type(6){-webkit-transform:translate3d(-120%,-70%,0);-moz-transform:translate3d(-120%,-70%,0);transform:translate3d(-120%,-70%,0)}.lyh-menu-gt6.lyh-show-btn.lyh-utils-wrap .lyh-menu-item:nth-of-type(6),.lyh-test-body .lyh-menu-gt6.lyh-utils-wrap .lyh-menu-item:nth-of-type(6){-webkit-transform:translate3d(-120%,135%,0);-moz-transform:translate3d(-120%,135%,0);transform:translate3d(-120%,135%,0)}.lyh-menu-gt6.lyh-show-btn.lyh-utils-wrap .lyh-menu-item:nth-of-type(7),.lyh-test-body .lyh-menu-gt6.lyh-utils-wrap .lyh-menu-item:nth-of-type(7){-webkit-transform:translate3d(-120%,0,0);-moz-transform:translate3d(-120%,0,0);transform:translate3d(-120%,0,0)}.lyh-menu-gt6.lyh-show-btn.lyh-utils-wrap .lyh-menu-item:nth-of-type(8),.lyh-test-body .lyh-menu-gt6.lyh-utils-wrap .lyh-menu-item:nth-of-type(8){-webkit-transform:translate3d(-120%,-135%,0);-moz-transform:translate3d(-120%,-135%,0);transform:translate3d(-120%,-135%,0)}</style>');
btnHtml.push("</div>");var els=this.addHtmlToBoty(btnHtml.join(""));var asideNav=document.getElementById("lyh-utils-wrap");
var asideMenu=asideNav.getElementsByClassName("lyh-menu")[0];var isLinstenerMousemove=false;
function addMousemove(){if(isLinstenerMousemove){return}isLinstenerMousemove=true;
asideNav.addEventListener("mousemove",mousemoveEv)}function removeMousemove(){if(!isLinstenerMousemove){return
}isLinstenerMousemove=false;asideNav.removeEventListener("mousemove",mousemoveEv)
}function mousemoveEv(ev){asideNav.style.top=ev.clientY-112+"px";asideNav.style.left=ev.clientX-112+"px"
}function showMenu(){if(!asideNav.classList||asideNav.classList.contains("lyh-show-btn")){return
}asideNav.classList.add("lyh-show-btn")}function hideMenu(ev){if(!ev.relatedTarget||!ev.relatedTarget.classList||ev.relatedTarget.classList.contains("lyh-menu-item")||ev.relatedTarget.classList.contains("lyh-utils-wrap")||ev.relatedTarget.classList.contains("lyh-menu")){return
}asideNav.classList.remove("lyh-show-btn")}asideMenu.addEventListener("mousedown",addMousemove);
asideNav.addEventListener("mouseup",removeMousemove);asideMenu.addEventListener("mouseover",showMenu);
asideNav.addEventListener("mouseout",hideMenu);asideNav.addEventListener("click",function(ev){if(!ev.srcElement||!ev.srcElement.classList||!ev.srcElement.classList.contains("lyh-menu-item")||!ev.srcElement.dataset||!ev.srcElement.dataset.cat){return
}var config=btns[parseInt(ev.srcElement.dataset.cat)];if(!config||typeof config.callback!="function"){return
}asideNav.classList.remove("lyh-show-btn");setTimeout(function(){config.callback(ev)
},100)});return els}}function HttpUtil(){var self=this;this.post=function(){var _ref=_asyncToGenerator(regeneratorRuntime.mark(function _callee(url,data,headers){var req;
return regeneratorRuntime.wrap(function _callee$(_context){while(1){switch(_context.prev=_context.next){case 0:req=url;
headers=headers||{"Content-Type":"application/json"};if((typeof url==="undefined"?"undefined":_typeof(url))!="object"){req={url:url,data:data}
}req.method="POST";req.headers=req.headers||headers;return _context.abrupt("return",self.sendAjaxByContent(req));
case 6:case"end":return _context.stop()}}},_callee,this)}));return function(_x,_x2,_x3){return _ref.apply(this,arguments)
}}();this.get=function(){var _ref2=_asyncToGenerator(regeneratorRuntime.mark(function _callee2(url,data,headers){var req;
return regeneratorRuntime.wrap(function _callee2$(_context2){while(1){switch(_context2.prev=_context2.next){case 0:req=url;
headers=headers||{"Content-Type":"application/x-www-form-urlencoded"};if((typeof url==="undefined"?"undefined":_typeof(url))!="object"){req={url:url,data:data}
}req.method="GET";req.headers=req.headers||headers;return _context2.abrupt("return",self.sendAjaxByContent(req));
case 6:case"end":return _context2.stop()}}},_callee2,this)}));return function(_x4,_x5,_x6){return _ref2.apply(this,arguments)
}}();this.sendAjaxByContent=function(){var _ref3=_asyncToGenerator(regeneratorRuntime.mark(function _callee3(req){var xhr,getUrl,response,unsafeHeaderArr,name;
return regeneratorRuntime.wrap(function _callee3$(_context3){while(1){switch(_context3.prev=_context3.next){case 0:xhr=new XMLHttpRequest();
req.headers=req.headers||{};req.headers["Content-Type"]=req.headers["Content-Type"]||req.headers["Content-type"]||req.headers["content-type"];
if(req.files&&Object.keys(req.files).length>0){req.headers["Content-Type"]="multipart/form-data"
}xhr.timeout=req.timeout||5000;req.method=req.method||"GET";req.async=req.async===false?false:true;
if(req.method.toLowerCase()!=="get"&&req.method.toLowerCase()!=="head"&&req.method.toLowerCase()!=="options"){if(!req.headers["Content-Type"]||req.headers["Content-Type"]=="application/x-www-form-urlencoded"){req.headers["Content-Type"]="application/x-www-form-urlencoded";
req.data=self.formUrlencode(req.data)}else{if(req.headers["Content-Type"]==="multipart/form-data"){delete req.headers["Content-Type"]
}else{if(req.data&&_typeof(req.data)==="object"){req.data=JSON.stringify(req.data)
}}}}else{delete req.headers["Content-Type"]}if(req.query&&_typeof(req.query)==="object"){getUrl=self.formUrlencode(req.query);
if(req.url.indexOf("?")==-1){req.url+="?"+getUrl}else{req.url+="&"+getUrl}req.query=""
}xhr.open(req.method,req.url,req.async);response={};if(req.headers){unsafeHeaderArr=[];
for(name in req.headers){if(unsafeHeaderArr.indexOf(name)>-1){unsafeHeaderArr.push({name:name,value:req.headers[name]})
}else{xhr.setRequestHeader(name,req.headers[name])}}if(unsafeHeaderArr.length>0){xhr.setRequestHeader("cross-request-unsafe-headers-list",encode(unsafeHeaderArr))
}}xhr.setRequestHeader("cross-request-open-sign","1");return _context3.abrupt("return",new Promise(function(resolve,reject){xhr.onload=function(e){var headers=xhr.getAllResponseHeaders();
headers=self.handleHeader(headers);response={headers:headers,status:xhr.status,statusText:xhr.statusText,body:xhr.responseText};
if(xhr.status==200){resolve(response)}else{reject(response)}};xhr.onerror=function(e){reject(e)
};xhr.ontimeout=xhr.onerror;xhr.upload.onprogress=function(e){};try{xhr.send(req.data)
}catch(error){reject(error)}}));case 14:case"end":return _context3.stop()}}},_callee3,this)
}));return function(_x7){return _ref3.apply(this,arguments)}}();this.formUrlencode=function(data){if(!data||(typeof data==="undefined"?"undefined":_typeof(data))!=="object"){return""
}return Object.keys(data).map(function(key){return encodeURIComponent(key)+"="+encodeURIComponent(data[key])
}).join("&")};this.handleHeader=function(headers){if(!headers){return}if((typeof headers==="undefined"?"undefined":_typeof(headers))==="object"){return headers
}var newHeaders={};headers=headers.split(/[\r\n]/).forEach(function(header){var index=header.indexOf(":");
var name=header.substr(0,index);var value=header.substr(index+2);if(name){newHeaders[name]=value
}});return newHeaders}}window.gUtils=new GUtils();