Greasy Fork is available in English.
打开恋爱游戏网首页/会员中心/百度首页后自动签到
// ==UserScript==
// @name 恋爱游戏网自动签到
// @namespace http://tampermonkey.net/love_sign
// @version 2020.08.16.1
// @description 打开恋爱游戏网首页/会员中心/百度首页后自动签到
// @author PY-DNG
// @icon https://www.lianaiyx.com/skin/member/images/nopic.gif
// @include https://www.lianaiyx.com/
// @include https://www.lianaiyx.com/e/member/cp/
// @include https://www.baidu.com/
// @include https://www.baidu.com/index.php
// @connect www.lianaiyx.com
// @grant GM_setValue
// @grant GM_getValue
// @grant GM_xmlhttpRequest
// @grant GM_info
// ==/UserScript==
(function() {
'use strict';
// 用户参数
const developer = false;
// 程序常量
const TEXT_SITE_NAME = '恋爱游戏网:';
const TEXT_ALREADY_SIGNED = '今日已签到';
const TEXT_IN_SIGNING = TEXT_SITE_NAME + '正在签到中...';
const TEXT_SIGN_AGAIN = '点击再次签到';
const TEXT_UNEXPECTED_RESPONSE = '尝试执行了签到,但是未收到服务器预期的回应。请打开浏览器控制台查看并反馈详情。';
const COLOR_IN_SIGNING = 'rgb(100,100,255)';
const COLOR_SIGN_SUCCEED = 'green';
const COLOR_SIGN_ERROR = 'red';
// 通用程序常量
const TEXT_SCRIPT_NAME = GM_info.script.name;
const TEXT_ERROR_TITLE = '==== Userscript Error: ' + TEXT_SCRIPT_NAME + ' ====';
// 回显区域
let headLine, container;
const blank = document.createElement('code');
blank.innerText = ' ';
const signDisplay = document.createElement('a');
signDisplay.href = 'javascript:void(0);';
signDisplay.addEventListener('click', sign);
switch (window.location.href) {
case 'https://www.lianaiyx.com/':
headLine = document.querySelectorAll('.menber')[0];
headLine.appendChild(signDisplay);
break;
case 'https://www.lianaiyx.com/e/member/cp/':
container = document.querySelectorAll('div table tbody tr td');
container[0].width = '30%';
container[1].width = '70%';
headLine = document.querySelector('div table tbody tr td div');
headLine.appendChild(blank);
headLine.appendChild(signDisplay);
break;
case 'https://www.baidu.com/':
case 'https://www.baidu.com/index.php':
headLine = document.querySelector('#s-top-left');
signDisplay.className = headLine.children[0].className;
headLine.appendChild(signDisplay);
}
// 判断今日是否已经签到过了
let d = new Date();
let fulltime = d.getFullYear() + "/" + (d.getMonth() + 1) + "/" + d.getDate();
if(GM_getValue('lastTime', '') === fulltime) {
signDisplay.innerText = TEXT_ALREADY_SIGNED;
signDisplay.style.color = 'green';
signDisplay.title = TEXT_SIGN_AGAIN;
} else {
sign();
}
// 签到函数
function sign() {
signDisplay.innerText = TEXT_IN_SIGNING;
signDisplay.style.color = COLOR_IN_SIGNING;
GM_xmlhttpRequest({
method: 'GET',
synchronous: false,
url: 'https://www.lianaiyx.com/e/member/sign/?doajax=1&ajaxarea=sign',
onload : function (reText) {
const msg = reText.responseText.split('|');
if (msg[0] === '已签到') {
GM_setValue('lastTime', fulltime);
signDisplay.style.color = COLOR_SIGN_SUCCEED;
signDisplay.innerText = TEXT_SITE_NAME + msg[2];
} else {
signDisplay.style.color = COLOR_SIGN_ERROR;
signDisplay.innerText = TEXT_UNEXPECTED_RESPONSE;
console.log(TEXT_ERROR_TITLE);
console.log([reText, msg]);
console.log(GM_info);
}
}
})
}
})();