Greasy Fork

Greasy Fork is available in English.

雪球更新通知

用来在开盘日,每分钟刷新网页,提醒你(关注的人, 讨论的内容)是否有新的通知

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// ==UserScript==
// @name         雪球更新通知
// @namespace    http://tampermonkey.net/
// @version      1.0.1
// @description  用来在开盘日,每分钟刷新网页,提醒你(关注的人, 讨论的内容)是否有新的通知
// @author       iOSleep  
// @license      MIT
// @match        https://xueqiu.com/*
// @icon         https://xueqiu.com/favicon.ico
// @grant        unsafeWindow
// @grant        GM_setValue
// @grant        GM_getValue
// @grant        GM_notification
// @run-at       document-start
// @require      https://scriptcat.org/lib/637/1.4.3/ajaxHooker.js#sha256=y1sWy1M/U5JP1tlAY5e80monDp27fF+GMRLsOiIrSUY=
// ==/UserScript==

(function () {
    'use strict';
    // Your code here...
    ajaxHooker.hook(request => {
        // console.log("request", request);
        if (request.url.indexOf("/query/v1/search/status.json") != -1) { //搜索vcp的
            request.response = value => {
                const obj = JSON.parse(value.response);
                const id = obj.list[0].id;
                const saveId = GM_getValue("xueqiu_vcp_id", 0);
                GM_setValue("xueqiu_vcp_id", id);
                if (saveId != id && saveId != 0) {
                    GM_notification("有新的VCP通知,请注意查看");
                }
            };
        } else if (request.url.indexOf("/home_timeline.json") != -1) { // 首页关注的
            request.response = value => {
                const obj = JSON.parse(value.response);
                const id = obj.home_timeline[0].id;
                const saveId = GM_getValue("xueqiu_gz_id", 0);
                GM_setValue("xueqiu_gz_id", id);
                if (saveId != id && saveId != 0) {
                    GM_notification("有新的关注通知,请注意查看");
                }
            };
        }
    });

    // 函数 判断是否是在A股的开盘时间
    function isWorkDay() {
        var now = new Date();
        var day = now.getDay();
        var hour = now.getHours();
        var minute = now.getMinutes();
        // 周一至周五
        if (day > 0 && day < 6) {
            const a = 9 * 60 + 30;
            const b = 11 * 60 + 30;
            const c = 13 * 60;
            const d = 15 * 60;
            const nowNum = hour * 60 + minute;
            return ( nowNum >= a && nowNum <= b || nowNum >= c && nowNum <= d);
        }
        return false;
    }

    function myrefresh() {
        if (isWorkDay() === true) {
            setTimeout(() => {
                window.location.reload();
            }, 1000 * 60);// 一分钟后刷新
        } else {
            console.log("非工作时间,不刷新页面");
            setTimeout(() => {
                window.location.reload();
            }, 1000 * 60 * 30); // 30分钟后刷新
        }
    }

    myrefresh();
})();