// ==UserScript==
// @name 【隐藏优惠券助手】自动获取天猫、淘宝隐藏优惠券
// @namespace https://xianbao.huoxingsou.com
// @version 1.0.2
// @description 自动查询淘宝天猫商品隐藏优惠券,商品列表和商品详情页自动显示是否有可用优惠券,如果有优惠券会在商品详情页【价格下方出现】优惠券金额和领券入口,如果没有表示该商品没有可用优惠券
// @author runningcat
// @match *://*.taobao.com/*
// @match *://*.tmall.com/*
// @match *://*.tmall.hk/*
// @match *://*.liangxinyao.com/*
// @exclude *://login.taobao.com/*
// @exclude *://pages.tmall.com/*
// @connect xianbao.huoxingsou.com
// @grant GM_xmlhttpRequest
// @require https://cdn.staticfile.org/jquery/1.12.4/jquery.min.js
// @downloadURL https://update.greasyfork.icu/scripts/424814/%E3%80%90%E9%9A%90%E8%97%8F%E4%BC%98%E6%83%A0%E5%88%B8%E5%8A%A9%E6%89%8B%E3%80%91%E8%87%AA%E5%8A%A8%E8%8E%B7%E5%8F%96%E5%A4%A9%E7%8C%AB%E3%80%81%E6%B7%98%E5%AE%9D%E9%9A%90%E8%97%8F%E4%BC%98%E6%83%A0%E5%88%B8.user.js
// @updateURL https://update.greasyfork.icu/scripts/424814/%E3%80%90%E9%9A%90%E8%97%8F%E4%BC%98%E6%83%A0%E5%88%B8%E5%8A%A9%E6%89%8B%E3%80%91%E8%87%AA%E5%8A%A8%E8%8E%B7%E5%8F%96%E5%A4%A9%E7%8C%AB%E3%80%81%E6%B7%98%E5%AE%9D%E9%9A%90%E8%97%8F%E4%BC%98%E6%83%A0%E5%88%B8.meta.js
// ==/UserScript==
(function() {
'use strict';
var style = document.createElement('link');
style.href = 'https://xianbao.huoxingsou.com/assets/css/coupon.css';
style.rel = 'stylesheet';
style.type = 'text/css';
document.getElementsByTagName('head').item(0).appendChild(style);
function getcoupon(url){
GM_xmlhttpRequest({
method:'get',
url:url,
headers: {
"Content-Type": "application/x-www-form-urlencoded"
},
onload:function(res){
if(res.status == 200 && res.response){
var response = JSON.parse(res.response);
console.log(response)
if(response.code == 200){
console.log('couponPrice',response.data.couponPrice)
var couponArea = '
发现隐藏优惠券 ' + response.data.couponPrice + '
'+
'
';
if (location.href.indexOf('//detail.tmall') != -1) {
$('.tm-fcs-panel').after(couponArea);
} else {
$('ul.tb-meta').after(couponArea);
}
}else{
console.log('没有可用优惠券');
}
}
}
})
}
function initSearchList(selectorList) {
setInterval(function () {
selectorList.forEach(function (selector) {
initSearchItemSelector(selector);
});
}, 800);
};
function initEventClick() {
$(document).on("click", ".tb-cool-box-area", function () {
var $this = $(this);
if ($this.hasClass("tb-cool-box-wait")) {
basicQueryItem(this);
} else if ($this.hasClass("tb-cool-box-info-translucent")) {
$this.removeClass("tb-cool-box-info-translucent");
} else {
$this.addClass("tb-cool-box-info-translucent");
}
});
};
function basicQuery() {
setInterval(function () {
$(".tb-cool-box-wait").each(function () {
basicQueryItem(this);
});
}, 2000);
};
function initSearchItemSelector(selector) {
$(selector).each(function () {
initSearchItem(this);
});
};
function initSearchItem(selector) {
var $this = $(selector);
if ($this.hasClass("tb-cool-box-already")) {
return;
} else {
$this.addClass("tb-cool-box-already")
}
var nid = $this.attr("data-id");
if (!isVailidItemId(nid)) {
nid = $this.attr("data-itemid");
}
if (!isVailidItemId(nid)) {
if ($this.attr("href")) {
nid = location.protocol + $this.attr("href");
} else {
var $a = $this.find("a");
if (!$a.length) {
return;
}
nid = $a.attr("data-nid");
if (!isVailidItemId(nid)) {
if ($a.hasClass("j_ReceiveCoupon") && $a.length > 1) {
nid = location.protocol + $($a[1]).attr("href");
} else {
nid = location.protocol + $a.attr("href");
}
}
}
}
if (isValidNid(nid)) {
appenBasicQueryHtml($this, nid);
}
};
function appenBasicQueryHtml(selector, nid) {
selector.append('');
};
function basicQueryItem(selector) {
var $this = $(selector);
$this.removeClass("tb-cool-box-wait");
var nid = $this.attr("data-nid");
GM_xmlhttpRequest({
method:'get',
url:'https://xianbao.huoxingsou.com/api/Coupon/productDetail?productId='+nid,
headers: {
"Content-Type": "application/x-www-form-urlencoded"
},
onload:function(res){
if(res.status == 200 && res.response){
var response = JSON.parse(res.response);
if(response.code == 200){
console.log(response);
showBasicQueryFind($this, response.data.couponPrice);
}else{
console.log('没有优惠券');
showBasicQueryEmpty($this);
}
}
}
})
};
function showBasicQueryFind(selector, couponMoney) {
selector.html('有券(减' + couponMoney + ')');
};
function showBasicQueryEmpty(selector) {
selector.addClass("tb-cool-box-info-translucent");
selector.html('暂无优惠');
};
function isVailidItemId(itemId) {
if (!itemId) {
return false;
}
var itemIdInt = parseInt(itemId);
if (itemIdInt == itemId && itemId > 10000) {
return true;
}
else {
return false;
}
};
function isValidNid(nid) {
if (!nid) {
return false;
}
else if (nid.indexOf('http') >= 0) {
if (isDetailPageTaoBao(nid) || nid.indexOf("//detail.ju.taobao.com/home.htm") > 0) {
return true;
}
else {
return false;
}
}
else {
return true;
}
};
function isDetailPageTaoBao(url) {
if (url.indexOf("//item.taobao.com/item.htm") > 0 || url.indexOf("//detail.tmall.com/item.htm") > 0 || url.indexOf("//chaoshi.detail.tmall.com/item.htm") > 0 || url.indexOf("//detail.tmall.hk/hk/item.htm") > 0) {
return true;
} else {
return false;
}
};
if (isDetailPageTaoBao(location.href)) {
var productId = 0;
var params = location.search.split('?')[1].split('&');
for (var index in params) {
if (params[index].split('=')[0] == 'id') {
productId = params[index].split('=')[1];
break;
}
}
getcoupon('https://xianbao.huoxingsou.com/api/Coupon/productDetail?productId='+productId)
}else{
var selectorList = [];
var url = location.href;
if (url.indexOf("//s.taobao.com/search") > 0 || url.indexOf("//s.taobao.com/list") > 0) {
selectorList.push(".items .item");
}
else if (url.indexOf("//list.tmall.com/search_product.htm") > 0) {
selectorList.push(".product");
selectorList.push(".chaoshi-recommend-list .chaoshi-recommend-item");
}
else if (url.indexOf("//list.tmall.hk/search_product.htm") > 0) {
selectorList.push("#J_ItemList .product");
} else if (document.getElementById('J_ShopSearchResult')) {
selectorList.push("#J_ShopSearchResult .item");
}
if (selectorList && selectorList.length > 0) {
initSearchList(selectorList);
initEventClick();
basicQuery();
}
}
})();