gitAddProject

git add project for pms

As of 2021-08-04. See the latest version.

// ==UserScript==
// @name         gitAddProject
// @namespace    http://tampermonkey.net/
// @version      0.1.0
// @description  git add project for pms
// @author       HolmesZhao
// @match        *://pms.zuoyebang.cc/ApplyForGit*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    // Your code here...
    let username = "[email protected]"
    let projects = [
        { "power": "paperangtest", "reason": "迁移项目"}
    ]

    function addProject(power, reason) {
        let gitcode = "Paperang_iOS"
        let approved = "[email protected]"
        let deptfullname = "其他部门"
        var data = JSON.stringify({"username": username,"gitcode": gitcode,"power":"Add Project:" + power + " (private)", "gitapproved": approved, "url": "git.zuoyebang.cc", "reason": reason, "deptfullname": deptfullname});
    
        var xhr = new XMLHttpRequest();
        xhr.withCredentials = true;
    
        xhr.addEventListener("readystatechange", function() {
        if(this.readyState === 4) {
            console.log(this.responseText);
        }
        });
    
        xhr.open("POST", "https://pms.zuoyebang.cc/testplatapi/git/SetApproved");
        xhr.setRequestHeader("Cookie", document.cookie);
        xhr.setRequestHeader("Content-Type", "application/json");
    
        xhr.send(data);
    }

    function addButton(name, marginLeft, fun) {
        var txt = document.createTextNode(name);
        var btn = document.createElement('button');
        btn.className = 'mmbutton';
        btn.style = "z-index: 9999; font-size: large; position: fixed; top: 0pt; left: "+(screen.width / 4 + marginLeft)+"px;";
        btn.onclick = fun;
        btn.appendChild(txt);
        document.body.appendChild(btn);
        return btn.offsetWidth;
    };

    function inject() {
        projects.forEach(e => {
            addProject(e.power, e.reason)
        })
        alert('已发送所有请求');
    }

    window.onload = () => {
        addButton('注入脚本', 0, inject);
    }
})();