Greasy Fork

淘宝优惠券助手,淘宝内部优惠券,天猫优惠券,淘宝隐藏优惠券

淘宝优惠券助手,淘宝内部优惠券,自动获取淘宝内部隐藏优惠券

// ==UserScript==
// @name         淘宝优惠券助手,淘宝内部优惠券,天猫优惠券,淘宝隐藏优惠券
// @namespace    lyl
// @version      1.0.2
// @description  淘宝优惠券助手,淘宝内部优惠券,自动获取淘宝内部隐藏优惠券
// @author       lyl
// @include      https://*.taobao.com/*
// @include      https://*.tmall.com/*
// @require      https://cdn.staticfile.org/jquery/3.4.1/jquery.min.js
// @connect *://*.xmluren.com/
// @connect *://*.fanli1.net/
// @grant GM_setValue
// @grant GM_getValue
// @grant GM_setClipboard
// @grant GM_log
// @grant GM_xmlhttpRequest
// @grant unsafeWindow
// @grant window.close
// @grant window.focus
// @grant GM_info
// @antifeature referral-link
// ==/UserScript==

var util={
    isdebug:false,
    getParams : function(href) {
		var object = {};
		var paramStr = location.href.split("?");
		if(href){
			paramStr=href.split("?");
		}
		if (paramStr.length == 2) {
			var params = paramStr[1].split("&");
			for (var i = 0; i < params.length; i++) {
				var param = params[i].split("=");
				if (param.length == 2) {
					object[param[0]] = param[1];
				}
			}
		}
		return object;
	},
	getId:function(){
	    var id=this.getParams().id;
	    if (typeof(id) === "undefined"){
		     return "";
		}
		return id;
	},
	log:function(msg){
	    if(this.isdebug){
	        console.log(msg);
	    }
	},
	rand:function(min,max) {
        return Math.floor(Math.random()*(max-min))+min;
    },
    xsign:function(str) {
	    return util.sign(str)+'xxxxxxxxxxxxxxxxyxxxxxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
	        var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8);
	        return v.toString(16);
	    }).substring(0,8);
	}
 } 

util.sign=function(u){var l=function(b,g){var a=b&2147483648;var c=g&2147483648;var h=b&1073741824;var l=g&1073741824;b=(b&1073741823)+(g&1073741823);return h&l?b^2147483648^a^c:h|l?b&1073741824?b^3221225472^a^c:b^1073741824^a^c:b^a^c},k=function(b,g,a,c,h,q,k){b=l(b,l(l(g&a|~g&c,h),k));return l(b<<q|b>>>32-q,g)},m=function(b,g,a,c,h,k,m){b=l(b,l(l(g&c|a&~c,h),m));return l(b<<k|b>>>32-k,g)},n=function(b,g,a,c,h,k,m){b=l(b,l(l(g^a^c,h),m));return l(b<<k|b>>>32-k,g)},p=function(b,g,a,c,h,k,m){b=l(b,l(l(a^(g|~c),h),m));return l(b<<k|b>>>32-k,g)},r=function(b){var g="",a;for(a=0;3>=a;a++){var c=b>>>8*a&255;c="0"+c.toString(16);g+=c.substr(c.length-2,2)}return g};return function(b){var g,a;b=b.toString().replace(/\x0d\x0a/g,"\n");var c="";for(g=0;g<b.length;g++){var h=b.charCodeAt(g);128>h?c+=String.fromCharCode(h):(127<h&&2048>h?c+=String.fromCharCode(h>>6|192):(c+=String.fromCharCode(h>>12|224),c+=String.fromCharCode(h>>6&63|128)),c+=String.fromCharCode(h&63|128))}g=c.length;b=g+8;var q=16*((b-b%64)/64+1);b=Array(q-1);for(a=0;a<g;){h=(a-a%4)/4;var t=a%4*8;b[h]|=c.charCodeAt(a)<<t;a++}h=(a-a%4)/4;b[h]|=128<<a%4*8;b[q-2]=g<<3;b[q-1]=g>>>29;a=1732584193;var d=4023233417;var e=2562383102;var f=271733878;for(c=0;c<b.length;c+=16)g=a,h=d,q=e,t=f,a=k(a,d,e,f,b[c+0],7,3614090360),f=k(f,a,d,e,b[c+1],12,3905402710),e=k(e,f,a,d,b[c+2],17,606105819),d=k(d,e,f,a,b[c+3],22,3250441966),a=k(a,d,e,f,b[c+4],7,4118548399),f=k(f,a,d,e,b[c+5],12,1200080426),e=k(e,f,a,d,b[c+6],17,2821735955),d=k(d,e,f,a,b[c+7],22,4249261313),a=k(a,d,e,f,b[c+8],7,1770035416),f=k(f,a,d,e,b[c+9],12,2336552879),e=k(e,f,a,d,b[c+10],17,4294925233),d=k(d,e,f,a,b[c+11],22,2304563134),a=k(a,d,e,f,b[c+12],7,1804603682),f=k(f,a,d,e,b[c+13],12,4254626195),e=k(e,f,a,d,b[c+14],17,2792965006),d=k(d,e,f,a,b[c+15],22,1236535329),a=m(a,d,e,f,b[c+1],5,4129170786),f=m(f,a,d,e,b[c+6],9,3225465664),e=m(e,f,a,d,b[c+11],14,643717713),d=m(d,e,f,a,b[c+0],20,3921069994),a=m(a,d,e,f,b[c+5],5,3593408605),f=m(f,a,d,e,b[c+10],9,38016083),e=m(e,f,a,d,b[c+15],14,3634488961),d=m(d,e,f,a,b[c+4],20,3889429448),a=m(a,d,e,f,b[c+9],5,568446438),f=m(f,a,d,e,b[c+14],9,3275163606),e=m(e,f,a,d,b[c+3],14,4107603335),d=m(d,e,f,a,b[c+8],20,1163531501),a=m(a,d,e,f,b[c+13],5,2850285829),f=m(f,a,d,e,b[c+2],9,4243563512),e=m(e,f,a,d,b[c+7],14,1735328473),d=m(d,e,f,a,b[c+12],20,2368359562),a=n(a,d,e,f,b[c+5],4,4294588738),f=n(f,a,d,e,b[c+8],11,2272392833),e=n(e,f,a,d,b[c+11],16,1839030562),d=n(d,e,f,a,b[c+14],23,4259657740),a=n(a,d,e,f,b[c+1],4,2763975236),f=n(f,a,d,e,b[c+4],11,1272893353),e=n(e,f,a,d,b[c+7],16,4139469664),d=n(d,e,f,a,b[c+10],23,3200236656),a=n(a,d,e,f,b[c+13],4,681279174),f=n(f,a,d,e,b[c+0],11,3936430074),e=n(e,f,a,d,b[c+3],16,3572445317),d=n(d,e,f,a,b[c+6],23,76029189),a=n(a,d,e,f,b[c+9],4,3654602809),f=n(f,a,d,e,b[c+12],11,3873151461),e=n(e,f,a,d,b[c+15],16,530742520),d=n(d,e,f,a,b[c+2],23,3299628645),a=p(a,d,e,f,b[c+0],6,4096336452),f=p(f,a,d,e,b[c+7],10,1126891415),e=p(e,f,a,d,b[c+14],15,2878612391),d=p(d,e,f,a,b[c+5],21,4237533241),a=p(a,d,e,f,b[c+12],6,1700485571),f=p(f,a,d,e,b[c+3],10,2399980690),e=p(e,f,a,d,b[c+10],15,4293915773),d=p(d,e,f,a,b[c+1],21,2240044497),a=p(a,d,e,f,b[c+8],6,1873313359),f=p(f,a,d,e,b[c+15],10,4264355552),e=p(e,f,a,d,b[c+6],15,2734768916),d=p(d,e,f,a,b[c+13],21,1309151649),a=p(a,d,e,f,b[c+4],6,4149444226),f=p(f,a,d,e,b[c+11],10,3174756917),e=p(e,f,a,d,b[c+2],15,718787259),d=p(d,e,f,a,b[c+9],21,3951481745),a=l(a,g),d=l(d,h),e=l(e,q),f=l(f,t);return(r(a)+r(d)+r(e)+r(f)).toLowerCase()}(u)};



(function () {
    
  
    function topInit(){
         toTopSeachAction();//配置淘宝搜索页
         toTopDetailAction();//配置淘宝详情页
    }
    function iframeInit(){

       
        
    }
  
    function openUrl(item_url){
        if(item_url.indexOf("https://uland.taobao.com")>-1){
             var url='https://coupon.xmluren.com/test.html?id='+encodeURIComponent(item_url);
             location.href=url;
             return;
        }

        if(item_url.indexOf("?action=coupon")>-1){
            item_url=item_url.replace("?action=coupon","");
            var url='https://coupon.xmluren.com/test.html?id='+encodeURIComponent(item_url);
            location.href=url;
            return;
        }
    }
  
    function insert_coupon(json){
          var wandhidiv=`  
                  <style>
                  .wandhi_tab{border:1px solid #f40;border-collapse:collapse;}
                  .wandhi_tab thead{font-size:14px;text-align:center;}
                  .wandhi_tab tr th{padding:10px 20px;text-align:center;}
                  .wandhi_tab tr td{padding:10px 20px;text-align:center;font-size:14px;}
                  .wandhi_tab tr td a{ text-decoration:none;}
                  .wandhi_tab_taobao{margin-bottom:15px;}
                  .wandhi_tab_taobao thead{background-color:#f40;color:#FFF;}
                  .wandhi_tab_taobao tr td{border:1px solid #e6602d;color:#e6602d;}
                  .wandhi_tab_taobao tr td a{color:#e6602d;}
                  </style>

                  <div id="wandhi_div">
                  <table class="wandhi_tab wandhi_tab_taobao" id="wandhi_table">
                  <thead>
                   <tr>
                    <th><b>优惠券</b></th>
                    <th>满减</th>
                    <th>操作</th>
                   </tr>
                  </thead>
                  <tbody style="cursor:pointer" id="wandhi_clickCoupon">
                   <tr id="wandhi_couponText">
                      <td colspan="3">正在查询优惠券...</td>
                   </tr>
                  </tbody>
                  </table>
                  </div>
                  `;
       
          $("#J_LinkBasket").parent().parent().prepend(wandhidiv);
          $(".J_LinkAdd").parent().parent().prepend(wandhidiv);
          if(json.code!=0){
               $("#wandhi_couponText").html('<td colspan="3">这个商品没有超值优惠券</td>'); 
               return;
          } 
      
          var info=json.data;
          if(info.coupon_end==true||info.coupon_end=="true"){
               $("#wandhi_couponText").html('<td colspan="3">这个商品没有超值优惠券</td>'); 
               return;
          }
         
          
          $("#wandhi_couponText").html('<td>'+info.couponAmount+'</td>'+'<td>'+info.couponInfo+'</td>'+'<td>领取</td>'); 
          //openIUrl(info.coupon_click_url);
      
          $("#wandhi_clickCoupon").click(function(){
              openUrl(info.coupon_click_url);
          });
      
      
        
    }
  
    function toTopDetailAction(){
          if(location.href.indexOf(".com/item.htm?")<0){
              return;
          }
          var id=util.getId();
          if(id==""||id==null){
             return;
          }
          var config_string="&config_string=black_pids";
          var t=new Date().getTime()+"";
          var uuid=GM_info.uuid;
          var appName=GM_info.script.name;
          
          
          var gtoken="c4ca4238a0b923820dcc509a6f75849b";
          var domain="https://coupon.xmluren.com";
          var getInfoUrl=domain+"/util/getUrl?gtoken="+gtoken+"&link="+id+"&name="+encodeURIComponent(appName)+"&t="+t+config_string;
          var ETag=util.xsign(t+"gps"+id);
          GM_xmlhttpRequest({
              method: "GET",
              url: getInfoUrl,
              timeout:15000,
              headers:  {
                  "Content-Type": "application/x-www-form-urlencoded",
                  "Origin":domain,
                   "ETag":ETag
              },
              onload: function (result) {
                    var json=$.parseJSON( result.responseText );
                    insert_coupon(json);
              },
              onerror : function(err){

              }
          });
    }
  
    function toTopSeachAction(){
        if(location.href.indexOf("https://s.taobao.com/search")<0){
             return;
        }
       
   
        function loadInit(){
            if($("#mainsrp-itemlist").length<=0){
                setTimeout(function(){
                  loadInit();
                }, 500);
                return;
            }
          
            var s=$("#mainsrp-itemlist .J_MouserOnverReq.item");

            for(var i=0;i<s.length;i++){

              if(s[i].getBoundingClientRect().top < document.documentElement.clientHeight && s[i].isLoad!=true) {
                
                   s[i].isLoad = true;
                   (function(i) {
                        
                        var t_item=s[i];
                        var title=$(t_item).find(".ctx-box .J_ClickStat");
                        var ids=$(t_item).find(".pic-link").attr("data-nid");
                        var titles=title.text().trim();
                        $(t_item).height($(t_item).height() + 40);
                        var requestParams={
                            type:"post",
                            dataType:"json",
                            timeout:15000,
                            url:"http://tae.xmluren.com/tae/coupon",
                            data:{ids:ids,titles:titles}
                        }
                        var data={ids:ids,titles:titles};
                        var params = Object.keys(data).map(function (key) {return key + "=" + encodeURIComponent(data[key]); }).join("&");
                        GM_xmlhttpRequest({
                            method: "POST",
                            url: "http://tae.xmluren.com/tae/coupon",
                            data:params,
                            timeout:15000,
                            headers:  {
                                "Content-Type": "application/x-www-form-urlencoded",
                                "Origin":"http://tae.xmluren.com"
                            },
                            onload: function (result) {
                                  var response=$.parseJSON( result.responseText );
                                  
                              
                                  if(response.code==0){
                                      var list=response.data.list;
                                      var number=list[0];
                                      var li='<div class="row row-1 g-clearfix" style="text-align:center;color:white;font-size:14px;background:red;border-radius:8%;">'+number+'</div>';
                                      $(t_item).find(".ctx-box").prepend(li);			
                                      return;
                                  }
                                  
                            },
                            onerror : function(err){
                                
                            }
                        });







                  })(i);
              }
           }
        }


        window.onscroll = function() { //滚动条滚动触发
             util.log("onscroll");
             loadInit();
        };
        loadInit();
    }
  
  
    
    function initPage(){
        if($("body").length<=0){
            setTimeout(function(){
              initPage();
            }, 50);
            return;
        }
        if(top==self){
           topInit();
        }else{
           iframeInit();
        }
    }
    initPage();

    

})();