try to take over the world!
当前为
// ==UserScript==
// @name pingcodeHelper
// @namespace http://tampermonkey.net/
// @version 0.9
// @description try to take over the world!
// @author You
// @match https://onetoken.pingcode.com/*
// @icon data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
// @grant none
// ==/UserScript==
var pageURLCheckTimer = setInterval(
function () {
if (this.lastPathStr !== location.pathname ||
this.lastQueryStr !== location.search ||
this.lastPathStr === null ||
this.lastQueryStr === null
) {
this.lastPathStr = location.pathname;
this.lastQueryStr = location.search;
gmMain();
}
}, 222
);
function gmMain() {
setTimeout(function () {
let x = document.querySelector("#app-host-container > app-agile-root > app-agile-actual-root > agile-global > agile-global-query-detail > thy-header > div.layout-header-content > div > thy-nav > a.styx-secondary-nav-link.nav-link > span")
if(x){
console.log(x);
console.log(x.textContent.trim());
document.title = x.textContent.trim();
}
}, 3000);
}
function refreshUnread(){
let authorization = localStorage.getItem('authorization')
if(authorization){
fetch('https://iris.pingcode.com/api/iris/notifications/n-unreads?t=1636023609632',{headers:{authorization: authorization}})
.then(res => res.json())
.then(res=>{
if(res.code===200){
let unreadSize=res.data.value
let currentTitle=document.head.querySelector('title').textContent
if(currentTitle.startsWith('(')){
let endIndex = currentTitle.indexOf(')')
if(endIndex>=0){
let newTitle=`(${unreadSize})${currentTitle.substring(endIndex+1)}`
document.head.querySelector('title').textContent=newTitle
}
}
}
})
}
}
(function() {
'use strict';
// let showFinished=true
//let btn=null
let obj={btn:null,showFinished:true}
let cnt=0
setInterval(()=>{
let agileDetail=document.querySelector('.agile-work-item-detail-work-item')
cnt++
if(agileDetail){
let itemListParent = agileDetail.querySelector('.sub-work-item-list')
if(itemListParent){
let itemList = itemListParent.querySelectorAll('.work-items-list-item')
moveEndTasksToEnd(itemList)
if(itemList.length>0){
if(agileDetail.querySelector('#displayBtn')===null){
obj.showFinished=true
obj.btn = document.createElement('span')
obj.btn.textContent=obj.showFinished?'隐藏已完成':'显示已完成'
obj.btn.id='displayBtn'
obj.btn.style='color:#aaa;cursor:pointer'
agileDetail.insertBefore(obj.btn, agileDetail.firstChild)
obj.btn.addEventListener('click',()=>{
toggleShowFinished()
})
toggleShowFinished()
}
}
}
}
if(cnt%60===0){
refreshUnread()
}
},1000)
function moveEndTasksToEnd(items){
for(let item of items){
if(isEnd(item)){
let parent=item.parentElement
parent.removeChild(item)
parent.appendChild(item)
}
}
}
function isEnd(workItem){
let status=workItem.querySelector('.flexible-text-container').textContent
return status==='关闭'||status==='已完成'
}
function toggleShowFinished(){
obj.showFinished=!obj.showFinished
obj.btn.textContent=obj.showFinished?'隐藏已完成':'显示已完成'
if(obj.showFinished){
let workItems=document.querySelectorAll('.work-item-info')
for(let item of workItems){
item.parentElement.parentElement.style='display:block'
}
} else {
let workItems=document.querySelectorAll('.work-item-info')
for(let item of workItems){
let status=item.querySelector('.flexible-text-container').textContent
if(status==='关闭'||status==='已完成'){
item.parentElement.parentElement.style='display:none'
}
}
}
}
console.log('starting')
// Your code here...
})();