idea中摸鱼插件_上班防摸鱼插件(知乎页面)

上班防摸鱼JS插件:知乎页面管控
作者写了一个仅在知乎页面有效的JS防摸鱼插件。启动后,知乎标题会改成“摸鱼中”,背景换成咸鱼,且每隔一分钟背景变透明。10分钟后页面提示并发送钉钉报警,20分钟后页面报警、关闭并禁止2小时内再次访问,文中给出了插件代码。

前言

最近突发奇想,写了一个js插件,用来防止上班摸鱼,插件仅知乎页面有效,别做的太绝。。。

启动该插件后,打开知乎页面,标题会改成 “摸鱼中。。。” ,背景被替换成咸鱼。每隔一分钟,背景就会变的透明一下。

10分钟后,页面提示同时发送钉钉机器人报警。20分钟后,页面报警同时发送机器人报警并主动关闭知乎页面。同时2小时内禁止再次访问知乎页面。效果和代码如下。

// ==UserScript==

// @name 上班防摸鱼插件

// @namespace http://tampermonkey.net/

// @version 0.1

// @description 上班防摸鱼,自动关闭知乎页面,发送钉钉机器人报警。

// @author 大话家

// @include *://*.zhihu.com/*

// @require https://cdn.bootcss.com/jquery/1.11.1/jquery.min.js

// @require https://res.layui.com/layui/release/layer/dist/layer.js?v=3111

// @require http://pv.sohu.com/cityjson?ie=utf-8

// ==/UserScript==

(function() {

'use strict';

// 背景透明值

var opacityNum = 1.0;

// 页面打开的时间

var startTime = dateFormat("YYYY年MM月dd日 HH时mm分ss秒", new Date());

// 主机IP

var ip = returnCitySN.cip;

// 员工唯一标识

var userId = 360945;

var flag = localStorage.getItem("flag");

if(flag == "" || flag == undefined){

flag = 0;

localStorage.setItem("flag",1);

}

if(flag == 2){

var banTime = localStorage.getItem("banTime");

// 2小时后可解封

if(Date.now() - banTime > 2*60*60*1000){

localStorage.setItem("flag",0);

}else{

// 关闭页面

window.opener = null;

window.open('','_self');

window.close();

}

}

// 设置摸鱼壁纸

document.body.style.background = "url('https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=1272729702,676992708&fm=26&gp=0.jpg')";

// 设置摸鱼标题

setTimeout(function(){

document.title = '摸鱼中。。。';

}, 3*1000);

// 摸鱼过程中,每一分钟背景逐渐透明

setInterval(function(){

$("body").css({ opacity: opacityNum });

opacityNum = opacityNum -0.04;

}, 60*1000);

// 10分钟内,页面警告;20分钟内强制退出!

setInterval(function(){

if(flag == 0){

layer.msg("你已摸鱼10分钟,请注意用时!n上班要专心!", { icon: 7, time: 10000 });

localStorage.setItem("flag", 1);

var dingMsg1 = "提示:"+userId+"("+ip+")用户从"+startTime+"开始摸鱼10分钟,上班要认真!";

$.ajax({

url:'https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxxx',

type:"POST",

async: false,

beforeSend:function (xhr){

xhr.setRequestHeader('Content-Type', 'application/json,application/x-www-form-urlencoded');

},

data:JSON.stringify({"msgtype": "text","text": {"content": dingMsg1}}),

success:function (res){

console.log(res);

},

error:function (err){

console.log(err);

}

});

// 强制退出

}else{

layer.msg("你已摸鱼20分钟,您将禁止访问知乎页面2小时!", { icon: 7, time: 10000 });

localStorage.setItem("flag", 2);

var dingMsg2 = "提示:"+userId+"("+ip+")用户从"+startTime+"开始摸鱼20分钟!插件将屏蔽该用户访问知乎页面2小时。";

$.ajax({

url:'https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxxxxx',

type:"POST",

async: false,

beforeSend:function (xhr){

xhr.setRequestHeader('Content-Type', 'application/json,application/x-www-form-urlencoded');

},

data:JSON.stringify({"msgtype": "text","text": {"content": dingMsg2}}),

success:function (res){

console.log(res);

},

error:function (err){

console.log(err);

}

});

localStorage.setItem("banTime", Date.now());

setTimeout(function(){

window.opener = null;

window.open('','_self');

window.close();

}, 12*1000);

}

}, 10*60*1000);

// 获取格式化时间

function dateFormat(fmt, date) {

let ret;

const opt = {

"Y+": date.getFullYear().toString(), // 年

"M+": (date.getMonth() + 1).toString(), // 月

"d+": date.getDate().toString(), // 日

"H+": date.getHours().toString(), // 时

"m+": date.getMinutes().toString(), // 分

"s+": date.getSeconds().toString() // 秒

// 有其他格式化字符需求可以继续添加,必须转化成字符串

};

for (let k in opt) {

ret = new RegExp("(" + k + ")").exec(fmt);

if (ret) {

fmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0")))

};

};

return fmt;

}

})();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值