Diskuse » Creation Requests
// ==UserScript==// @name 南京信息职业技术学院校园网自动登录// @namespace https://bbs.tampermonkey.net.cn/// @version 1.0.0// @icon http://n.njcit.cn/Public/Images/favicon.ico// @description 主要功能:在PCweb端添加手机端认证域;可以设置网页打开没有登录时的自动登录。// @author C选项_沉默// @improver zhangtoutou// @match http://n.njcit.cn/*// @match http://222.192.254.22/*// @run-at document-end// @grant none// ==/UserScript=='use strict';// 新建一个Object用来存储所需要的信息window.autoLogin = { userInfo: { username: '', domain: '', password: '' }, autoLoginSwitch: 0, savePasswordInCookies: 1, panel: undefined, loginStatus: { status: 0 }};// 读取用户名if ($.cookie("sunriseUsername") !== undefined) { window.autoLogin.userInfo.username = $.cookie("sunriseUsername");}// 读取认证域if ($.cookie("sunriseDomain") !== undefined) { window.autoLogin.userInfo.domain = $.cookie("sunriseDomain");}// 读取密码if ($.cookie("autoLoginPassword") !== undefined) { window.autoLogin.userInfo.password = $.cookie("autoLoginPassword");}// 读取开关状态if ($.cookie("autoLoginSwitch") !== undefined) { window.autoLogin.autoLoginSwitch = parseInt($.cookie("autoLoginSwitch"));}// 读取存储位置if ($.cookie("autoLoginsavePasswordInCookies") !== undefined) { window.autoLogin.savePasswordInCookies = parseInt($.cookie("autoLoginsavePasswordInCookies"));}// 刷新当前登录状态window.autoLogin.updateLoginStatus = function() { $.ajax({ type: 'GET', url: initUrl, contentType: "application/x-www-form-urlencoded", dataType: 'json', cache: false, data: {}, error: function(XMLHttpRequest, textStatus, errorThrown) { showResultBox($('#loginResult'), false, '请确保通信正常后刷新页面', 5000); }, success: function(json) { if (window.autoLogin.loginStatus.status !== json.status) { window.autoLogin.loginStatus = json; } if (json.status === 0) { console.log('登录状态:未登录'); window.autoLogin.writeFormAndLogin(); } else if (json.status === 1 && json.info === "用户已登录") { console.log('登录状态:已登录'); window.autoLogin.close(); } } });};// 向DOM中加入认证域与设置页面window.autoLogin.insertHTML = function() { // 添加认证域 $("option").remove(); $("#domain").append( `
freestudent
student-phone
phone
internet
baoyue
qgzxyh
qgzxby` ); // 添加设置按钮 $('div.nav-bar ul').append(`
`); // 添加设置页面 $('div.mLeft').append( `
` );};// 显示或关闭设置面板window.autoLogin.switchSettingPanel = function() { var panels = $('form'); if (panels[4].style.display === 'none') { for (var i = 0; i < panels.length; i++) { if (panels[i].style.display !== 'none') { window.autoLogin.panel = panels[i].id; break; } } $('form#' + window.autoLogin.panel).hide(); $('form#loginFormForAutoLogin').show(); window.autoLogin.updateForm(); } else { $('form#loginFormForAutoLogin').hide(); $('form#' + window.autoLogin.panel).show(); }};// 刷新设置表单window.autoLogin.updateForm = function() { $('#loginFormForAutoLogin #usernameForAutoLogin').val(window.autoLogin.userInfo.username); $('#loginFormForAutoLogin #domainForAutoLogin').val(window.autoLogin.userInfo.domain); $('#loginFormForAutoLogin #passwordForAutoLogin').val(base64decode(window.autoLogin.userInfo.password)); if (window.autoLogin.savePasswordInCookies) { $('.info-right #savePasswordInBrowser').hide(); $('.info-right #savePasswordInCoookies').show(); } else { $('.info-right #savePasswordInCoookies').hide(); $('.info-right #savePasswordInBrowser').show(); } if (window.autoLogin.autoLoginSwitch) { $('.info-left #switchForAutoLoginOff').hide(); $('.info-left #switchForAutoLoginOn').show(); } else { $('.info-left #switchForAutoLoginOn').hide(); $('.info-left #switchForAutoLoginOff').show(); }};// 填写登录表单并登录window.autoLogin.writeFormAndLogin = function() { $('#loginForm #username').val(window.autoLogin.userInfo.username); $('#loginForm #domain').val(window.autoLogin.userInfo.domain); if (window.autoLogin.savePasswordInCookies) { $('#loginForm #password').val(base64decode(window.autoLogin.userInfo.password)); } else if (!$('#loginForm #password').val()) { showResultBox($('#loginResult'), false, '您的浏览器好像没有自动帮您输入密码,若您的浏览器不支持自动表单填写,请移步“自动登录设置”,开启cookies保存密码!'); console.log('登录失败'); return 0; } if (window.autoLogin.autoLoginSwitch) { $("button#login").click(); console.log('已自动登录。'); window.autoLogin.close(); }};// 保存按钮window.autoLogin.saveButton = function() { window.autoLogin.userInfo.username = $.trim($('#loginFormForAutoLogin #usernameForAutoLogin').val()); $.cookie("sunriseUsername", window.autoLogin.userInfo.username, { expires: 365 }); window.autoLogin.userInfo.domain = $('#loginFormForAutoLogin #domainForAutoLogin').val(); $.cookie("sunriseDomain", window.autoLogin.userInfo.domain, { expires: 365 }); $.cookie("autoLoginSwitch", window.autoLogin.autoLoginSwitch, { expires: 365 }); $.cookie("autoLoginsavePasswordInCookies", window.autoLogin.savePasswordInCookies, { expires: 365 }); if (window.autoLogin.savePasswordInCookies) { window.autoLogin.userInfo.password = base64encode($('#loginFormForAutoLogin #passwordForAutoLogin').val()); $.cookie("autoLoginPassword", window.autoLogin.userInfo.password, { expires: 365 }); }};// 密码悬浮显示window.autoLogin.showPassword = function() { $("input[type=password]").mouseover(function() { this.type = 'text'; }); $("input[type=password]").mouseout(function() { this.type = 'password'; });};// 登录成功则关闭页面window.autoLogin.close = function() { window.autoLogin.closeTime = new Date().getTime(); window.autoLogin.timecount = window.autoLogin.closeTime - parseInt($.cookie('autoLoginCloseTime')); showResultBox($('#logoutResult'), true, '自动关闭剩余冷却时间:' + parseInt(60 - window.autoLogin.timecount / 1000).toString() + ' / 60 秒。', 5000); if (window.autoLogin.timecount > 60000 || window.autoLogin.timecount < 10) { $.cookie('autoLoginCloseTime', window.autoLogin.closeTime, { expires: 365 }); window.close(); window.open('http://n.njcit.cn/', '_self'); } if ($.cookie('autoLoginCloseTime') === undefined) { $.cookie('autoLoginCloseTime', window.autoLogin.closeTime, { expires: 365 }); }};window.autoLogin.insertHTML();window.autoLogin.showPassword();window.autoLogin.updateLoginStatus();
Sign in to post a reply.
// ==UserScript==
// @name 南京信息职业技术学院校园网自动登录
// @namespace https://bbs.tampermonkey.net.cn/
// @version 1.0.0
// @icon http://n.njcit.cn/Public/Images/favicon.ico
// @description 主要功能:在PCweb端添加手机端认证域;可以设置网页打开没有登录时的自动登录。
// @author C选项_沉默
// @improver zhangtoutou
// @match http://n.njcit.cn/*
// @match http://222.192.254.22/*
// @run-at document-end
// @grant none
// ==/UserScript==
'use strict';
// 新建一个Object用来存储所需要的信息
window.autoLogin = {
userInfo: {
username: '',
domain: '',
password: ''
},
autoLoginSwitch: 0,
savePasswordInCookies: 1,
panel: undefined,
loginStatus: {
status: 0
}
};
// 读取用户名
if ($.cookie("sunriseUsername") !== undefined) {
window.autoLogin.userInfo.username = $.cookie("sunriseUsername");
}
// 读取认证域
if ($.cookie("sunriseDomain") !== undefined) {
window.autoLogin.userInfo.domain = $.cookie("sunriseDomain");
}
// 读取密码
if ($.cookie("autoLoginPassword") !== undefined) {
window.autoLogin.userInfo.password = $.cookie("autoLoginPassword");
}
// 读取开关状态
if ($.cookie("autoLoginSwitch") !== undefined) {
window.autoLogin.autoLoginSwitch = parseInt($.cookie("autoLoginSwitch"));
}
// 读取存储位置
if ($.cookie("autoLoginsavePasswordInCookies") !== undefined) {
window.autoLogin.savePasswordInCookies = parseInt($.cookie("autoLoginsavePasswordInCookies"));
}
// 刷新当前登录状态
window.autoLogin.updateLoginStatus = function() {
$.ajax({
type: 'GET',
url: initUrl,
contentType: "application/x-www-form-urlencoded",
dataType: 'json',
cache: false,
data: {},
error: function(XMLHttpRequest, textStatus, errorThrown) {
showResultBox($('#loginResult'), false, '请确保通信正常后刷新页面', 5000);
},
success: function(json) {
if (window.autoLogin.loginStatus.status !== json.status) {
window.autoLogin.loginStatus = json;
}
if (json.status === 0) {
console.log('登录状态:未登录');
window.autoLogin.writeFormAndLogin();
} else if (json.status === 1 && json.info === "用户已登录") {
console.log('登录状态:已登录');
window.autoLogin.close();
}
}
});
};
// 向DOM中加入认证域与设置页面
window.autoLogin.insertHTML = function() {
// 添加认证域
$("option").remove();
$("#domain").append(
`
freestudent
student-phone
phone
internet
baoyue
qgzxyh
qgzxby`
);
// 添加设置按钮
$('div.nav-bar ul').append(`
`);
// 添加设置页面
$('div.mLeft').append(
`
自动登录脚本-自动登录设置
@
freestudentstudent-phonestudentphoneinternetbaoyueqgzxyhqgzxby
启用开关:(开)
启用开关:(关)
cookies保存密码
浏览器保存密码
`
);
};
// 显示或关闭设置面板
window.autoLogin.switchSettingPanel = function() {
var panels = $('form');
if (panels[4].style.display === 'none') {
for (var i = 0; i < panels.length; i++) {
if (panels[i].style.display !== 'none') {
window.autoLogin.panel = panels[i].id;
break;
}
}
$('form#' + window.autoLogin.panel).hide();
$('form#loginFormForAutoLogin').show();
window.autoLogin.updateForm();
} else {
$('form#loginFormForAutoLogin').hide();
$('form#' + window.autoLogin.panel).show();
}
};
// 刷新设置表单
window.autoLogin.updateForm = function() {
$('#loginFormForAutoLogin #usernameForAutoLogin').val(window.autoLogin.userInfo.username);
$('#loginFormForAutoLogin #domainForAutoLogin').val(window.autoLogin.userInfo.domain);
$('#loginFormForAutoLogin #passwordForAutoLogin').val(base64decode(window.autoLogin.userInfo.password));
if (window.autoLogin.savePasswordInCookies) {
$('.info-right #savePasswordInBrowser').hide();
$('.info-right #savePasswordInCoookies').show();
} else {
$('.info-right #savePasswordInCoookies').hide();
$('.info-right #savePasswordInBrowser').show();
}
if (window.autoLogin.autoLoginSwitch) {
$('.info-left #switchForAutoLoginOff').hide();
$('.info-left #switchForAutoLoginOn').show();
} else {
$('.info-left #switchForAutoLoginOn').hide();
$('.info-left #switchForAutoLoginOff').show();
}
};
// 填写登录表单并登录
window.autoLogin.writeFormAndLogin = function() {
$('#loginForm #username').val(window.autoLogin.userInfo.username);
$('#loginForm #domain').val(window.autoLogin.userInfo.domain);
if (window.autoLogin.savePasswordInCookies) {
$('#loginForm #password').val(base64decode(window.autoLogin.userInfo.password));
} else if (!$('#loginForm #password').val()) {
showResultBox($('#loginResult'), false, '您的浏览器好像没有自动帮您输入密码,若您的浏览器不支持自动表单填写,请移步“自动登录设置”,开启cookies保存密码!');
console.log('登录失败');
return 0;
}
if (window.autoLogin.autoLoginSwitch) {
$("button#login").click();
console.log('已自动登录。');
window.autoLogin.close();
}
};
// 保存按钮
window.autoLogin.saveButton = function() {
window.autoLogin.userInfo.username = $.trim($('#loginFormForAutoLogin #usernameForAutoLogin').val());
$.cookie("sunriseUsername", window.autoLogin.userInfo.username, { expires: 365 });
window.autoLogin.userInfo.domain = $('#loginFormForAutoLogin #domainForAutoLogin').val();
$.cookie("sunriseDomain", window.autoLogin.userInfo.domain, { expires: 365 });
$.cookie("autoLoginSwitch", window.autoLogin.autoLoginSwitch, { expires: 365 });
$.cookie("autoLoginsavePasswordInCookies", window.autoLogin.savePasswordInCookies, { expires: 365 });
if (window.autoLogin.savePasswordInCookies) {
window.autoLogin.userInfo.password = base64encode($('#loginFormForAutoLogin #passwordForAutoLogin').val());
$.cookie("autoLoginPassword", window.autoLogin.userInfo.password, { expires: 365 });
}
};
// 密码悬浮显示
window.autoLogin.showPassword = function() {
$("input[type=password]").mouseover(function() {
this.type = 'text';
});
$("input[type=password]").mouseout(function() {
this.type = 'password';
});
};
// 登录成功则关闭页面
window.autoLogin.close = function() {
window.autoLogin.closeTime = new Date().getTime();
window.autoLogin.timecount = window.autoLogin.closeTime - parseInt($.cookie('autoLoginCloseTime'));
showResultBox($('#logoutResult'), true, '自动关闭剩余冷却时间:' + parseInt(60 - window.autoLogin.timecount / 1000).toString() + ' / 60 秒。', 5000);
if (window.autoLogin.timecount > 60000 || window.autoLogin.timecount < 10) {
$.cookie('autoLoginCloseTime', window.autoLogin.closeTime, { expires: 365 });
window.close();
window.open('http://n.njcit.cn/', '_self');
}
if ($.cookie('autoLoginCloseTime') === undefined) {
$.cookie('autoLoginCloseTime', window.autoLogin.closeTime, { expires: 365 });
}
};
window.autoLogin.insertHTML();
window.autoLogin.showPassword();
window.autoLogin.updateLoginStatus();