通过 node_name 直接定位需要点击的节点

This commit is contained in:
2025-06-30 08:29:39 +00:00
parent d67e5b824a
commit 57ab770e34

View File

@ -5,20 +5,21 @@
// @description Jumpserver Web终端 扩展
// @author MiaoWoo
// @match https://jump.miaowoo.cc/luna/*
// @match https://jump.c5mc.cn/luna/*
// @grant none
// ==/UserScript==
(async function () {
'use strict'
const nodeMaps = {
'jump.miaowoo.cc': ['公网节点', '内网节点', '下宕头', '画了个圈', 'pve8']
}
async function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms))
}
var version = document.querySelector('.footer-version')
while (!(version = document.querySelector('.footer-version'))) {
await sleep(50)
}
version.innerHTML = version.innerHTML.replace('Version', '')
async function adjust() {
window.onresize = async function adjust() {
await sleep(10)
var splitter_bar = document.querySelector('.ant-splitter-bar')
var left = splitter_bar.previousElementSibling
@ -26,15 +27,33 @@
var right = splitter_bar.nextElementSibling
right.style.flexBasis = 'calc(88.5% - 0px)'
}
window.onresize = adjust
adjust()
document.querySelector('.content-footer').remove()
for (const element of ['#AssetTree_3_span', '#AssetTree_4_span', '#AssetTree_5_span', '#AssetTree_14_span', '#AssetTree_19_span']) {
let target = undefined
while ((target = document.querySelector(element)) == undefined) {
async function autotrigger(nodes = []) {
for (const element of nodes) {
let target = undefined
while ((target = [...document.getElementsByClassName('node_name')].filter(function (e) {
return e.innerText.startsWith(element)
})[0]) == undefined) {
await sleep(50)
}
await sleep(300)
target.click()
}
}
async function waitReady() {
var version = document.querySelector('.footer-version')
while (!(version = document.querySelector('.footer-version'))) {
await sleep(50)
}
await sleep(300)
target.click()
version.innerHTML = version.innerHTML.replace('Version', '')
}
async function main() {
await waitReady()
window.onresize()
document.querySelector('.content-footer').remove()
var trigger = nodeMaps[location.hostname]
if (trigger) autotrigger(trigger)
}
main()
})()