// ==UserScript==
// @name Shanbay message assistant
// @namespace http://userscripts.org/scripts/show/183146
// @description Shanbay 短信助手
// @version 0.1.1
// @author mozillazg
// @include http://www.shanbay.com/*
// @downloadURL https://update.greasyfork.icu/scripts/338/Shanbay%20message%20assistant.user.js
// @updateURL https://update.greasyfork.icu/scripts/338/Shanbay%20message%20assistant.meta.js
// ==/UserScript==
function userInfo (url, callback) {
$.ajax({
url: url,
dataType: "html",
success: function(data) {
username = $("#profile .profile h2 small", data).text();
username = username.replace('(', '').replace(')', '').trim();
callback(username);
}
});
};
function htmlSendMsgLink (username) {
return '
发短信';
};
// 用户空间增加“发短信”链接
function addSendLinkOnHome () {
var username = $("#profile .profile h2 small").text();
username = username.replace('(', '').replace(')', '').trim();
var sendLink = htmlSendMsgLink(username);
// 在头像后增加“发短信”链接
$("#profile img").parent().append(sendLink)
};
// 打卡记录页面
function addSendLinkOnCheckin (username) {
var sendLink = htmlSendMsgLink(username);
var checkins = $("#checkin .checkin");
$.each(checkins, function (index, value) {
$(".avatar", value).append(sendLink);
});
}
// 新消息通知
function newMsgNotify () {
var title = $("title");
var sourceTitle = title.html().replace(/\[\d+条未读短信\] \| /, '');
$.ajax({
url: "http://www.shanbay.com/17mail/inbox/",
dataType: "html",
success: function(data) {
var number = $(".messages tr td strong", data).length;
if (number > 0) {
title.html('[' + number + '条未读短信] | ' + sourceTitle);
} else {
title.html(sourceTitle);
}
}
});
};
// run
(function () {
var currentLink = $(location).attr('href');
// 用户空间
if (currentLink.match(/\/bdc\/review\/progress\/\d+/) || currentLink.match(/\/user\/list\/\d+/)) {
addSendLinkOnHome();
} else if (currentLink.match(/\/checkin\/user\/\d+/)) {
// 打卡列表
var url = $("#checkin .avatar a").attr('href');
if (url) {
userInfo(url, addSendLinkOnCheckin);
}
}
newMsgNotify();
window.setInterval(function() {
newMsgNotify();
}, 60000);
})();