// ==UserScript== // @name 【微赞直播】自动化Faker新版微赞话题管理界面的Bin // @namespace https://mdhyy.cn/ // @version 1.0 // @description 在打开微赞后台时,可以在【话题列表页】或【新版话题管理页】自己指定是否自动打开旧版本管理界面。 // @author 明灯花月夜 // @match https://live.vzan.com/* // @run-at document-start // @grant none // @license MIT // @downloadURL none // ==/UserScript== (function() { 'use strict'; // 创建开关和文本 function createToggle() { const currentUrl = window.location.href; const isCorrectPage = currentUrl.includes('https://live.vzan.com/admin/index.html?zbid=') && currentUrl.includes('TopicManage/TopicSetHome'); const toggleDiv = document.createElement('div'); toggleDiv.style.position = 'fixed'; if (isCorrectPage) { toggleDiv.style.top = '80px'; toggleDiv.style.right = '10px'; }else{ toggleDiv.style.top = '10px'; toggleDiv.style.left = '10px'; } toggleDiv.style.zIndex = '99999999'; toggleDiv.style.backgroundColor = '#fff'; toggleDiv.style.border = '1px solid #ccc'; toggleDiv.style.padding = '10px'; toggleDiv.style.boxShadow = '0 2px 5px rgba(0,0,0,0.2)'; const toggleLabel = document.createElement('label'); toggleLabel.textContent = '自动跳转到旧版话题管理: '; const toggleCheckbox = document.createElement('input'); toggleCheckbox.type = 'checkbox'; // 从localStorage获取开关状态 toggleCheckbox.checked = localStorage.getItem('autoRedirectEnabled') === 'true'; //toggleCheckbox.checked = true; // 默认为选中状态 toggleLabel.appendChild(toggleCheckbox); toggleDiv.appendChild(toggleLabel); document.body.appendChild(toggleDiv); // 监听开关状态变化 toggleCheckbox.addEventListener('change', function() { localStorage.setItem('autoRedirectEnabled', toggleCheckbox.checked); }); // Make the toggle draggable makeDraggable(toggleDiv); } // Function to make an element draggable function makeDraggable(element) { let pos1 = 0, pos2 = 0, pos3 = 0, pos4 = 0; if (document.getElementById(element.id + "header")) { document.getElementById(element.id + "header").onmousedown = dragMouseDown; } else { element.onmousedown = dragMouseDown; } function dragMouseDown(e) { e = e || window.event; e.preventDefault(); pos3 = e.clientX; pos4 = e.clientY; document.onmouseup = closeDragElement; document.onmousemove = elementDrag; } function elementDrag(e) { e = e || window.event; e.preventDefault(); pos1 = pos3 - e.clientX; pos2 = pos4 - e.clientY; pos3 = e.clientX; pos4 = e.clientY; element.style.top = (element.offsetTop - pos2) + "px"; element.style.left = (element.offsetLeft - pos1) + "px"; element.style.width = "150px"; } function closeDragElement() { document.onmouseup = null; document.onmousemove = null; } } // 跳转函数 function redirectToNewUrl() { const currentUrl = window.location.href; const isCorrectPage = currentUrl.includes('https://live.vzan.com/admin/index.html?zbid=') && currentUrl.includes('TopicManage/TopicSetHome'); if (isCorrectPage) { const queryParams = new URLSearchParams(window.location.search); const zbid = queryParams.get('zbid'); const hash = window.location.hash; const topicIdMatch = hash.match(/topicId=([0-9]+)/); const topicId = topicIdMatch ? topicIdMatch[1] : null; if (zbid && topicId) { const newUrl = `https://live.vzan.com/nlive/navmenu?zid=${zbid}&tid=${topicId}&backurl=TopicEditV2`; // 如果开关为开启状态,则跳转 if (document.querySelector('input[type="checkbox"]').checked) { window.location.href = newUrl; } } else { console.log('zbid or topicId is missing in the URL'); } } } // 等待DOM加载完毕后添加开关 window.addEventListener('DOMContentLoaded', function() { const currentUrl = window.location.href; const isCorrectPage = currentUrl.includes('https://live.vzan.com/admin/index.html?zbid=') && currentUrl.includes('TopicManage/TopicSetHome'); const isCorrectPage2 = currentUrl.includes('https://live.vzan.com/admin/index.html?zbid=') && currentUrl.includes('#/Live/Topic'); if (isCorrectPage||isCorrectPage2) { createToggle(); } redirectToNewUrl(); // 尝试自动跳转 }); })();