共创世界(CCW)自动签到

自动签到脚本,从本地读取上次签到时间并判断是否是新的一天进行签到

// ==UserScript==
// @name         共创世界(CCW)自动签到
// @namespace    https://greasyfork.org/zh-CN/scripts/481630-%E5%85%B1%E5%88%9B%E4%B8%96%E7%95%8C-ccw-%E8%87%AA%E5%8A%A8%E7%AD%BE%E5%88%B0
// @version      1.6
// @description  自动签到脚本,从本地读取上次签到时间并判断是否是新的一天进行签到
// @author       kukemc
// @match        *.ccw.site
// @grant        GM_setValue
// @grant        GM_getValue
// @license MIT
// ==/UserScript==

(function() {
    'use strict';

    // 从本地读取上次签到时间
    var lastCheckinTime = GM_getValue('lastCheckinTime');

    // 获取当前日期
    var currentDate = new Date().toLocaleDateString();
    console.log('开始判断签到');

    // 判断是否是新的一天
    if (lastCheckinTime !== currentDate) {
        console.log('执行签到');
        function clickElementByClass(className) {
            var elements = document.getElementsByClassName(className);
            if (elements.length > 0) {
                elements[0].click();
                console.log("点击 " + className + " 成功");
            } else {
                console.error("无法找到类名为 " + className + " 的元素");
            }
        }
        // 主函数,执行签到流程
        setTimeout(function() {
            // 点击第一个元素
            clickElementByClass('signInEntery-2G189 toolTip');
            clickElementByClass('signInEntery-2G189 toReceive-1Y0YL toolTip');
            // 等待1秒
            setTimeout(function() {
                // 点击"立即签到"按钮
                clickElementByClass('signIn-3FzQR');

                // 再次等待1秒
                setTimeout(function() {
                    // 最后点击关闭按钮
                    clickElementByClass('closeBtn-30jhg');
                    GM_setValue('lastCheckinTime', currentDate);
                    console.log('签到成功');
                }, 300);
            }, 300);
        }, 5000);
    } else {
        console.log("用户已签到过"); // 控制台输出不是新的一天
    }
})();