Greasy Fork

Greasy Fork is available in English.

【省一省-领优惠券-高额返现】--领取淘宝、天猫内部优惠券,京东优惠券(适配中),可显示返现额度,扫码下单后即可获得返现,是您的省钱购物小助手,可查看商品历史价格、获得返现~长期更新,放心使用。

在淘宝、天猫的【商品列表页】和【商品详情页】上显示优惠券详细信息及返现金额,无需进入商品详情页即可查看优惠券信息及返现金额,商品详情页可直接领券,功能简单,显示直观,支持在商品详情页通过「花前省一省」APP扫码,直接在APP进入商品、领券及获得返现。在代码的编写过程中,参考了作者@simples的代码,受益匪浅。

当前为 2020-09-10 提交的版本,查看 最新版本

// ==UserScript==
// @name         【省一省-领优惠券-高额返现】--领取淘宝、天猫内部优惠券,京东优惠券(适配中),可显示返现额度,扫码下单后即可获得返现,是您的省钱购物小助手,可查看商品历史价格、获得返现~长期更新,放心使用。
// @namespace    cyzlizhe
// @version      0.3
// @description  在淘宝、天猫的【商品列表页】和【商品详情页】上显示优惠券详细信息及返现金额,无需进入商品详情页即可查看优惠券信息及返现金额,商品详情页可直接领券,功能简单,显示直观,支持在商品详情页通过「花前省一省」APP扫码,直接在APP进入商品、领券及获得返现。在代码的编写过程中,参考了作者@simples的代码,受益匪浅。
// @author       cyzlizhe
// @homepage     https://www.youyizhineng.top/

// @match        *://*.taobao.com/*
// @match        *://*.tmall.com/*
// @match        *://*.tmall.hk/*
// @match        *://*.liangxinyao.com/*
// @exclude       *://login.taobao.com/*
// @exclude       *://pages.tmall.com/*
// @exclude       *://uland.taobao.com/*
// @require      https://cdn.staticfile.org/jquery/1.12.4/jquery.min.js
// @require      https://cdn.bootcss.com/jquery.qrcode/1.0/jquery.qrcode.min.js
// @grant        none
// @note    2020年9月10日11:37:20 更新,修复返现金额查询时间长的bug,京东的查券返现功能正在适配中。
// ==/UserScript==

(function () {
    "use strict";

    // Your code here...
    var style = document.createElement("link");
    style.href = "https://www.youyizhineng.top/query_coupon/query_coupon.css";
    style.rel = "stylesheet";
    style.type = "text/css";
    document.getElementsByTagName("head").item(0).appendChild(style);

    style = document.createElement("link");
    style.href = "https://www.youyizhineng.top/query_coupon/coupon_style.css";
    style.rel = "stylesheet";
    style.type = "text/css";
    document.getElementsByTagName("head").item(0).appendChild(style);

    var obj = {};
    //列表页面操作
    obj.initSearchHtml = function (selectorList) {
        setInterval(function () {
            selectorList.forEach(function (selector) {
                obj.initSearchItemSelector(selector);
            });
        }, 3000);
    };

    obj.initSearchItemSelector = function (selector) {
        $(selector).each(function () {
            obj.initSearchItem(this);
        });
    };

    obj.initSearchItem = function (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 (!obj.isVailidItemId(nid)) {
            nid = $this.attr("data-itemid");
        }

        if (!obj.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 (!obj.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 (obj.isValidNid(nid)) {
            obj.appenBasicQueryHtml($this, nid);
        }
    };
    //图片上显示提示图标
    obj.initSearchEvent = function () {
        $(document).on("click", ".tb-cool-box-area", function () {
            var Show_hide_div_id = $(this).attr("id");
            var a = document.getElementById(Show_hide_div_id).style.opacity;
            if (a == "" || a == "1") {
                document.getElementById(Show_hide_div_id).style.opacity = "0.2";
            } else {
                document.getElementById(Show_hide_div_id).style.opacity = "1";
            }
        });
        $(document).on("click", ".tb-cool-box-area-rm", function () {
            var Show_hide_div_id = $(this).attr("id");
            var a = document.getElementById(Show_hide_div_id).style.opacity;
            if (a == "" || a == "1") {
                document.getElementById(Show_hide_div_id).style.opacity = "0.2";
            } else {
                document.getElementById(Show_hide_div_id).style.opacity = "1";
            }
        });
    };

    obj.basicQuery = function () {
        setInterval(function () {
            $(".tb-cool-box-wait").each(function () {
                obj.basicQueryItem(this);
            });
        }, 3000);
    };

    obj.appenBasicQueryHtml = function (selector, nid) {
        selector.append(
            '<div class="tb-cool-box-area tb-cool-box-wait" name="cr_div" data-nid="' +
            nid +
            '"  id="c_div_' +
            nid +
            '"><a class="tb-cool-box-info tb-cool-box-info-default" title="点击查询">待查询</a></div>'
        );
        selector.append(
            '<div class="tb-cool-box-area-rm tb-cool-box-wait-rm" name="cr_div"  data-nid="' +
            nid +
            '"  id="r_div_' +
            nid +
            '"><a class="tb-cool-box-info tb-cool-box-info-default" title="点击查询">待查询</a></div>'
        );
    };

    obj.basicQueryItem = function (selector) {
        var $this = $(selector);
        $this.removeClass("tb-cool-box-wait");

        var nid = $this.attr("data-nid");
        var url =
            "https://www.youyizhineng.top/query_coupon/query_coupon.php?operate=quert_single&itemid=" +
            nid;

        $.getJSON(url, function (data) {
            // alert(data)
            if (data.couponmoney != 0 || data.return_money_rate != 0) {
                obj.showBasicQueryFind($this, data.couponmoney, data.return_money_rate, data.url2);
            } else {
                obj.showBasicQueryEmpty($this);
            }
        });
    };

    obj.showBasicQueryFind = function (selector, couponMoney, rm_Money, url2) {
        var price;
        if (couponMoney == "0") {
            selector.html(
                '<a target="_blank" class="tb-cool-box-info tb-cool-box-info-find" title="显示/隐藏">无券</a>'
            );
        } else
            selector.html(
                '<a target="_blank" class="tb-cool-box-info tb-cool-box-info-find" title="显示/隐藏">有券(减' +
                couponMoney +
                "元)</a>"
            );

        var url = location.href;
        if (url.indexOf("//s.taobao.com/search") > 0 || url.indexOf("//s.taobao.com/list") > 0) {
            price = selector.prev().find("strong").html();
            if(url2 != '')
            {
                selector.prev().find(".J_ClickStat").attr("href", url2);
                selector.prev().prev().find(".pic").find("a").attr("href", url2);
            }
        }
        else if (url.indexOf("//list.tmall.com/search_product.htm") > 0) {
            price = selector.prev().find("em").attr('title'); 
            if(url2 != '')
            {
                selector.prev().find(".productTitle").find("a").attr("href", url2);
                selector.prev().find(".productImg").attr("href", url2);
            }
        }
        else if (url.indexOf("//list.tmall.hk/search_product.htm") > 0) {
            price = selector.prev().find("em").attr('title'); 
            if(url2 != '')
            {
                selector.prev().find(".productTitle").find("a").attr("href", url2);
                selector.prev().find(".productImg").attr("href", url2);
            }
        }
        else if (url.indexOf("//maiyao.liangxinyao.com/shop/view_shop.htm") > 0) {
            price = selector.prev().prev().find(".c-price").html();
            if (price > 0) {
                price = selector.prev().prev().find(".c-price").html();
                if(url2 != '')
                {
                    selector.prev().prev().find("a").attr("href", url2);
                    selector.prev().prev().prev().find("a").attr("href", url2);
                }
            }
            else {
                price = selector.prev().find(".c-price").html();
                if(url2 != '')
                {
                    selector.prev().find("a").attr("href", url2);
                    selector.prev().prev().find("a").attr("href", url2);
                }
            }
        }


        selector.next().html(
            '<a target="_blank" class="tb-cool-box-info tb-cool-box-info-find-rm" title="使用APP「花前省一省」扫码宝贝详情页二维码可得返现">返现(约' +
            Math.round(Math.floor(price * rm_Money * 1000) / 10) / 100 +
            "元)</a>"
        );
    };

    obj.showBasicQueryEmpty = function (selector) {
        // selector.addClass("tb-cool-box-info-translucent");
        selector.html(
            '<a href="javascript:void(0);" class="tb-cool-box-info tb-cool-box-info-empty" style="opacity:0.5;" title="切换透明度">暂无优惠</a>'
        );
        selector
            .next()
            .html(
                '<a href="javascript:void(0);" class="tb-cool-box-info tb-cool-box-info-empty" style="opacity:0.5;" title="切换透明度">暂无返现</a>'
            );
    };

    obj.isDetailPageTaoBao = function (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;
        }
    };

    obj.DetailPageTB_or_TM = function () {
        var url = location.href;
        if (url.indexOf("//item.taobao.com/item.htm") > 0) {
            return 1;
        }
        else {
            return 2;
        }
    };


    obj.isVailidItemId = function (itemId) {
        if (!itemId) {
            return false;
        }

        var itemIdInt = parseInt(itemId);
        if (itemIdInt == itemId && itemId > 10000) {
            return true;
        } else {
            return false;
        }
    };

    obj.isValidNid = function (nid) {
        if (!nid) {
            return false;
        } else if (nid.indexOf("http") >= 0) {
            if (
                obj.isDetailPageTaoBao(nid) ||
                nid.indexOf("//detail.ju.taobao.com/home.htm") > 0
            ) {
                return true;
            } else {
                return false;
            }
        } else {
            return true;
        }
    };

    obj.getprice = function (selector) {
        if (!nid) {
            return false;
        } else if (nid.indexOf("http") >= 0) {
            if (
                obj.isDetailPageTaoBao(nid) ||
                nid.indexOf("//detail.ju.taobao.com/home.htm") > 0
            ) {
                return true;
            } else {
                return false;
            }
        } else {
            return true;
        }
    };

    if (obj.isDetailPageTaoBao(location.href)) {
        var params = location.search.split("?")[1].split("&");
        for (var index in params) {
            if (params[index].split("=")[0] == "id") {
                var productId = params[index].split("=")[1];
                break;
            }
        }
        var url =
            "https://www.youyizhineng.top/query_coupon/query_coupon.php?operate=quert_single&itemid=" +
            productId;
        $.getJSON(url, function (data) {
            var couponArea;
            if (data.couponmoney == 0) {
                couponArea =
                    '<div class="coupon-wrap"><div class="stamp stamp04">' +
                    '<div class="par"><sub class="sign">¥</sub><span style="font-size:20px">暂无优惠券</span><p></p></div>' +
                    "<i></i></div></div>";
            } else {
                couponArea =
                    '<div class="coupon-wrap"><div class="stamp stamp04">' +
                    '<div class="par"><sub class="sign">¥</sub><span>' +
                    data.couponmoney +
                    "</span><p>" +
                    data.couponexplain +
                    "</p></div>" +
                    '<div class="copy">优惠券<p>' +
                    data.couponstarttime +
                    "<br>" +
                    data.couponendtime +
                    '</p><a href="' +
                    data.url1 +
                    '">直接领券</a></div>' +
                    "<i></i></div></div>";
            }

            if (data.return_money_rate == 0) {
                couponArea =
                    couponArea +
                    '<div class="coupon-wrap-rm"><div class="rm-div"><span>暂无返现</span><div class="rm-btn" id="a_click">其他功能</div></div></div>' +
                    '<div id="coupon-wrap-qr" class="coupon-wrap-qr"><div class="qr-code-div"><img class="qr-img" src="http://huaqianshengyisheng.img.weiyuntop.com/oss/uploads/avatar_code/202005/2_828a21c75f17ff6f3bac516761b0e8da.png"></img>' +
                    '<span class="title">「花前省一省」是一款领券返现的APP,支持淘宝、天猫、京东、拼多多、唯品会等等主流平台~还有点外卖领券返现,电影票优惠购,全网vip视频免费看等功能,让您花钱之前,再省一省</span>' +
                    '<span class="foot" style="height:20px">扫码下载,支持IOS和安卓,也可在各大应用市场下载</span></div></div>';
            } else {
                couponArea =
                    couponArea +
                    '<div class="coupon-wrap-rm"><div class="rm-div"><span id="rm_money">返现查询中...</span><div class="rm-btn" id="a_click">点击领取返现</div></div></div>' +
                    '<div id="coupon-wrap-qr" class="coupon-wrap-qr"><div class="qr-code-div"><div id="qrcode"></div><span class="title">使用「花前省一省」APP扫码可直接进入该商品的领券页面,领券下单后即可获得返现~<br><br>花前省一省<br>&nbsp&nbsp&nbsp&nbsp&nbsp--花钱之前,再省一省</span>' +
                    '<span class="foot" style="height:20px">支持IOS和安卓,各大应用市场均有下载</span></div></div>';
            }

            if (location.href.indexOf("//detail.tmall") != -1) {
                $(".tm-fcs-panel").after(couponArea);
            } else {
                $("ul.tb-meta").after(couponArea);
            }

            var qr_code_text = obj.DetailPageTB_or_TM() + '//' + productId;

            // alert(qr_code_text);

            jQuery("#qrcode").qrcode({ width: 150, height: 150, text: qr_code_text });
            $("#a_click").click(function (event) {
                if ($("#coupon-wrap-qr").css("display") == "block") {
                    $("#coupon-wrap-qr").css("display", "none");
                } else {
                    $("#coupon-wrap-qr").css("display", "block");
                }
            });
            if (data.return_money_rate != 0) {
                var si = setInterval(function () {
                    if (location.href.indexOf("//detail.tmall") != -1) {
                        if ($("#rm_money").html().indexOf('元') != -1) {
                            clearInterval(si);
                            return;
                        }
                        var price = $(".tm-price-panel").find(".tm-price").html().split("-");
                        var price_prompt = $(".tm-promo-price").find(".tm-price").html().split("-");

                        if (price_prompt.length != 0) {
                            var rm = Math.round(Math.floor(price_prompt[0] * data.return_money_rate * 1000) / 10) / 100;
                        }
                        else {
                            rm = Math.round(Math.floor(price[0] * data.return_money_rate * 1000) / 10) / 100;
                        }
                        var str = '返现约为:' + rm + '元'
                        $("#rm_money").html(str);
                    } else {
                        if ($("#rm_money").html().indexOf('元') != -1) {
                            return;
                        }
                        price = $("#J_StrPrice").find(".tb-rmb-num").html().split("-");
                        price_prompt = $("#J_PromoHd").find("#J_PromoPriceNum").html().split("-");

                        if (price_prompt.length != 0) {
                            rm = Math.round(Math.floor(price_prompt[0] * data.return_money_rate * 1000) / 10) / 100;
                        }
                        else {
                            rm = Math.round(Math.floor(price[0] * data.return_money_rate * 1000) / 10) / 100;
                        }
                        str = '返现约为:' + rm + '元'
                        $("#rm_money").html(str);
                    }
                }, 500);
            }

        });
    } else {
        if (document.title.indexOf("天猫超市") > 0) {
            return;
        }
        var selectorList = [];
        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) {
            obj.initSearchHtml(selectorList);
            obj.initSearchEvent();
            obj.basicQuery();
        }
    }
})();