Yet Another Enhanced Steam

Enhanced Steam!

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         Yet Another Enhanced Steam
// @namespace    http://tampermonkey.net/
// @version      0.1.1
// @description  Enhanced Steam!
// @author       mout.me
// @match        https://store.steampowered.com/app/*
// @grant        none
// @require http://code.jquery.com/jquery-3.3.1.min.js
// ==/UserScript==

(function() {
    'use strict';

    var log = `██╗   ██╗███████╗████████╗     █████╗ ███╗   ██╗ ██████╗ ████████╗██╗  ██╗███████╗██████╗
╚██╗ ██╔╝██╔════╝╚══██╔══╝    ██╔══██╗████╗  ██║██╔═══██╗╚══██╔══╝██║  ██║██╔════╝██╔══██╗
 ╚████╔╝ █████╗     ██║       ███████║██╔██╗ ██║██║   ██║   ██║   ███████║█████╗  ██████╔╝
  ╚██╔╝  ██╔══╝     ██║       ██╔══██║██║╚██╗██║██║   ██║   ██║   ██╔══██║██╔══╝  ██╔══██╗
   ██║   ███████╗   ██║       ██║  ██║██║ ╚████║╚██████╔╝   ██║   ██║  ██║███████╗██║  ██║
   ╚═╝   ╚══════╝   ╚═╝       ╚═╝  ╚═╝╚═╝  ╚═══╝ ╚═════╝    ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝  ╚═╝

███████╗███╗   ██╗██╗  ██╗ █████╗ ███╗   ██╗ ██████╗███████╗██████╗     ███████╗████████╗███████╗ █████╗ ███╗   ███╗
██╔════╝████╗  ██║██║  ██║██╔══██╗████╗  ██║██╔════╝██╔════╝██╔══██╗    ██╔════╝╚══██╔══╝██╔════╝██╔══██╗████╗ ████║
█████╗  ██╔██╗ ██║███████║███████║██╔██╗ ██║██║     █████╗  ██║  ██║    ███████╗   ██║   █████╗  ███████║██╔████╔██║
██╔══╝  ██║╚██╗██║██╔══██║██╔══██║██║╚██╗██║██║     ██╔══╝  ██║  ██║    ╚════██║   ██║   ██╔══╝  ██╔══██║██║╚██╔╝██║
███████╗██║ ╚████║██║  ██║██║  ██║██║ ╚████║╚██████╗███████╗██████╔╝    ███████║   ██║   ███████╗██║  ██║██║ ╚═╝ ██║
╚══════╝╚═╝  ╚═══╝╚═╝  ╚═╝╚═╝  ╚═╝╚═╝  ╚═══╝ ╚═════╝╚══════╝╚═════╝     ╚══════╝   ╚═╝   ╚══════╝╚═╝  ╚═╝╚═╝     ╚═╝

██████╗ ██╗   ██╗    ███╗   ███╗ ██████╗ ██╗   ██╗████████╗███╗   ███╗███████╗
██╔══██╗╚██╗ ██╔╝    ████╗ ████║██╔═══██╗██║   ██║╚══██╔══╝████╗ ████║██╔════╝
██████╔╝ ╚████╔╝     ██╔████╔██║██║   ██║██║   ██║   ██║   ██╔████╔██║█████╗
██╔══██╗  ╚██╔╝      ██║╚██╔╝██║██║   ██║██║   ██║   ██║   ██║╚██╔╝██║██╔══╝
██████╔╝   ██║       ██║ ╚═╝ ██║╚██████╔╝╚██████╔╝   ██║██╗██║ ╚═╝ ██║███████╗
╚═════╝    ╚═╝       ╚═╝     ╚═╝ ╚═════╝  ╚═════╝    ╚═╝╚═╝╚═╝     ╚═╝╚══════╝
                                                                                                                    `

    console.log(log);

    var domTemplate = {
        add_to_wishlist_area: `<div id="add_to_wishlist_area" style="display: none;">
  <a class="btnv6_blue_hoverfade btn_medium" href="javascript:AddToWishlist( 535480, 'add_to_wishlist_area', 'add_to_wishlist_area_success', 'add_to_wishlist_area_fail', '1_5_9__407' );"
    data-tooltip-text="在您愿望单中的物品正式发布或特价销售时获取邮件通知">
    <span>添加至您的愿望单</span>
  </a>
</div>`,
        add_to_wishlist_area_success: `<div id="add_to_wishlist_area_success">
  <a href="" class="btnv6_blue_hoverfade btn_medium queue_btn_active"
    data-tooltip-text="该产品已在您的愿望单中。点击取消收藏。">
    <span><img src="https://store.st.dl.bscstorage.net/public/images/v6/ico/ico_selected.png" border="0">
      已在愿望单中</span>
  </a>
</div>`,
        add_to_wishlist_area_fail: `<div id="add_to_wishlist_area_fail" style="display: none;">
  <b>哎呀,很抱歉!</b>
</div>`,
        remove_btn: ` <div class="queue_control_button queue_btn_remove_from_wishlist">&nbsp;<div class="btnv6_blue_hoverfade  btn_medium queue_btn_inactive" style="" data-tooltip-text="这个按钮是油猴脚本添加的。"><span>从愿望单移除</span></div></div> `
    }

    function getCookie(key) {
        var name = key + "=";
        var cookieArray = document.cookie.split(';');
        for (var i = 0; i < cookieArray.length; i++) {
            var c = cookieArray[i].trim();
            if (c.indexOf(name) == 0) return c.substring(name.length, c.length);
        }
        return "";
    }

    $(document).ready(function () {
        var removeBtn = $(domTemplate.remove_btn);
        $('.queue_btn_ignore').after(removeBtn);

        // 移除跳转到愿望单的链接
        $('a.queue_btn_active').attr('href', '');

        // 判断如果已经在愿望单则恢复添加愿望单按钮
        if($('a.queue_btn_active').parent().attr('id') !== 'add_to_wishlist_area_success') {
            // 已在愿望单,替换按钮
            console.log('已在愿望单');
            $('a.queue_btn_active').remove();
            $('.queue_actions_ctn').prepend(domTemplate.add_to_wishlist_area, domTemplate.add_to_wishlist_area_success, domTemplate.add_to_wishlist_area_fail);
        } else {
            // 未添加到愿望单
            console.log('未添加到愿望单');
        }

        function handleRemove(event){
            event.preventDefault();
            var data = {
                sessionid: getCookie('sessionid'),
                appid: window.location.pathname.split('/')[2]
            }

            $.post( "//store.steampowered.com/api/removefromwishlist", data, function() {
                // alert( "success" );
                $('#add_to_wishlist_area').css('display', 'inline-block');
                $('#add_to_wishlist_area_success').css('display', 'none');
            })
                .done(function() {
                // alert( "second success" );
            })
                .fail(function() {
                alert( "error" );
            })
                .always(function() {
                // alert( "finished" );
            });
        }

        removeBtn.click(handleRemove);
        $('a.queue_btn_active').click(handleRemove);

    });
})();