// ==UserScript==
// @name 兔兔兔区+
// @namespace https://greasyfork.org/zh-CN/scripts/411262-%E5%85%94%E5%85%94%E5%85%94%E5%8C%BA
// @version 2.1.8
// @description 屏蔽用户|屏蔽帖子|ID统计|帖内搜索|发帖记录直达|快捷举报|楼主标记|只看TA|白色主题夜间主题去广告
// @author chinshry
// @include https://bbs.jjwxc.net/bindex.php*
// @include https://bbs.jjwxc.net/board.php*
// @include https://bbs.jjwxc.net/newpost.php*
// @include https://bbs.jjwxc.net/showmsg.php*
// @include https://bbs.jjwxc.net/search.php*
// @include https://bbs.jjwxc.net/filterword.php*
// @include https://bbs.jjwxc.net/backend/filterReader.php*
// @include https://bbs.jjwxc.net/userinfo.php*
// @include https://bbs.jjwxc.net/postbypolice.php*
// @license GPL-3.0 License
// @require https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js
// ==/UserScript==
const IS_DARK_MODE = Boolean(Number(localStorage.getItem('themeJJ') == null ? 0 : localStorage.getItem('themeJJ')));
const bgColor = IS_DARK_MODE ? '#1A1A1A' : 'white';
const bgCss = { "background-color": bgColor };
const borderCss = { "border-color": bgColor, "border": "none" };
const pathname = window.location.pathname;
const IS_NEWPOST = pathname.indexOf('newpost') >= 0;
const IS_BOARD = IS_NEWPOST || pathname.indexOf('board') >= 0;
const IS_POST = pathname.indexOf('showmsg') >= 0;
const IS_SEARCH = pathname.indexOf('search') >= 0;
const IS_FILTER = pathname.indexOf('filterword') >= 0 || pathname.indexOf('filterReader') >= 0;
(function($) {
'use strict';
const BOARD_ID = IS_BOARD || IS_POST || IS_SEARCH ? getPageParams('board') : '';
const POST_ID = IS_POST ? getPageParams('id') : '';
const PAGE = IS_POST ? getPageParams('page') : '';
const BOARD_TYPE = IS_BOARD ? getPageParams('type') : '';
var page_count = 0
var id_all = {}
var reply_all = []
var replyStrBody = ''
var dataSortIndex = []
console.log("BOARD_ID = " + BOARD_ID);
console.log("POST_ID = " + POST_ID);
var Style = {
init() {
if(IS_DARK_MODE){
addGlobalStyle('*', { color: "#B2B2B2" });
}
addGlobalStyle('body', bgCss);
addGlobalStyle('.blockUI.blockMsg', bgCss);
addGlobalStyle('.blockUI.blockMsg', { border: "1px solid #000000" });
addGlobalStyle('tr', bgCss);
addGlobalStyle('td', bgCss);
var themeChangeButton = document.createElement("div");
themeChangeButton.className = "themeButton";
themeChangeButton.style.cssText = "width:35px;height:35px;top: 20px;right: 15px;cursor:pointer;border:1px solid #666666;position: fixed;z-index: 10000; font-size: small;line-height: 35px;text-align: center;border-radius: 20px;";
themeChangeButton.style.backgroundColor = 'white';
themeChangeButton.style.color = 'black';
themeChangeButton.textContent = "换肤";
document.getElementsByTagName("body")[0].appendChild(themeChangeButton);
},
removeAD() {
$('.width_300').parent().remove();
},
board() {
Style.removeAD()
const reportNode = document.createElement('script');
reportNode.type = 'text/javascript';
reportNode.src = '/scripts/userreport.js?ver=20200202';
document.head.appendChild(reportNode);
if (IS_NEWPOST){
const blockUItNode = document.createElement('script');
blockUItNode.type = 'text/javascript';
blockUItNode.src = '//static.jjwxc.net/scripts/jquery.blockUI.pack.js';
document.head.appendChild(blockUItNode);
}
addGlobalStyle('a:link', { color: IS_DARK_MODE ? '#b2b2b2' :'#161616' });
addGlobalStyle('a:visited', { color: '#808080' });
addGlobalStyle('a:hover', { color: '#bf7326' });
addGlobalStyle('a.board-bam:link', { color: '#669900' });
addGlobalStyle('a.board-bam:hover', { color: '#bf7326' });
addGlobalStyle('a.board-report:link', { color: '#669900' });
addGlobalStyle('a.board-report:hover', { color: '#bf7326' });
},
search() {
Style.removeAD();
addGlobalStyle('table', { "border-color": bgColor });
},
page() {
addGlobalStyle('.page-reply:link', { color: IS_DARK_MODE ? '#b2b2b2' :'#000000' });
addGlobalStyle('.page-reply:hover', { color: '#bf7326' });
addGlobalStyle('.page-reply:visited', { color: '#808080' });
addGlobalStyle('table', borderCss);
addGlobalStyle('td', borderCss);
for (var i = 1; i < 25; i++) {
changeImgBg(i)
}
$('#imgurl').remove()
$('.ad360_box').remove()
$('.textbook').remove()
},
filter() {
addGlobalStyle('b', { "margin-left": '15px' });
},
idCount(){
var div_side_bar = document.createElement("div");
div_side_bar.id = "countIDButton";
div_side_bar.textContent = 'ID统计'
div_side_bar.style.cssText = 'cursor: pointer;font-size: 12px;line-height: 20px;width: 56px;height: 20px;text-align: center;overflow: hidden;position: fixed;right: 0px;top: 70px;padding: 4px 4px;background-color: white;z-index: 10001;border-radius: 8px 0px 0px 8px;box-shadow: rgba(0, 85, 255, 0.0980392) 0px 0px 20px 0px;border: 1px solid rgb(233, 234, 236);';
div_side_bar.style.color = 'black';
$('#boardname').first().after(div_side_bar);
var div_data = document.createElement("div");
div_data.id = 'countIDList'
div_data.style.cssText = 'display: none;position: fixed;height: 85%;width: 350px;right: 0px;top: 140px;z-index: 9999;';
var div_data_inner = document.createElement("div");
div_data_inner.id = 'countIDListInner'
div_data_inner.style.cssText = 'display: block;overflow: hidden;height: inherit;border-radius: 8px;box-shadow: rgba(106, 115, 133, 0.219608) 0px 6px 12px 0px;border: 1px solid black ;background-color: white;overflow: auto; white-space: nowrap;';
var div_data_text = document.createElement("div");
div_data_text.id = 'countIDListText'
div_data_text.style.cssText = 'padding: 10px; box-sizing: border-box;';
div_data.append(div_data_inner);
div_data_inner.append(div_data_text);
document.body.appendChild(div_data);
},
postSearch(){
var div_side_bar = document.createElement("div");
div_side_bar.id = "postSearchButton";
div_side_bar.textContent = '贴内搜索'
div_side_bar.style.cssText = 'cursor: pointer;font-size: 12px;line-height: 20px;width: 56px;height: 20px;text-align: center;overflow: hidden;position: fixed;right: 0px;top: 105px;padding: 4px 4px;background-color: white;z-index: 10001;border-radius: 8px 0px 0px 8px;box-shadow: rgba(0, 85, 255, 0.0980392) 0px 0px 20px 0px;border: 1px solid rgb(233, 234, 236);';
div_side_bar.style.color = 'black';
$('#boardname').first().after(div_side_bar);
var div_data = document.createElement("div");
div_data.id = 'postSearchList'
div_data.style.cssText = 'text-align:center; display: none;position: fixed;height: 85%;width: 710px;right: 0px;top: 140px;z-index: 9999;';
var div_data_inner = document.createElement("div");
div_data_inner.id = 'postSearchListInner'
div_data_inner.style.cssText = 'padding: 10px; display: block;overflow: hidden;height: inherit;border-radius: 8px;box-shadow: rgba(106, 115, 133, 0.219608) 0px 6px 12px 0px;border: 1px solid black ;background-color: white;overflow: auto; white-space: nowrap;';
var div_data_text = document.createElement("div");
div_data_text.id = 'postSearchListText'
div_data_text.style.cssText = 'box-sizing: border-box;';
var div_data_input = document.createElement("input");
div_data_input.id = 'postSearchInput'
div_data_input.type = 'text'
div_data_input.size = '10'
var div_data_search_btn = document.createElement("input");
div_data_search_btn.id = 'postSearchStart'
div_data_search_btn.type = 'button'
div_data_search_btn.style.cssText = 'margin: 10px 0px 20px 10px;';
div_data_search_btn.value = '搜索'
div_data.append(div_data_inner);
div_data_inner.append(div_data_input);
div_data_inner.append(div_data_search_btn);
div_data_inner.append(div_data_text);
document.body.appendChild(div_data);
}
}
function addGlobalStyle(node, styleParams) {
var styleStr = JSON.stringify(styleParams);
var styleF = styleStr.replace(/"([^"]*)"/g, "$1").replace(/[,]/g, ' !important;').replace('}', ' !important}');
var css = node + styleF;
// console.log(css);
var head = document.getElementsByTagName('head')[0];
if (!head) { return; }
var style = document.createElement('style');
style.type = 'text/css';
style.innerHTML = css;
head.appendChild(style);
}
function changeImgBg(imgId) {
var styleStr = JSON.stringify(styleParams)
var styleParams = {
"background-image": "url(img/grzx/" + imgId + ".png)",
"background-size": "100%",
"background-position": "0 0"
}
addGlobalStyle('.image' + imgId, styleParams);
}
function getPageParams(key, url) {
var str = '';
if (typeof (url) == "undefined") {
var search = window.location.search;
str = search.substring(1, search.length);
} else {
str = url.split("?")[1];
}
let arr = str.split("&");
let obj = new Object();
for (let i = 0; i < arr.length; i++) {
let tmp_arr = arr[i].split("=");
if (tmp_arr[0] == "keyword") {
obj[tmp_arr[0]] = tmp_arr[1];
} else {
obj[decodeURIComponent(tmp_arr[0])] = decodeURIComponent(tmp_arr[1]);
}
}
return obj[key];
}
function initStyle() {
Style.init();
if (IS_BOARD) {
Style.board();
} else if (IS_POST) {
Style.page();
Style.idCount();
Style.postSearch();
} else if (IS_SEARCH) {
Style.search();
} else if (IS_FILTER) {
Style.board();
Style.filter();
} else {
Style.removeAD();
}
}
$(function () {
initStyle()
var initNodes = {
board() {
$('#subidform_submit').find('button').eq(0).text("屏蔽设置");
let nodes = $('#msglist').children().children().toArray();
if (IS_NEWPOST){
nodes = $('body').find('table').eq(2).children().children().toArray();
}
let blockPosts = localStorage.BlockPosts || '';
let blockUsers = localStorage.BlockUsers || '';
nodes.shift();
for (let node of nodes) {
let reportNode = $(node).find('td').eq(1);
let titleNode = $(node).find('td').eq(3);
let authorNode = $(node).find('td').eq(4);
let title = titleNode[0].innerText;
let url = $(titleNode).children().attr('href');
if (url == undefined) {
url = $(titleNode).children().eq(1).attr('href');
}
let id = getPageParams('id', url);
let authorName = $.trim($(authorNode).text())
$(reportNode).children().remove();
$(reportNode).append(`<a class="board-bam" id="${id}" board="${BOARD_ID}" data="${title}" href="javascript:void(0);" style = "font-size:14px">屏蔽</a>`);
$(reportNode).append(`<a class="board-report" href="javascript:;" onclick="userreportshow(${id}, 0, 0, ${BOARD_ID})" style = "font-size:14px">举报</a>`);
$(authorNode).html("");
$(authorNode).append(`<a class="board-author" href="https://bbs.jjwxc.net/search.php?act=search&board=${BOARD_ID}&keyword=${authorName}&topic=4" target="_blank"> ${authorName}</font></a>`);
if (blockPosts !== '') {
var blockPostsJs = JSON.parse(blockPosts);
if (blockPostsJs.hasOwnProperty(id)) {
$(node).remove();
console.log("已隐藏帖子 " + title);
}
}
if (blockUsers !== '') {
var blockUsersJs = JSON.parse(blockUsers);
if (blockUsersJs.indexOf(authorName) != -1) {
$(node).remove();
console.log("已隐藏 " + authorName + " 发的帖子 " + title);
}
}
}
},
page(start) {
var lzIdenti = $('.authorname').eq(0).find('font').eq(2).text();
console.log("楼主 " + lzIdenti);
let title = $('#msgsubject').text().split("主题:")[1]
let blockUsers = localStorage.BlockUsers || '';
$('.authorname').each(function (index, node) {
if (index < start) {
return true;
}
var isNormalFloor = start == 0;
console.log("isNormalFloor = " + isNormalFloor);
var starNode;
if (isNormalFloor) {
starNode = $(node).find('font').eq(-2);
} else {
starNode = $(node).find('font').eq(-1);
}
$(starNode).text(" " + $(starNode).text().split("来自")[1]);
var replyIdNode;
var replyNameNode;
var replyName;
if (index == 0) {
var lzAuthornameNode = $('.authorname').eq(0);
replyIdNode = $(node).children().children().eq(2);
$(node).find('a').eq(0).after(`<a class="board-bam" id="${POST_ID}" board="${BOARD_ID}" data="${title}" href="javascript:void(0);" style = "font-size:14px; margin-left:8px">屏蔽该帖</a>`);
replyNameNode = $(replyIdNode).parent().contents()
.filter(function () {
return this.nodeType == Node.TEXT_NODE;
});
} else {
replyIdNode = $(node).children().eq(2);
replyNameNode = $(node).contents()
.filter(function () {
return this.nodeType == Node.TEXT_NODE;
});
}
if (index == 0) {
replyName = replyNameNode[0].wholeText.split("|")[0];
replyNameNode[1].replaceData(0, replyNameNode[1].length, replyNameNode[1].wholeText.split("留言")[0]);
$(replyNameNode)[0].remove();
} else if (!isNormalFloor) {
replyName = replyNameNode[2].wholeText.split("|")[0];
replyNameNode[3].replaceData(0, replyNameNode[3].length, replyNameNode[3].wholeText.split("留言")[0]);
$(replyNameNode)[2].remove();
} else {
replyName = replyNameNode[1].wholeText.split("|")[0];
replyNameNode[2].replaceData(0, replyNameNode[2].length, replyNameNode[2].wholeText.split("留言")[0]);
$(replyNameNode)[1].remove();
}
var displayName;
if ($(replyIdNode).text() == lzIdenti) {
displayName = "[楼主]" + replyName;
$(replyIdNode).prev().after(`<a class="page-reply" id="replyName_${replyName}" href="https://bbs.jjwxc.net/search.php?act=search&board=${BOARD_ID}&keyword=${replyName}&topic=4" target="_blank" style="text-decoration: underline; text-underline-offset: 4px;">${displayName}</a>`);
} else {
displayName = replyName;
$(replyIdNode).prev().after(`<a class="page-reply" id="replyName_${replyName}" href="https://bbs.jjwxc.net/search.php?act=search&board=${BOARD_ID}&keyword=${replyName}&topic=4" target="_blank">${displayName}</a>`);
}
if (index == 0) {
// $(".board-bam").after(`<a class="board-bam-user-temp" data="${replyName}" href="javascript:void(0);" style = "font-size:14px; margin-left:8px">隐藏TA</a>`);
// $(".board-bam").after(`<a class="board-bam-user" data="${replyName}" href="javascript:void(0);" style = "font-size:14px; margin-left:8px">屏蔽TA</a>`);
} else {
// $(node).next().prepend(`<a class="board-bam-user-temp" data="${replyName}" href="javascript:void(0);" style = "font-size:14px; margin-left:8px">隐藏TA</a>`);
// $(node).next().prepend(`<a class="board-bam-user" data="${replyName}" href="javascript:void(0);" style = "font-size:14px; margin-left:8px">屏蔽TA</a>`);
var authertParentNode = $(node).parent();
var buttonParentNode;
if (isNormalFloor) {
buttonParentNode = authertParentNode.next();
} else {
buttonParentNode = $(node).parent().clone();
authertParentNode.after(buttonParentNode);
authertParentNode.children().eq(1).remove();
buttonParentNode.children().eq(0).remove();
buttonParentNode.children().eq(0).attr("style", "text-align:right")
}
buttonParentNode.children().eq(0).append(`<a class="board-only-show-user" data="${replyName}" href="javascript:void(0);" style = "font-size:14px; margin-left:0px">只看TA</a>`);
}
if (blockUsers !== '') {
var blockUsersJs = JSON.parse(blockUsers);
if (blockUsersJs.indexOf(replyName) != -1) {
$(node).parent().prev().remove();
$(node).parent().prev().remove();
$(node).parent().next().remove();
$(node).parent().remove();
console.log("已屏蔽 " + replyName + " 的楼层 " + index);
}
}
})
page_count = $('.authorname').length
},
filter() {
let oldTab = document.querySelector("body > center > b");
$(oldTab).attr("class", "filter-bam-keyword");
$(oldTab).attr("style", "font-size:20px");
// $(oldTab).after(`<b class="filter-bam-user">屏蔽用户设置</b>`);
$(oldTab).after(`<b class="filter-bam-post">屏蔽帖子设置</b>`);
}
}
var Event = {
addBlockPost(node) {
let id = $(node).attr('id')
let title = $(node).attr('data').split("[2]")[0]
let board = $(node).attr('board')
console.log($('#boardtr_' + id).length)
if (IS_NEWPOST){
$(node).parent().parent().parent().parent().parent().parent().remove();
} else {
$('#boardtr_' + id).remove();
}
let arr = localStorage.getItem('BlockPosts') ? JSON.parse(localStorage.getItem('BlockPosts')) : {};
arr[id] = [board, title]
localStorage.setItem('BlockPosts', JSON.stringify(arr));
},
onlyShowUser(node) {
let name = $(node).attr('data')
let newNode = $(".page-reply:not(#replyName_" + name + ")");
$(newNode).parent().parent().prev().remove();
$(newNode).parent().parent().prev().remove();
$(newNode).parent().parent().next().remove();
$(newNode).parent().parent().next().remove();
$(newNode).parent().parent().remove();
},
addBlockUserTemp(node) {
let name = $(node).attr('data')
let newNode = $('#replyName_' + name);
$(newNode).parent().parent().prev().remove();
$(newNode).parent().parent().prev().remove();
$(newNode).parent().parent().next().remove();
$(newNode).parent().parent().next().remove();
$(newNode).parent().parent().remove();
},
addBlockUser(node) {
let name = $(node).attr('data')
Event.addBlockUserTemp(node);
let arr = localStorage.getItem('BlockUsers') ? JSON.parse(localStorage.getItem('BlockUsers')) : [];
if (arr.indexOf(name) == -1) {
arr.unshift(name)
localStorage.setItem('BlockUsers', JSON.stringify(arr));
}
},
showBlockUser(node) {
$(node).attr("style", "font-size:20px");
$(node).siblings().attr("style", "font-size:16px");
let arr = localStorage.getItem('BlockUsers') ? JSON.parse(localStorage.getItem('BlockUsers')) : [];
console.log(arr);
$("table").eq(1).attr("style", "visibility:hidden");
let blockTable = $("table").eq(2).children().toArray()[0]
$(blockTable).parent().next().attr("style", "visibility:hidden");
let tips = $(blockTable).parent().next().next().next().find('tr').eq(0)
tips.html(`<td>温馨提示:<br>1、在帖子的楼层中点“屏蔽TA”的用户名会被添加到该列表,刷新仍旧有效。<br>2、而帖子的楼层中点“隐藏TA”只临时隐藏当前贴中该用户的回复楼层,刷新失效。<br>3、列表中的用户,会屏蔽该用户名所发的帖子,并屏蔽帖子中该用户名回复的楼层<br><br></td>`)
let blockTrs = $(blockTable).children().toArray()
let tableTab = '<tr align="center" id="filtertablehead">' +
'<td style="font-weight: 700;width: 70%">屏蔽用户名</td>' +
'<td style="font-weight: 700;width: 30%">操作</td>' +
'</tr>'
for (let blockTr of blockTrs) {
blockTr.remove()
}
$(blockTable).append($(tableTab))
if (arr.length != 0) {
let html =''
for(let userName of arr){
html += '<tr align="center" id="' + userName + '">' +
' <td style="width: 70%"><a href="https://bbs.jjwxc.net/search.php?act=search&board=2&keyword='+ userName + '&topic=4" target="_blank">' + userName + '</a></td>' +
' <td style="width: 30%"><button class="filter-bam-user-del" data="' + userName + '">解除屏蔽</button></td>' +
'</tr>'
}
$(blockTable).append($(html))
}
},
showBlockPost(node) {
$(node).attr("style", "font-size:20px");
$(node).siblings().attr("style", "font-size:16px");
let arr = localStorage.getItem('BlockPosts') ? JSON.parse(localStorage.getItem('BlockPosts')) : {};
console.log(arr);
let tableIndex = 2
if (pathname.indexOf('filterword') >= 0) {
tableIndex = 3
$("table").eq(tableIndex - 2).attr("style", "display:none");
}
$("table").eq(tableIndex - 1).attr("style", "display:none");
let blockTable = $("table").eq(tableIndex).children().toArray()[0]
$(blockTable).parent().next().attr("style", "visibility:hidden");
let tips = $(blockTable).parent().next().next().next().find('tr').eq(0)
tips.html(`<td>温馨提示:<br>在主页点击“屏蔽”和帖子首楼点击“屏蔽此贴”的帖子会被添加到该列表,刷新仍旧有效。<br><br></td>`)
let blockTrs = $(blockTable).children().toArray()
let tableTab = '<tr align="center" id="filtertablehead">' +
'<td style="font-weight: 700;width: 20%">帖子ID</td>' +
'<td style="font-weight: 700;width: 70%">帖子标题</td>' +
'<td style="font-weight: 700;width: 10%">操作</td>' +
'</tr>'
for (let blockTr of blockTrs) {
blockTr.remove()
}
$(blockTable).append($(tableTab))
if (arr.length != 0) {
let html =''
for(let postId in arr){
let boardId = arr[postId][0]
let postTitle = arr[postId][1]
html = '<tr align="center" id="' + postId + '">' +
'<td style="width: 20%">' + postId + '</td>' +
'<td style="width: 70%"><a href="https://bbs.jjwxc.net/showmsg.php?board=' +boardId + '&id=' + postId + '" target="_blank">' + postTitle + '</a></td>' +
'<td style="width: 10%"><button class="filter-bam-post-del" data="' + postId + '">解除</button></td>' +
'</tr>' + html
}
$(blockTable).append($(html))
}
},
delBlockUser(node) {
let name = $(node).attr('data')
let arr = localStorage.getItem('BlockUsers') ? JSON.parse(localStorage.getItem('BlockUsers')) : [];
for(let i=0;i<arr.length;i++){
if(arr[i] == name){
arr.splice(i,1)
localStorage.setItem('BlockUsers', JSON.stringify(arr));
$(node).parent().parent().remove()
}
}
},
delBlockPost(node) {
let postId = $(node).attr('data')
let arr = localStorage.getItem('BlockPosts') ? JSON.parse(localStorage.getItem('BlockPosts')) : {};
delete arr[postId];
localStorage.setItem('BlockPosts', JSON.stringify(arr));
$(node).parent().parent().remove()
},
switchSkin() {
// 0是white 1是black
var oldTheme = Boolean(Number(localStorage.getItem('themeJJ') == null ? 0 : localStorage.getItem('themeJJ')));
var newTheme = Number(!oldTheme);
localStorage.setItem('themeJJ', newTheme);
location.reload();
},
countID() {
// ID统计
if ($("#countIDButton").text() == "ID统计") {
if (dataSortIndex.length != 0){
countIDListFinish()
} else {
getReplyList(0, 1)
}
} else {
$("#countIDList").hide();
$("#countIDButton").text('ID统计');
$("#countIDButton").css('color', 'black');
}
},
postSearch() {
// 帖内搜索
if ($("#postSearchButton").text() == "贴内搜索") {
if (reply_all.length != 0){
getReplyListFinish()
} else {
getReplyList(0, 2)
}
} else {
$("#postSearchList").hide();
$("#postSearchButton").text('贴内搜索');
$("#postSearchButton").css('color', 'black');
}
},
filterPost() {
// 搜索过滤
var searchKey = document.getElementById("postSearchInput").value
var content = document.getElementById("postSearchListText")
var values = replyStrBody.split(searchKey);
content.innerHTML = values.join('<span style="background:yellow;">' + searchKey + '</span>');
var FloatReplyArr = $('.FloatReplyBody');
var searchResultNum = 0
for(let item of FloatReplyArr){
if(item.innerHTML.search(searchKey) == -1){
$(item).parent().css('visibility', 'collapse')
} else {
$(item).parent().css('visibility', 'visible')
searchResultNum += 1
}
}
var titleStr = `搜索完毕 共${searchResultNum}层提及`
$('#tableTitle').text(titleStr)
},
eventRegister() {
$(document).on('click', '#countIDButton', function () {
Event.countID(this);
})
$(document).on('click', '#postSearchButton', function () {
Event.postSearch(this);
})
$(document).on('click', '#postSearchStart', function () {
Event.filterPost(this);
})
$(document).on('click', '.themeButton', function () {
Event.switchSkin(this);
})
$(document).on('click', '.board-bam', function () {
Event.addBlockPost(this);
})
$(document).on('click', '.board-only-show-user', function () {
Event.onlyShowUser(this);
})
$(document).on('click', '.board-bam-user-temp', function () {
Event.addBlockUserTemp(this);
})
$(document).on('click', '.board-bam-user', function () {
Event.addBlockUser(this);
})
$(document).on('click', '.filter-bam-keyword', function () {
location = 'https://bbs.jjwxc.net/filterword.php'
})
$(document).on('click', '.filter-bam-user', function () {
Event.showBlockUser(this);
})
$(document).on('click', '.filter-bam-post', function () {
Event.showBlockPost(this);
})
$(document).on('click', '.filter-bam-user-del', function () {
Event.delBlockUser(this);
})
$(document).on('click', '.filter-bam-post-del', function () {
Event.delBlockPost(this);
})
}
}
function initPages(start) {
if (IS_BOARD) {
initNodes.board()
Event.eventRegister()
} else if (IS_POST) {
initNodes.page(start);
Event.eventRegister()
} else if (IS_FILTER) {
initNodes.filter();
Event.eventRegister()
}
}
initPages(page_count);
function countIDListFinish() {
var strBody = ''
var floorNum = 0
dataSortIndex.forEach((key, index) =>{
floorNum += id_all[key].num
strBody += `<tr><td style="text-align: center;">NO.${index + 1}</td>
<td style="text-align: center;">${key}</td>
<td style="text-align: center;">${id_all[key].name}</td>
<td style="text-align: center;">${id_all[key].num}</td></tr>`
})
var str =
`<table style="background-color: #999933;">
<caption style="font-size: large;font-weight: bold;">共${dataSortIndex.length}个ID ${floorNum}层楼</caption>` +
`<tr><td style="text-align: center;">序号</td>
<td style="text-align: center;">ID</td>
<td style="text-align: center;">昵称</td>
<td style="text-align: center;">楼层</td></tr>` +
strBody + "</table>";
$("#countIDListText").html(str);
$("#countIDList").show();
$("#countIDButton").text('隐藏窗口');
$("#countIDButton").css('color', '#ff8e29');
}
function getReplyListFinish() {
var strBody = ''
reply_all.forEach((value) =>{
strBody += `<tr style="vertical-align:top"><td style="text-align:center;">${value.floor}</td>
<td class="FloatReplyBody" style="text-align:center;width: 120px;white-space:pre-line;">${value.author}</td>
<td class="FloatReplyBody" style="text-align:left;white-space: pre-line;word-break: break-word;">${value.replybody}</td></tr>`
})
var str =
`<table style="background-color: #999933;">
<caption id="tableTitle" style="font-size:large;font-weight:bold;">初始化完毕 本帖共${reply_all.length}层楼</caption>` +
`<tr><td style="text-align: center;">楼层</td>
<td style="text-align:center;">昵称</td>
<td style="text-align:center;">回复内容</td></tr>` +
strBody + "</table>";
$("#postSearchListText").html(str);
var tableImgArr = $('#postSearchListText').find('img')
for(let item of tableImgArr){
$(item).css("max-height","150px")
$(item).css("max-width","140px")
}
replyStrBody = $("#postSearchListText").html();
$("#postSearchList").show();
$("#postSearchButton").text('隐藏窗口');
$("#postSearchButton").css('color', '#ff8e29');
}
function getReplyList(page=0, fun) {
$.ajax({
type: 'POST',
url: "https://bbs.jjwxc.net/frameindex.php?c=showMsg&action=showMoreReply",
headers: {
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
'Accept': 'application/json'
},
data: {
'board': BOARD_ID,
'id': POST_ID,
'page': page
},
async:true,
success: function (response) {
var result = JSON.parse(response);
console.log("=======getReplyList=======" + (page + 1))
switch (fun) {
case 1: {
countIDList(result, page)
break
}
case 2: {
postSearchList(result, page)
break
}
}
},
error: function (err) {
console.log("错误 " + err);
}
});
}
function countIDList(result, page){
$("#countIDButton").text('第' + (page + 1) + '页');
if (result.data.replies.length != 0) {
var dataList = result.data.replies
if(dataList instanceof Object){
Object.keys(dataList).forEach((key) =>{
getOutputList(dataList[key])
})
} else {
dataList.forEach((value) =>{
getOutputList(value)
})
}
getReplyList(page + 1, 1)
} else {
dataSortIndex = Object.keys(id_all).sort(function(a,b){ return id_all[b].num-id_all[a].num;});
countIDListFinish()
}
}
function postSearchList(result, page){
$("#postSearchButton").text('第' + (page + 1) + '页');
if (result.data.replies.length != 0) {
var dataList = result.data.replies
if(dataList instanceof Object){
Object.keys(dataList).forEach((key) =>{
reply_all = reply_all.concat(dataList[key])
})
} else {
reply_all = reply_all.concat(dataList)
}
getReplyList(page + 1, 2)
} else {
getReplyListFinish()
}
}
function getOutputList(value) {
var id = value.readerIdenti.split(">")[1].split("<")[0];
if (id_all[id] != undefined) {
id_all[id].num = id_all[id].num + 1;
if (id_all[id].name.search("\\*") != -1 && value.author.search("\\*") == -1) {
id_all[id].name = value.author;
}
} else {
id_all[id] = { name: value.author, num: 1 };
}
}
$('#showmore_button').click(function() {
setTimeout(function () {
initPages(page_count);
if ($('#showmore_button').length == 0) {
let newPage = Number(PAGE) + 1;
if (isNaN(newPage)) {
newPage = 1;
}
let newPageHref = "?board=" + BOARD_ID +"&id=" + POST_ID + "&page=" + newPage;
$('#pager_top').append(`<a href="${newPageHref}">${newPage + 1}</a>`);
$('#pager_bottom').append(`<a href="${newPageHref}">${newPage + 1}</a>`);
}
},2000)
});
})
})(jQuery);