// ==UserScript== // @name 自动清除商户后台续费弹窗【右下角圆形‑悬浮透明按钮‑二级菜单版】 // @namespace http://tampermonkey.net/ // @version 1.0 // @description 清理续费弹窗 + 右下角圆形悬浮按钮(默认0.1极透明,悬停实化)+ 带图标二级折叠快捷菜单 // @author You // @match https://houtai.liantuofu.com/* // @grant none // ==/UserScript== (function() { 'use strict'; // ==== 跳过iframe,仅顶层窗口执行 ==== if (window.self !== window.top) { return; } //==================== 【配置区 - 二级折叠菜单设置】==================== const menuGroupList = [ { groupName: "📣 营销中心", children: [ {name:"生日关怀", url:"https://club.liantuobank.com/memberActivity.htm?sceneType=16"}, {name:"升级有礼", url:"https://club.liantuobank.com/memberActivity.htm?sceneType=17"}, {name:"单品特价", url:"https://club.liantuobank.com/memberActivity.htm?sceneType=21"}, {name:"签到有礼", url:"https://club.liantuobank.com/memberActivity.htm?sceneType=20"}, {name:"定时营销", url:"https://club.liantuobank.com/memberActivity.htm?sceneType=19"}, {name:"积分清零", url:"https://club.liantuobank.com/memberActivity.htm?sceneType=30"}, {name:"限时秒杀", url:"https://club.liantuobank.com/seckillActivity.htm"}, {name:"拼团营销", url:"https://club.liantuobank.com/teamActivity.htm"}, {name:"弹窗广告", url:"https://club.liantuobank.com/memberActivity.htm?sceneType=24"}, {name:"核券有礼", url:"https://club.liantuobank.com/memberActivity.htm?sceneType=26"}, {name:"券包营销", url:"https://club.liantuobank.com/couponBag.htm?sceneType=31"}, {name:"拓客营销", url:"https://houtai.liantuofu.com/salesman"}, {name:"活动营销", url:"https://houtai.liantuofu.com/sso?key=sso_activity"}, {name:"互动营销", url:"https://houtai.liantuofu.com/sso?key=sso_market_interactive"}, {name:"红包营销", url:"https://houtai.liantuofu.com/sso?key=sso_market_redpack"}, ] }, { groupName: "🎁 营销礼包", children: [ {name:"礼包管理", url:"https://houtai.liantuofu.com/sso?key=sso_giftBagList"}, {name:"礼包报表", url:"https://houtai.liantuofu.com/sso?key=sso_giftBagStatistics"}, {name:"礼包二维码", url:"https://houtai.liantuofu.com/sso?key=sso_giftBagBatch"}, ] }, { groupName: "💳 次卡管理", children: [ {name:"次卡列表", url:"https://houtai.liantuofu.com/sso?key=sso_times_card_list"}, {name:"次卡报表", url:"https://houtai.liantuofu.com/sso?key=sso_times_card_statistics"}, {name:"次卡核销", url:"https://houtai.liantuofu.com/sso?key=sso_times_card_validate"}, ] } // 复制整块新增更多分组 ]; //================================================================= // --------原有功能:定时清除续费弹窗-------- setInterval(function (){ const popBox = document.getElementById('purchase-box'); if(popBox) popBox.remove(); document.querySelectorAll("[class*='purchase_box']").forEach(el=>el.remove()); document.querySelectorAll('.modal-backdrop').forEach(el=>el.remove()); document.body.classList.remove('modal-open'); document.body.style.overflow = "auto"; // ====巡检清理多余悬浮球,只保留第一个==== const items = document.querySelectorAll('#quick-menu-wrap'); for(let i = 1; i < items.length; i++){ items[i].remove(); } }, 300); const wrapId = "quick-menu-wrap"; if(document.getElementById(wrapId)) return; const wrap = document.createElement('div'); wrap.id = wrapId; wrap.style.position = "fixed"; wrap.style.bottom = "30px"; wrap.style.right = "30px"; wrap.style.zIndex = "999999"; wrap.style.fontFamily = "system-ui, sans-serif"; //悬浮圆形按钮 const floatBtn = document.createElement('div'); floatBtn.innerText = "🔗"; floatBtn.style.width = "50px"; floatBtn.style.height = "50px"; floatBtn.style.borderRadius = "50%"; floatBtn.style.background = "#2563eb"; floatBtn.style.color = "#fff"; floatBtn.style.display = "flex"; floatBtn.style.alignItems = "center"; floatBtn.style.justifyContent = "center"; floatBtn.style.fontSize = "22px"; floatBtn.style.cursor = "pointer"; floatBtn.style.boxShadow = "0 4px 12px rgba(0,0,0,0.25)"; floatBtn.style.opacity = "0.1"; // 默认极透明 floatBtn.style.transition = "opacity 0.25s ease"; //鼠标移入→实体,移出→恢复极透明 floatBtn.addEventListener('mouseenter',()=>{ floatBtn.style.opacity = "1"; }); floatBtn.addEventListener('mouseleave',()=>{ floatBtn.style.opacity = "0.1"; }); //菜单盒子 const menuBox = document.createElement('div'); menuBox.style.display = "none"; menuBox.style.position = "absolute"; menuBox.style.bottom = "60px"; menuBox.style.right = "0px"; menuBox.style.background = "#ffffff"; menuBox.style.borderRadius = "8px"; menuBox.style.boxShadow = "0 4px 16px rgba(0,0,0,0.2)"; menuBox.style.minWidth = "134px"; // 约为原宽度200px的三分之二 menuBox.style.overflow = "hidden"; //渲染折叠二级菜单 menuGroupList.forEach(group =>{ //一级分组标题(可点击折叠) const titleDom = document.createElement('div'); titleDom.innerText = group.groupName + " ▾"; titleDom.style.padding = "12px 16px"; titleDom.style.fontWeight = "bold"; titleDom.style.fontSize = "14px"; titleDom.style.color = "#333"; titleDom.style.background = "#f7f8fa"; titleDom.style.cursor = "pointer"; //二级子菜单容器 const subMenu = document.createElement('div'); subMenu.style.display = "none"; group.children.forEach(item=>{ const a = document.createElement('a'); a.href = item.url; a.target = "_blank"; a.innerText = item.name; a.style.display = "block"; a.style.padding = "10px 28px"; a.style.color = "#222"; a.style.textDecoration = "none"; a.onmouseover = ()=> a.style.background="#f3f4f6"; a.onmouseout = ()=> a.style.background="#fff"; subMenu.appendChild(a); }); //点击标题展开收起 let openState = false; titleDom.onclick = function(e){ e.stopPropagation(); openState = !openState; if(openState){ subMenu.style.display = "block"; titleDom.innerText = group.groupName + " ▴"; }else{ subMenu.style.display = "none"; titleDom.innerText = group.groupName + " ▾"; } }; menuBox.appendChild(titleDom); menuBox.appendChild(subMenu); //分组分隔线 const divider = document.createElement('div'); divider.style.height = "1px"; divider.style.background = "#eee"; menuBox.appendChild(divider); }); //点击按钮切换菜单显示隐藏 let mainMenuOpen = false; floatBtn.onclick = function(e){ e.stopPropagation(); mainMenuOpen = !mainMenuOpen; if(mainMenuOpen){ menuBox.style.display = "block"; }else{ menuBox.style.display = "none"; } }; //点击页面空白关闭主菜单 document.addEventListener("click",()=>{ menuBox.style.display = "none"; mainMenuOpen = false; }); menuBox.onclick = e=> e.stopPropagation(); wrap.appendChild(menuBox); wrap.appendChild(floatBtn); document.body.appendChild(wrap); })();