|
废话少说直接上代码。
下载 FeHelper
谷歌示例:安装 油猴插件。按截图配置即可。每天进到本站自动签到。
- var _w = window, _d = document;
- try {
- // 当前日期
- let date = new Date(), year = date.getFullYear(), month = date.getMonth() + 1, day = date.getDate();
- // 日期状态
- let date_state = year + '' + month + '' + day;
- // 登录状态
- let login_state = document.getElementById('lsform') ? false : true;
- // localStorage 键
- let localKey = 'signin_state_' + date_state;
- // 签到状态
- let signin_state = false;
- // 删除掉之前的签到记录
- for (let i = 0, len = localStorage.length; i < len; i++) {
- let key = localStorage.key(i);
- if (key && key.indexOf('signin_state_') > -1 && (key != localKey)) {
- localStorage.removeItem(key);
- console.log('已删除之前签到记录:' + key);
- }
- }
- // 签到数据
- let signin_Storage = localStorage.getItem(localKey);
- signin_state = signin_Storage == null ? false : JSON.parse(signin_Storage);
- console.log('签到状态:', signin_state);
- console.log('登录状态:', login_state);
- if (login_state && signin_state == false) {
- signin();
- }
- // 签到
- async function signin() {
- console.log('--开始签到--');
- const signin_url = signin_url_fun();
- if (!signin_url) return console.log('用户签到失败');
- if (await state_fun(location.origin + '/' + signin_url)) {
- console.log('用户签到成功');
- } else {
- console.log('用户签到失败');
- return false;
- }
- // 浏览空间
- let len = 10;
- for (let i = 1; i <= len; i++) {
- let state = await state_fun(location.origin + '/home.php?mod=space&uid=' + i);
- if (state == false) len++;
- console.log('浏览用户:' + i + (state ? ' 成功' : ' 失败'));
- }
- // 签到完成
- localStorage.setItem(localKey, true);
- console.log('--签到完成--');
- }
- // 签到地址
- function signin_url_fun() {
- const toptbEl = document.getElementById('toptb');
- const wpEl = toptbEl.getElementsByClassName('wp')[0];
- const zEl = wpEl.getElementsByClassName('z')[0];
- const aEl = zEl.getElementsByTagName('a');
- for (let i = 0, len = aEl.length; i < len; i++) {
- const hrefValue = aEl[i].getAttribute('href');
- if (hrefValue && hrefValue.indexOf('plugin.php?id=study_daily_attendance') > -1) {
- return hrefValue;
- break;
- }
- }
- return '';
- }
- async function state_fun(url) {
- return new Promise((resolve, reject) => {
- $.ajax({
- url,
- type: 'get',
- dataType: 'html',
- success: function (res) {
- resolve(true);
- },
- error: function (errpr) {
- reject(false);
- }
- })
- })
- }
- } catch (error) {
- console.log(error);
- }
复制代码
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|