WALL-E

审批不烦人,自己就搞定,脏活儿交给walle

Versione datata 24/07/2023. Vedi la nuova versione l'ultima versione.

Dovrai installare un'estensione come Tampermonkey, Greasemonkey o Violentmonkey per installare questo script.

You will need to install an extension such as Tampermonkey to install this script.

Dovrai installare un'estensione come Tampermonkey o Violentmonkey per installare questo script.

Dovrai installare un'estensione come Tampermonkey o Userscripts per installare questo script.

Dovrai installare un'estensione come ad esempio Tampermonkey per installare questo script.

Dovrai installare un gestore di script utente per installare questo script.

(Ho già un gestore di script utente, lasciamelo installare!)

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

(Ho già un gestore di stile utente, lasciamelo installare!)

// ==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);
};


})();