您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
贴吧签到
- // ==UserScript==
- // @name Tieba Sign
- // @namespace http://gera2ld.blog.163.com/
- // @author Gerald <gera2ld@163.com>
- // @icon http://cn.gravatar.com/avatar/a0ad718d86d21262ccd6ff271ece08a3?s=80
- // @version 1.3.4.6
- // @description 贴吧签到
- // @homepageURL http://gerald.top/code/TiebaSign
- // @include http://tieba.baidu.com/*
- // @exclude http://tieba.baidu.com/tb/*
- // @require https://gf.qytechs.cn/scripts/144/code.user.js
- // @grant none
- // ==/UserScript==
- /*
- * 0: 签到成功
- * 1: 已签到
- * 2: 未开通签到
- * 3: 网络错误
- * 4: 未知错误
- */
- // 模拟WAP签到
- function wapSign(name, callback) {
- function error() {
- ret.err = 3;
- ret.msg = '网络错误';
- callback(ret);
- }
- var ret = {err: 4};
- $.get('/mo/?kw=' + encodeURIComponent(name) + '&ie=utf-8', function (d) {
- var s = d.match(/<(\w+) style="text-align:right;">(.*?)<\/\1>/);
- if (s) {
- if (s = s[2]) {
- var m = s.match(/<a href="(.*?)">签到<\/a>/);
- if (m)
- return $.get(m[1].replace(/&/g, '&'), function (d) {
- if (m = d.match(/<span class="light">(.*?)<div/)) {
- ret.msg = m[1].replace(/<[^>]*>/g, '');
- if (/^签到成功/.test(ret.msg)) ret.err = 0;
- }
- callback(ret);
- }, 'html').fail(error);
- if (s.match(/<span >已签到<\/span>/)) {
- ret.err = 1;
- ret.msg = '已签到';
- }
- } else ret.err = 2;
- }
- callback(ret);
- }, 'html').fail(error);
- }
- // 普通签到
- function htmlSign(n, callback) {
- function error() {
- ret.err = 3;
- ret.msg = '网络错误';
- callback(ret);
- }
- var ret = {err: 4};
- $.get('/f?kw=' + encodeURIComponent(n) + '&ie=utf-8', function (d) {
- var matches = d.match(/"is_sign_in":(\d+),"user_sign_rank":(\d+),/);
- if (matches && matches[1] == 1) {
- ret.err = 0;
- ret.msg = '签到成功,排名' + matches[2];
- } else if (matches = d.match(/PageData\.tbs = "(.*?)";/))
- return $.post('/sign/add', {
- ie: 'utf-8',
- kw: n,
- tbs: matches[1]
- }, function (res) {
- if (!res.no) {
- ret.err = 0;
- ret.msg = '签到成功,排名' + res.data.uinfo.user_sign_rank;
- } else ret.msg = res.no + ': ' + res.error;
- callback(ret);
- }, 'json').fail(error);
- callback(ret);
- }, 'html').fail(error);
- }
- // 访问时自动签到
- function visitSign(j) {
- if (j.length && $('.focus_btn.cancel_focus').length) { // “喜欢”才签到
- if (utils.getObj('wap', true))
- wapSign(PageData.forum.forum_name, function (d) {
- if (d.err) return;
- j.removeClass('j_cansign signstar_btn')
- .addClass('signstar_signed')
- .html(function (i, o) {
- return '<span class="sign_keep_span">WAP成功</span>' + o;
- });
- $('#signstar_wrapper').addClass('signstar_wrapper_signed sign_box_bright_signed');
- });
- else $('.j_cansign').click();
- }
- }
- // 从贴吧个人中心自动签到所有爱逛的贴吧
- function hSign(ihome) {
- function init() {
- btnSign.prop('disabled', false);
- btnSign.html('全部签到');
- }
- function work(){
- btnSign.prop('disabled', true);
- btnSign.html('正在签到...');
- idx = 0;
- sign();
- }
- function mark(r) {
- var o = $('a.unsign[data-fid=' + forums[idx].forum_id + ']');
- if (r.err > 1) {
- if (r.err == 2) {
- r.color = 'blue';
- r.msg = '未开通签到';
- } else {
- r.color = 'red';
- r.msg = r.msg || '未知错误';
- }
- } else {
- forums[idx].is_sign = 1;
- o.removeClass('unsign').addClass('sign');
- }
- o.prop('title', r.msg);
- idx ++;
- setTimeout(sign, 1000);
- }
- function sign() {
- var o;
- while ((o = forums[idx]) && o.is_sign) idx++;
- if (!o) {
- btnSign.html('完成签到');
- return setTimeout(init, 200);
- }
- btnSign.html('正在签到...' + o.forum_name);
- (utils.getObj('wap', true) ? wapSign : htmlSign)(o.forum_name, mark);
- }
- var forums = ihome.forumGroup._forumArr;
- var btnSign = $('<button class="btn-default btn-middle" style="margin-left:8px;margin-right:8px">').appendTo('.ihome_title').click(work);
- var idx;
- $('<button class="btn-default btn-middle">').appendTo('.ihome_title').click(showOptions).html('签到设置');
- init();
- }
- // 设置
- function showOptions(e) {
- e.stopPropagation();
- utils.popup.show({
- html:
- '<h3>设置 - 百度贴吧签到脚本</h3>' +
- '<label><input type=checkbox id=gs_wap>模拟WAP签到</label><br>' +
- '<label><input type=checkbox id=gs_sign>访问已关注的贴吧时自动签到</label><br>',
- className: 'ge_opt',
- init: function (d) {
- utils.bindProp($(d).find('#gs_wap'), 'checked', 'wap', true);
- utils.bindProp($(d).find('#gs_sign'), 'checked', 'sign', true);
- },
- });
- }
- if (PageData && PageData.user && PageData.user.is_login) {
- if (unsafeWindow.ihome && $('.userinfo_scores').length)
- hSign(unsafeWindow.ihome);
- else if (utils.getObj('sign', true) && !PageData.user.is_black)
- visitSign($('#sign_mod .j_cansign'));
- }
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址