// ==UserScript==
// @name 富聊审核后台优化脚本测试版
// @namespace http://tampermonkey.net/
// @version 1.1
// @description try to make bteeer the fuliao!
// @author yinchengnuo
// @match http://*/*
// @grant none
// ==/UserScript==
/* jshint -W097 */
(function ($) {
//创建自动刷新器及其相关事件函数
const $refresherInsert = () => {
$(
'<div class="refresh" title="鼠标右键查看帮助" style="width: 70px; height: 17px; overflow: hidden; position: fixed; right: 0px; top: 0px; border: 1px solid black; border-radius: 8px; opacity: 0.5;"><button class="refresherLeft" style="font-size: 10px; box-sizing: border-box; width: 24px; height: 17px; padding: 0px; float: left; cursor: pointer;">ON</button><input class="refresherCenter" maxlength="3" placeholder = "秒" type="text" style="box-sizing: border-box; width: 22px; height: 17px; text-align: center; float: left; font-size: 10px;"></input><button class="refresherRight" style="font-size: 10px; box-sizing: border-box; width: 24px; height: 17px; padding: 0px; float: left; cursor: pointer;">OFF</button></div>'
).appendTo("body");
const showTime = $(".refresherCenter");
let timer;
//定义自动刷新器点击事件
$(".refresh").on("click", "button", function () {
//自动刷新器手动启动
if (this.className === "refresherLeft") {
clearInterval(timer);
const time = parseInt(showTime.val());
if (time && time >= 10) {
document.cookie = `time=${time};`;
let value = time;
timer = setInterval(() => {
value--;
showTime.val(value);
if (value === 0) {
location.reload();
}
}, 1000);
} else {
alert("请输入大于等于10的纯数字");
showTime.val("20");
}
//自动刷新器手动结束
} else if (this.className === "refresherRight") {
clearInterval(timer);
showTime.val("");
document.cookie = "time=0;";
}
});
$(".refresh").on("contextmenu", () => {
alert(
" 1 当前自动刷新器可在富聊后台审核系统的部分页面上使用,设定一个不小于10的数字作为自动刷新间隔。不建议过大。设定时间之后点击ON按钮,开始进入自动刷新模式。自动刷新器上面显示的数字就是距离下次页面刷新的时间。点击OFF按钮终止自动刷新。如果当前浏览器打开了多个页面都在使用当前自动刷新器,则对一个页面的刷新间隔修改会影响所有正在使用当前定时刷新器的刷新间隔。(既如果点击了某一个正在运行自的自动刷新器的OFF按钮,则所有正在使用当前定时刷新器的页面会在当前时间间隔结束时退出自动刷新模式。)\n 2 当前自动刷新器的存在主要是为了配合在常规和文字类部分模块审核时增加的进审提醒功能。当设定了固定的自动刷新时间,页面刷新后,如果有新的内容进审则当前选项卡的title会一直闪烁显示进审,提示当前页面有新内容进审。同时自动刷新不会停止。当点击了正在闪烁提醒的选项卡时,自动刷新自动停止,只有当当前进审内容提交之后,自动刷新模式才会重新开启,时间为之前设置的时间间隔。设置了进审提醒的模块有所有常规, 封面审核,私聊广告消息,敏感词报警处理。\n 3 在使用进审提醒时,一些有下级的模块(如头像审核中有“已认证”和“其他”两个下级模块), 应当将这些下级模块都在浏览器的新选项卡打开,(视频介绍和敏感词报警的各四个下级模块也不例外),否则会影响提醒效果!"
);
return false;
});
//自动刷新器自动启动
if (document.cookie.match(/time=\d+/g)) {
const time = parseInt(
document.cookie.match(/time=\d+/g)[0].match(/\d+/g)[0]
);
let value = time;
timer = setInterval(() => {
value--;
showTime.val(value);
if (value === 0) {
location.reload();
}
}, 1000);
}
};
//进审提醒功能
const attention = () => {
const title = $("title").html();
let i = 0;
setInterval(function () {
if (i % 2 == 0) {
$("title").html(title);
} else {
$("title").html("进审");
}
i++;
if (document.hidden === false) {
clearInterval(timer);
}
}, 500);
};
//图片尺寸设置函数(是否浮动)
const setSize = (width, bool) => {
var bite = 1.8;
$("img").filter(function (i, e) {
if (e.width > 100) {
e.style.width = width + "px";
e.style.height = width * bite + "px";
if (bool) {
//鼠标移入移出显示隐藏图片
$(e).hover(
function (e) {
$(`<img style="border: 6px solid #fff;" class="float" src='${e.target.src} +"></img>`).css({
position: "absolute",
width: "250px"
})
.appendTo("body");
},
function () {
$(".float").remove();
}
);
//图片跟着鼠标移动同时根据鼠标位置设定图片相对于鼠标的位置
con
$(e).mousemove(function (e) {
if (e.pageX <= 1150 && e.pageY <= 435) {
$(".float").css({
left: e.pageX + 15 + "px",
top: e.pageY + 15 + "px"
});
} else if (e.pageX > 1150 && e.pageY <= 435) {
$(".float").css({
left: e.pageX - 250 - 15 + "px",
top: e.pageY + 15 + "px"
});
} else if (e.pageX <= 1150 && e.pageY > 435) {
$(".float").css({
left: e.pageX + 15 + "px",
top: e.pageY - 350 - 15 + "px"
});
} else if (e.pageX > 1150 && e.pageY > 435) {
$(".float").css({
left: e.pageX - 250 - 15 + "px",
top: e.pageY - 350 - 15 + "px"
});
}
});
}
} else {
e.style.float = "right";
e.style.width = "10x";
}
});
}
//文档加载完毕后开始优化
document.onreadystatechange = () => {
if (document.readyState == "complete") {
if (
location.href.match(/userHeadPicAction!userHeadCheckWomanRenzhen/g) ||
location.href.match(/userHeadPicAction!userHeadCheckAll/g) ||
location.href.match(/auditUserAciton!photoNoneblogindex/g) ||
location.href.match(/groupChatPicAction!listUntreated/g) ||
location.href.match(/groupAction!auditindex/g) ||
location.href.match(/videoFile!videoFileAuditList/g) ||
location.href.match(/userFilterwordAction!index/g) ||
location.href.match(/videoLivePic!liveAutoReviewList/g)
) {
//头像,随拍,群聊,群,敏感词报警,自动处罚复审进审提示
if ($("img").length > 2) {
attention();
}
} else if (location.href.match(/videoLivePic!getHotLiveVideoList/g)) {
//封面进审提示
if ($("img").length > 0) {
attention();
}
} else if (location.href.match(/smallVideoAudit!getAuditList/g)) {
//小视频进审提示
if ($(".box").length > 0) {
attention();
}
} else if (location.href.match(/imMsgAction!toAuditList/g)) {
//私聊广告消息进审提示
setTimeout(() => {
if (
$(".pag")[0].offsetHeight > 51 ||
$(".pag")[1].offsetHeight > 51 ||
$(".pag")[2].offsetHeight > 51
) {
attention();
$(".content_div input:button").click(() => {
setTimeout(() => {
location.reload();
}, 500);
});
}
}, 500);
} else if (location.href.match(/picture.audit/g)) {
//公共图片进审提醒及相关键盘事件改变
$(".btn.border").first().click();
if ($("img").length > 2) {
attention();
}
const refresh = () => {
$(".layui-layer").find('a:contains("确定")').click(function () {
location.reload();
});
$(document).on('keydown', function (e) {
if (e.code === 'Space') {
$(".layui-layer").find('a:contains("确定")').click();
}
})
}
$("#submitBut").click(function () {
refresh();
});
$(document).on('keydown', function (e) {
if (e.code === "Enter" || e.code === "NumpadEnter") {
refresh();
}
});
} else if (location.href.match(/userFilterwordAction!getnewfilterSecKillList/g)) {
//敏感词秒杀模块
$('<div class="t-b" style=" cursor: pointer;width: 50px;height:50px; position: fixed; bottom: 50px; right:0;border-radius: 8px; border: 1px solid black; overflow: hidden;"><button class="toTop" style="color: red; background: #fff;width: 50px; height:25px; padding: 0px; font-size: 14px;">去顶部</button><button class="toBottom" style="color: red; background: #fff;width: 50px; height:25px; padding: 0px; font-size: 14px;">去底部</button></div>').appendTo("body");
$('.toTop').add('.toBottom').hover(function () {
$(this).css({
'background-color': '#ccc'
});
}, function () {
$(this).css({
'background-color': '#fff'
});
});
$('.t-b').on('click', 'button', function () {
if (this.className === 'toTop') {
window.scrollTo(0, 0);
} else {
window.scrollTo(0, 999999999);
}
});
document.oncontextmenu = function () {
return false;
};
const rander = ele => {
$(ele).parent().find(".marked").removeClass("marked").css("background-color", "#f3f3f3");
$(ele).addClass("marked").css("background-color", "#ddd").nextAll().addClass("marked").css("background-color", "#ddd");
}
$("#chatdiv").add("#groupdiv").add("#livediv").on("mousedown", "div", function (e) {
if (e.button == 2) {
rander(this);
}
});
} else if (location.href.match(/videoLiveAuditAction!videoliveScreenAuditList/g)) {
//直播截屏审核
//脚本控制面板写入
$('<div class="mytool"style="float:right; margin: 8px;font-size: 12px;"><span class="how" style="font-size: 8px; color: blue; cursor: pointer; ">如何使用?</span><span style="color:red;">快捷键:Q警告(取消)W下榜(取消)E禁播(取消)R推流 T换一批 </span><span style="font-weight:bold;"> 当前页面停留时间:</span><span class="keepTime" style="color:red; display:inline-block;font-weight:bold;text-align:right;">0</span><span> 秒 </span><span style="font-weight:bold;text-align:right;">刷新次数:</span><span class="refreshTimes" style="color:red;font-weight:bold;">0</span><span> 次 </span><label for="autInput" style="font-weight:bold; cursor: pointer; ">图片尺寸:</label><input id="autInput" type="input" style="width:20px; height:10px; font-size: 12px; cursor: pointer; "><span>(px)</span><label for="picFloat" style="font-weight:bold; cursor: pointer; ">浮动图片效果:</label><input id="picFloat" type="checkbox" style="vertical-align: middle; cursor: pointer; width: 12px; height: 12px;"><label for="dbClick" style="font-weight:bold; cursor: pointer; "> 双击页面换一批:</label><input id="dbClick" type="checkbox" style="vertical-align: middle; cursor: pointer; width: 12px; height: 12px;"></div>').appendTo(".toolbar:last");
////页面计时开始
let keepTime = 0;
setInterval(() => {
$(".keepTime").html(keepTime);
keepTime++;
}, 1000);
//检测cookie
if (
document.cookie.match(/size=\d+/g) && document.cookie.match(/float=\d/g) && document.cookie.match(/db=\d/g) && document.cookie.match(/refreshTimes=\d+/g)) {
const size = parseInt(document.cookie.match(/size=\d+;/g)[0].match(/\d+/g)[0]);
const float = parseInt(document.cookie.match(/float=\d;/g)[0].match(/\d/g)[0]);
const db = parseInt(document.cookie.match(/db=\d;/g)[0].match(/\d/g)[0]);
const refreshTimes = parseInt(document.cookie.match(/refreshTimes=\d+;/g)[0].match(/\d+/g)[0]);
//写入刷新次数
$(".refreshTimes").html(refreshTimes);
//按照cookie参数进行渲染
setSize(size, float);
$("#autInp").val(size);
if (float) {
$("#picFloat").attr("checked", true);
}
if (db) {
$("#dbClick").attr("checked", true);
//双击自动刷新页面
$(document).dblclick(() => {
$(".btn_blue").first().click();
});
}
} else {
//尺寸初始化
document.cookie = "size=131;";
document.cookie = "float=0;";
document.cookie = "db=0;";
document.cookie = "refreshTimes=0;";
$("#autInp").val(131);
setSize(131, 0);
}
//脚本控制面板事件处理
$(".mytool").on("click", "input", function (e) {
$(".mytool").on("click", "input", function (e) {
if (this.id === 'dbClick') {
if ($(this).is(':checked')) {
document.cookie = "db=1;";
} else {
document.cookie = "db=0;";
}
} else if (this.id === 'picFloat') {
if ($(this).is(':checked')) {
document.cookie = "float=1;";
} else {
document.cookie = "float=0;";
}
}
})
});
$(".how").click(function () {
alert(" 1 图片尺寸设置即直播截屏宽度设置,设置不同的宽度会按照图片原有比例对应设置图片高度。有大,中,小和自定义宽度,默认值为小(130px)。可根据个人喜好和电脑屏幕宽高设置,设置自定义宽度须先点击自定义按钮,随后进行设置。设置值为大于等于130小于等于25的纯阿拉伯数字。\n 2 浮动图片效果为设置之后,当鼠标移入到某个直播截屏图片上时,鼠标附近会生成一个宽度为250px,内容为当前鼠标所在图片的图片,并随鼠标移动。当图片移出这张图片,生成的图片消失。默认值为关闭。\n 3 当前脚本对截屏审核界面做了比较大的改动,为了尽可能多的展示图片内容。隐藏掉了 拉黑 推荐 按钮,并且将用户昵称,才艺,PK中,接收方,发起方这些文字信息做了简短处理。但是如果想查看完整的用户昵称信息,只需要将鼠标悬停在经过处理的昵称上就可以了。\n 4 双击页面换一批为,当选中开启后,在页面的任意地方双击会触发 换一批 按钮的单击执行。默认为关闭!\n 以上所有效果均为在当前页面设置,在提交 换一批 之后的所有此页面上生效。关闭当前选项卡之后所有设置的参数会被清空,再次打开请重新设置!\n 5 当鼠标移动到需要处罚的用户时,可以触发快捷键。鼠标移出时失效");
});
$("#autInput").blur(function () {
const value = parseInt(this.value);
if (value < 130) {
document.cookie = "size=130;";
this.value = 130;
alert("设定宽度过小,已经为你设置为130px");
} else if (parseInt(this.value.trim()) > 250) {
document.cookie = "size=250;";
this.value = 250;
alert("设定宽度过大,已经为你设置为250px");
} else if (value >= 130 && value <= 250) {
document.cookie = `size=${value};`;
this.value = value;
} else {
alert("请输入设定宽度");
this.value = size;
}
});
//页面自动滚动
window.scrollTo(0, 72);
//页面内文字不可选
$("body").css("-webkit-user-select", "none");
//修复空白bug,设定单个用户界面最小宽高
$(".showpic").css({
"margin": "0px 1px",
"float": "none",
"display": "inline-block",
"margin-right": "-2px"
}).children("table").css({
"width": "130px",
"margin": "0",
"height": "280px",
"padding": "0px"
});
//隐藏部分按钮,重新定义按钮样式
$("table input:visible").css({
"width": (size || 130) / 3 + "px",
"padding": "0",
"margin": "0",
"float": "left"
}).filter(function (i, e) {
if (e.value == "荐" || e.value == "拉黑" || e.value == "取荐") {
e.style.display = "none";
} else if (e.value == "推流" || e.value == "禁播") {
e.style.width = size / 3 + "px";
e.style.float = "right";
}
});
//隐藏用户名,添加title属性显示用户名
$("tbody tr:nth-child(2) td a").css({
"display": "inline-block",
"width": "" + (size || 130) / 3 - 6 + "px",
"height": "12px",
"line-height": "12px",
"overflow": "hidden",
"white-space": "no-wrap",
"text-overflow": "ellipsis"
}).each(function (i, e) {
$(e).attr("title", $(e).html());
});
$("tbody tr:nth-child(2) td font").each(function (i, e) {
e.style.display = "none";
});
//替换显示文字
$('span').each(function (i, e) {
if (e.innerHTML === '才艺') {
e.innerHTML = '才';
} else if (e.innerHTML === 'PK') {
e.innerHTML = '';
} else if (e.innerHTML === '发起方') {
e.innerHTML = '发';
} else if (e.innerHTML === '接收方') {
e.innerHTML = '接';
}
});
//取消动画
//定义键盘事件
//键盘控制部分
$('.close').hide();
$($('.content_div')[0]).on('mouseover', 'table', function (e) {
this.tabIndex = 0;
this.focus();
var Q = 0;
var W = 0;
var E = 0;
var width = document.body.offsetWidth;
this.style.outline = "blue solid 2px";
this.onkeydown = function (e) {
if (e.code == 'KeyQ') {
if (Q % 2 == 0) {
document.body.onkeydown = null;
$(this).find('.btn_blue').filter(function (i, e) {
if (e.value == '警告') {
$(e).click();
}
});
$('.showbox:animated').stop(true, true);
if (this.offsetLeft + this.offsetWidth + 300 > width) {
$('.showbox:visible')[0].style.left = this.offsetLeft - 300 + 'px';
$('.showbox:visible')[0].style.top = this.offsetTop + 80 + 'px';
} else {
$('.showbox:visible')[0].style.left = this.offsetLeft + this.offsetWidth + 'px';
$('.showbox:visible')[0].style.top = this.offsetTop + 80 + 'px';
}
setTimeout(function () {
document.body.tabIndex = 0;
document.body.onkeydown = function (e) {
if (e.code == 'KeyQ') {
$('.showbox:visible').find('.btn_blue').eq(1).click();
$('.showbox:animated').stop(true, true);
$('.showbox #jg_div').find('h2>span').html('请选择警告的理由');
}
}
}, 1);
var name = $(this).find('a').html();
$('.showbox #jg_div').find('h2>span').html('请选择警告 ' + name.fontcolor('orange') + ' 的理由');
}
Q++;
} else if (e.code == 'KeyW') {
if (Q % 2 == 0) {
document.body.onkeydown = null;
$(this).find('.btn_blue').filter(function (i, e) {
if (e.value == '下榜') {
$(e).click();
}
});
$('.showbox:animated').stop(true, true);
if (this.offsetLeft + this.offsetWidth + 300 > width) {
$('.showbox:visible')[0].style.left = this.offsetLeft - 300 + 'px';
$('.showbox:visible')[0].style.top = this.offsetTop + 80 + 'px';
} else {
$('.showbox:visible')[0].style.left = this.offsetLeft + this.offsetWidth + 'px';
$('.showbox:visible')[0].style.top = this.offsetTop + 80 + 'px';
}
setTimeout(function () {
document.body.tabIndex = 0;
document.body.onkeydown = function (e) {
if (e.code == 'KeyW') {
$('.showbox:visible').find('.btn_blue').eq(1).click();
$('.showbox:animated').stop(true, true);
}
}
}, 1);
var name = $(this).find('a').html();
$('.showbox #xb_div').find('h2>span').html('请选择下榜 ' + name.fontcolor('orange') + ' 的理由');
}
Q++;
} else if (e.code == 'KeyE') {
if (Q % 2 == 0) {
document.body.onkeydown = null;
$(this).find('.btn_blue').filter(function (i, e) {
if (e.value == '禁播') {
$(e).click();
}
});
$('.showbox:animated').stop(true, true);
if (this.offsetLeft + this.offsetWidth + 300 > width) {
$('.showbox:visible')[0].style.left = this.offsetLeft - 300 + 'px';
$('.showbox:visible')[0].style.top = this.offsetTop + 80 + 'px';
} else {
$('.showbox:visible')[0].style.left = this.offsetLeft + this.offsetWidth + 'px';
$('.showbox:visible')[0].style.top = this.offsetTop + 80 + 'px';
}
setTimeout(function () {
document.body.tabIndex = 0;
document.body.onkeydown = function (e) {
if (e.code == 'KeyE') {
$('.showbox:visible').find('.btn_blue').eq(1).click();
$('.showbox:animated').stop(true, true);
}
}
}, 1);
var name = $(this).find('a').html();
$('.showbox #jb_div').find('h2>span').html('请选择禁播 ' + name.fontcolor('orange') + ' 的时长');
}
Q++;
} else if (e.code == 'KeyR') {
$(this).find('.btn_blue').filter(function (i, e) {
if (e.value == '推流') {
$(e).click();
}
});
} else if (e.code == 'KeyT') {
$('.btn_blue').first().click();
}
}
});
$($('.content_div')[0]).on('mouseleave', 'table', function (e) {
this.tabIndex = 9999;
this.blur();
this.style.outline = "none";
this.onkeydown = null;
});
$('.showpic').on('click', 'input', function (e) {
if ($(':animated').length) {
if (this.value == '警告') {
$(':animated').find('h2>span').html('请选择警告的理由');
} else if (this.value == '下榜') {
$(':animated').find('h2>span').html('请选择下榜的理由');
} else if (this.value == '禁播') {
$(':animated').find('h2>span').html('请选择禁播的时长');
}
$(':animated').stop(true, true);
if ($('.showbox:visible')[0]) {
$('.showbox:visible')[0].style.position = 'absolute';
$('.showbox:visible')[0].style.left = '50%';
$('.showbox:visible')[0].style.top = '400px';
}
}
})
$('.showbox td .btn_blue').click(function () {
$(':animated').stop(true, true);
});
//压缩表格各行高度
$(".showpic tbody tr:nth-child(1)").css("height", "190px");
$(".showpic tbody tr:nth-child(2)").css("height", "10px");
$(".showpic tbody tr:nth-child(3)").css("height", "10px");
$(".showpic tbody tr:nth-child(4)").css("height", "10px");
$(".showpic tbody tr td").css("padding", "0px");
//加载提示
$('<div class="loading" style="display: none; width: 300px; height: 40px; background: #f40; border-radius: 8px; opacity: 0.6; color: #fff; position: fixed; left: 50%; top: 50%; margin-left: -150px; margin-top: -20px; line-height: 40px; text-align: center; font-size: 28px;">加载中,请稍后</div>').appendTo("body");
$(".toolbar .btn_blue").first().add('.toolbar .btn_blue:nth-child(1)').click(function () {
$(".loading").css("display", "block");
let i = 0;
setInterval(() => {
if (i % 3 == 0) {
$(".loading").html(". 加载中,请稍后 .");
} else if (i % 3 == 1) {
$(".loading").html(". . 加载中,请稍后 . .");
} else if (i % 3 == 2) {
$(".loading").html(". . . 加载中,请稍后 . . .");
}
i++;
}, 200);
refreshTimes++;
document.cookie = `refreshTimes=${refreshTimes};`;
});
}
}
}
})(window.parent.$);