审批不烦人,自己就搞定,脏活儿交给walle
Stan na
// ==UserScript==
// @name WALL-E
// @namespace https://cloud.xuepeiyou.com/
// @version 0.2
// @description 审批不烦人,自己就搞定,脏活儿交给walle
// @author choukin
// @match https://cloud.xuepeiyou.com/*
// @run-at document-start
// @grant unsafeWindow
// @license MIT
// ==/UserScript==
(function () {
//console.log(window.unsafeWindow)
const originSend = XMLHttpRequest.prototype.send
XMLHttpRequest.prototype.send = function (body){
console.log(this.responseURL,'this-responseURL')
if(body){
try{
const bodyObj = JSON.parse(body)
if(bodyObj.env && bodyObj.env[0]){
localStorage.setItem('xuepeiyouenv',bodyObj.env[0])
}
}catch(e){
}
}
originSend.apply(this, arguments);
}
const originOpen = XMLHttpRequest.prototype.open;
XMLHttpRequest.prototype.open = function (_, url) {
try{
// console.log(url,'url')
const envstr = localStorage.getItem('xuepeiyouenv')
// console.log(localStorage.getItem('xuepeiyouenv'))
if (envstr === 'test' &&url && url.indexOf('k8s/apiv3/plat/team/auditors/get') > -1 && url.indexOf('role_id=1')>-1) {
this.addEventListener("readystatechange", function () {
if (this.readyState === 4) {
const res = JSON.parse(this.responseText);
const userInfo = JSON.parse(localStorage.getItem('userInfo'));
const tempUser = JSON.parse(JSON.stringify(res.data.list[0]))
tempUser.Email=userInfo.email
tempUser.Name=userInfo.realname
res.data.list.unshift(tempUser)
// 当前 xhr 对象上定义 responseText
Object.defineProperty(this, "responseText", {
writable: true,
});
this.responseText = JSON.stringify(res);
}
});
}
}catch(e){
console.error(e)
}
originOpen.apply(this, arguments);
};
})();