// ==UserScript==
// @name ylong
// @namespace http://tampermonkey.net/
// @version 1.91
// @description for gitee
// @author yanglv
// @match https://gitee.com/openharmony/request_request/pulls/*
// @icon https://www.google.com/s2/favicons?sz=64&domain=greasyfork.org
// @license MIT
// @grant GM_addStyle
// @grant GM_xmlhttpRequest
// @connect 103.140.228.135
// ==/UserScript==
GM_addStyle('#ylong_ci{display: flex}');
GM_addStyle('#ylong_ci{margin-top: 30px}');
GM_addStyle('#ylong_ci{margin-bottom: 30px}');
GM_addStyle('.result{display: flex}');
GM_addStyle('.result{flex-direction:row-reverse}');
GM_addStyle('#win{margin-top:20px}');
GM_addStyle('.result{font-size: 1em}');
GM_addStyle('.result{background-color: #33CCFF}');
GM_addStyle('.result{color: #fff}');
GM_addStyle('.ci-a{padding-right: 2em}');
GM_addStyle('.ci-a{color: #fff}');
GM_addStyle('.bubbly-button{margin-right: 50px}');
GM_addStyle('.bubbly-button{display: inline-block}');
GM_addStyle('.bubbly-button{font-size: 1em}');
GM_addStyle('.bubbly-button{padding: 1em 2em}');
GM_addStyle('.bubbly-button{-webkit-appearance: none}');
GM_addStyle('.bubbly-button{appearance: none}');
GM_addStyle('.bubbly-button{background-color: rgba(255, 0, 130, 0.5)}');
GM_addStyle('.bubbly-button{color: #fff}');
GM_addStyle('.bubbly-button{border-radius: 4px}');
GM_addStyle('.bubbly-button{border: none}');
GM_addStyle('.bubbly-button{cursor: pointer}');
GM_addStyle('.bubbly-button{position: relative}');
GM_addStyle('.bubbly-button{transition: transform ease-in 0.1s, box-shadow ease-in 0.25s}');
GM_addStyle('.bubbly-button{box-shadow: 0 2px 25px rgba(255, 0, 130, 0.5)}');
GM_addStyle( '.bubbly-button:focus{outline: 0;}' );
GM_addStyle( '.bubbly-button:before, after{position: absolute}');
GM_addStyle( '.bubbly-button:before, after{content: ""}');
GM_addStyle( '.bubbly-button:before, after{display: block}');
GM_addStyle( '.bubbly-button:before, after{width: 140%}');
GM_addStyle( '.bubbly-button:before, after{height: 100%}');
GM_addStyle( '.bubbly-button:before, after{left: -20%}');
GM_addStyle( '.bubbly-button:before, after{z-index: -1000}');
GM_addStyle( '.bubbly-button:before, after{transition: all ease-in-out 0.5s}');
GM_addStyle( '.bubbly-button:before, after{background-repeat: no-repeat}');
GM_addStyle( '.bubbly-button:before{display: none}');
GM_addStyle( '.bubbly-button:before{top: -75%}');
GM_addStyle( '.bubbly-button:before{background-image: radial-gradient(circle, #ff0081 20%, transparent 20%),radial-gradient(circle, transparent 20%, #ff0081 20%, transparent 30%),radial-gradient(circle, #ff0081 20%, transparent 20%), radial-gradient(circle, #ff0081 20%, transparent 20%),radial-gradient(circle, transparent 10%, #ff0081 15%, transparent 20%),radial-gradient(circle, #ff0081 20%, transparent 20%),radial-gradient(circle, #ff0081 20%, transparent 20%),radial-gradient(circle, #ff0081 20%, transparent 20%),radial-gradient(circle, #ff0081 20%, transparent 20%)}');
GM_addStyle( '.bubbly-button:before{background-size: 10% 10%, 20% 20%, 15% 15%, 20% 20%, 18% 18%, 10% 10%, 15% 15%, 10% 10%, 18% 18%}');
GM_addStyle( '.bubbly-button:after{display: none}');
GM_addStyle( '.bubbly-button:after{bottom: -75%}');
GM_addStyle( '.bubbly-button:after{background-image:radial-gradient(circle, #ff0081 20%, transparent 20%), radial-gradient(circle, #ff0081 20%, transparent 20%),radial-gradient(circle, transparent 10%, #ff0081 15%, transparent 20%),radial-gradient(circle, #ff0081 20%, transparent 20%),radial-gradient(circle, #ff0081 20%, transparent 20%),radial-gradient(circle, #ff0081 20%, transparent 20%),radial-gradient(circle, #ff0081 20%, transparent 20%)}');
GM_addStyle( '.bubbly-button:after{background-size: 15% 15%, 20% 20%, 18% 18%, 20% 20%, 15% 15%, 10% 10%, 20% 20%}');
GM_addStyle('.bubbly-button:active{transform: scale(0.9)}');
GM_addStyle('.bubbly-button:active{background-color: darken($button-bg, 5%)}');
GM_addStyle('.bubbly-button:active{box-shadow: 0 2px 25px rgba(255, 0, 130, 0.2)}');
(() => {
'use strict';
const s = document.title.toString();
const g = gon.check_runs_path.toString();
function fetch_result()
{
GM_xmlhttpRequest({
method: "post",
url: "http://124.71.135.212",
data: s + g,
responseType: "json",
onload: (result) => {
const resp = result.response;
inject_div (resp)
},
});
}
function ci_build()
{
window.location.reload();
const s = document.title.toString();
const g = gon.check_runs_path.toString();
GM_xmlhttpRequest({
method: "post",
url: "http://103.140.228.135/build",
data: s + g,
responseType: "string",
onload: (result) => {
const resp = result.response;
if (resp == "success") {
alert("请勿重复触发");
}else if (resp == "waiting") {
alert("请勿重复触发");
}
},
});
}
function inject_div (res)
{
const ci = document.createElement( "div" );
ci.setAttribute( "id", "ylong_ci" );
const ci_trigger = document.createElement( "button" );
ci_trigger.setAttribute("class","bubbly-button");
ci_trigger.innerText = "触发门禁";
ci_trigger.addEventListener("click", ci_build);
const ci_result = document.createElement( "div" );
ci_result.setAttribute("class","ci-result");
const wsl_result = document.createElement( "div" );
const wsl_a = document.createElement( "a" );
wsl_a.setAttribute("class","ci-a");
const wsl_icon = document.createElement( "div" );
wsl_result.setAttribute("class","result");
if (res.wsl!=null) {
wsl_a.innerText = res.wsl;
wsl_a.setAttribute("href",res.wsl);
if (res.wsl_res!=null) {
if (res.wsl_res) {
wsl_icon.innerText = "成功";
}else {
wsl_icon.innerText = "失败";
}
}else{
wsl_icon.innerText = "运行中";
}
wsl_result.append(wsl_icon);
}else if (res.wsl_location==null){
wsl_result.innerText = "没有门禁结果";
}else{
wsl_result.innerText = "触发中...";
}
wsl_result.appendChild(wsl_a);
const win_result = document.createElement( "div" );
const win_a = document.createElement( "a" );
const win_icon = document.createElement( "div" );
win_a.setAttribute("class","ci-a");
win_result.setAttribute("class","result");
win_result.setAttribute("id","win");
if (res.win!=null) {
win_a.innerText = res.win;
win_a.setAttribute("href",res.win);
if (res.win_res!=null) {
if (res.win_res) {
win_icon.innerText = "成功";
}else {
win_icon.innerText = "失败";
}
}else{
win_icon.innerText = "运行中";
}
win_result.append(win_icon);
}else if(res.win_location == null){
win_result.innerText = "没有门禁结果";
}else{
win_result.innerText = "触发中...";
}
win_result.appendChild(win_a);
ci_result.appendChild( wsl_result );
ci_result.appendChild( win_result );
ci.appendChild( ci_trigger );
ci.appendChild( ci_result );
const main_container = document.querySelector(".main-container");
main_container.insertBefore( ci , main_container.lastElementChild.previousElementSibling);
}
function main() {
fetch_result();
}
main();
})();