// ==UserScript== // @name 阿里云效伴侣&WorkTile // @version 0.0.8 // @description 让工作更高效,让生活更美好!(去你妈的社会面,去你妈的社会面动态清零,去你妈的全民集中核酸检测!) // @author Jack.Chan (971546@qq.com) // @namespace http://fulicat.com // @url https://greasyfork.org/zh-CN/scripts/444697-%E9%98%BF%E9%87%8C%E4%BA%91%E6%95%88%E4%BC%B4%E4%BE%A3-worktile // @license MIT // @match https://flow.aliyun.com/pipelines/*/* // @icon https://flow.aliyun.com/favicon.ico // @grant none // @run-at document-end // @downloadURL none // ==/UserScript== (function() { 'use strict'; function doCopy(value, callback) { if (value) { var $textarea = document.createElement('textarea'); $textarea.style.cssText = "position:absolute;left:-20px;top: -20px;width:0;height:0;opacity: 0;"; document.body.appendChild($textarea); $textarea.value = value; $textarea.select(); setTimeout(() => { document.execCommand('Copy'); document.body.removeChild($textarea); console.log('@copied:', value); if (typeof callback === 'function') { callback(value); } }, 200); } else { console.warn('@doCopy: value is empty'); } } function run() { var pipelinesId = 0; var paths = window.location.pathname.split('/'); if (paths.length > 3 && !isNaN(paths[2])) { pipelinesId = paths[2]; var $Branch = document.querySelector('.yx-input>input[value="Branch"]'); var $WorktileTask = document.querySelector('.yx-input>input[id="WorktileTask"]'); var $BtnCancel = document.querySelector('.yx-dialog-footer>button:nth-child(1)'); var $BtnRun = document.querySelector('.yx-dialog-footer>button:nth-child(2)'); var isReady = $Branch && $WorktileTask && $BtnRun && $BtnRun?.innerText === '运行' && $BtnCancel; var $task; if (pipelinesId && isReady) { var hasBind = !!$BtnRun.hasBind; if (!hasBind) { $task = document.createElement('div'); $task.id = 'WorktileTaskURL'; $Branch.parentNode.parentNode.appendChild($task); $task.addEventListener('click', function(event) { doCopy($task.value); }, false); $Branch.addEventListener('input', function(event) { var branch = this.value.trim(); var key = 'pipelinesId:'+ pipelinesId +':'+ branch; if (branch) { var task = window.localStorage.getItem(key) || ''; console.log('@hasTask', key, task); $task.value = task; $task.innerHTML = '

'+ task + '

' + (task ? '已为你自动复制,可直接粘贴' : ''); if (task) { setTimeout(() => { doCopy(task, () => { $Branch.focus(); }); }, 20); } } }, false); $BtnCancel.addEventListener('click', function(event) { var branch = $Branch.value.trim(); var key = 'pipelinesId:'+ pipelinesId +':'+ branch; if (branch) { window.localStorage.removeItem(key); console.log('@removed', key); } }, false); $BtnRun.addEventListener('click', function(event) { var branch = $Branch.value.trim(); var task = $WorktileTask.value.trim(); var key = 'pipelinesId:'+ pipelinesId +':'+ branch; if (branch && task) { window.localStorage.setItem(key, task); console.log('@saved', key, task); } }, false); $BtnRun.hasBind = true; } console.log('hasBind:'+ hasBind); } console.log('isReady:pipelinesId:'+ pipelinesId); } } function init() { document.body.addEventListener('mousedown', function(e) { var $yxdialog = document.querySelector('.yx-dialog'); var delay = $yxdialog ? 300 : 2000; setTimeout(() => { run(); }, delay); }, false); } if (document.contentType.startsWith('text/html')) { init(); } })();