// ==UserScript== // @name Aizex增强插件 // @namespace https://www.klaio.top/ // @version 1.0.2 // @description Aizex Booster 是一款专门为 Aizex 镜像站 开发的浏览器扩展插件。它提供了一系列实用的增强功能,包括实时积分显示、界面元素的显示与隐藏控制、整体界面布局优化及自定义头像等。这些功能能够有效提升用户的浏览体验,让界面使用更加流畅、高效且富有个性化特色。 // @author NianBroken // @match *://*.mana-x.aizex.net/* // @match *://*.arc-x.aizex.me/* // @match *://*.leopard-x.memofun.net/* // @grant GM_setValue // @grant GM_getValue // @grant GM_addStyle // @grant GM_xmlhttpRequest // @connect aizex.me // @run-at document-start // @icon https://aizex.me/favicon.ico // @homepageURL https://github.com/NianBroken/Aizex-Booster // @supportURL https://github.com/NianBroken/Aizex-Booster/issues // @copyright Copyright © 2025 NianBroken. All rights reserved. // @license Apache-2.0 license // @downloadURL none // ==/UserScript== (function () { 'use strict'; // =================================================================================== // === 全局配置 (CONSTANTS & CONFIGURATION) === // =================================================================================== // 本区域集中了所有用户将来可能需要调整的参数。 // 修改前请务必理解各参数的含义及其对脚本功能的影响。 // =================================================================================== const CONFIG = { // --- 脚本基础信息 --- SCRIPT_NAME: 'Aizex增强插件', // 脚本名称,用于日志输出等场合,方便识别。 SCRIPT_VERSION: '1.0.2', // 脚本版本号,用于日志输出和问题追踪。 // --- 目标元素选择器 (CSS Selectors) --- // 这些选择器用于在目标网页上定位特定的HTML元素。 // !! 警告:如果目标网站的HTML结构发生变化,导致这些选择器失效,脚本的相应功能将无法正常工作。!! // !! 在不完全理解其作用前,请勿随意修改这些路径,以免导致功能异常。!! SELECTORS: { // “高级设置”按钮将被注入到此选择器指向的容器的起始位置。 ADVANCED_SETTINGS_BUTTON_TARGET_CONTAINER: "#conversation-header-actions", // “高级设置”按钮将尝试复制此选择器指向的按钮的样式。 ADVANCED_SETTINGS_BUTTON_STYLE_REFERENCE: "#conversation-header-actions .btn-secondary", // “积分显示”面板将被注入到此选择器指向的容器的末尾。 POINTS_PANEL_TARGET_CONTAINER: "body > div.flex.h-full.w-full.flex-col > div > div.relative.flex.h-full.w-full.flex-row.overflow-hidden > div.bg-token-sidebar-surface-primary.z-21.shrink-0.overflow-x-hidden.\\[view-transition-name\\:var\\(--sidebar-slideover\\)\\].max-md\\:w-0\\! > div > div > div > nav", // “隐藏侧边工具栏入口”功能将尝试移除此选择器指向的按钮。 SIDEBAR_TOGGLE_BUTTON: "#toggleButton", // “隐藏侧边工具栏入口”功能还将尝试移除此选择器指向的状态侧边栏元素。 STATUS_SIDEBAR: "#StatusSidebar", // 新增:状态侧边栏的选择器 // “隐藏滚动至末尾按钮”功能将尝试移除此选择器指向的按钮。 SCROLL_TO_END_BUTTON: "#thread > div > div.flex.shrink.basis-auto.flex-col.overflow-hidden.-mb-\\(--composer-overlap-px\\).\\[--composer-overlap-px\\:24px\\].grow > div > div > div.\\@thread-xl\\/thread\\:pt-header-height.mt-1\\.5.flex.flex-col.text-sm.md\\:pb-9 > div:nth-child(5) > button", // “优化界面”功能将尝试移除此选择器指向的元素,并用一个占位符替换。 OPTIMIZE_UI_TARGET_ELEMENT: "#thread-bottom-container > div.text-token-text-secondary.relative.mt-auto.flex.min-h-8.w-full.items-center.justify-center.p-2.text-center.text-xs.md\\:px-\\[60px\\]", // “自定义头像”功能将修改此选择器指向的元素的src属性。 // 使用 data-testid 和 alt 属性进行定位,期望能比动态ID更稳定。 CUSTOM_AVATAR_IMAGE: 'button[data-testid="profile-button"] img[alt="User"]', }, // --- 脚本创建元素的ID --- // 为脚本动态创建的DOM元素分配的ID,用于后续的查找、修改或移除操作。 // 保持这些ID的独特性,以避免与页面原有元素的ID冲突。 ELEMENT_IDS: { ADVANCED_SETTINGS_BUTTON: 'aizex-enhancer-adv-settings-btn', SETTINGS_PANEL: 'aizex-enhancer-settings-panel', SCROLLABLE_CONTENT_AREA: 'aizex-enhancer-scrollable-content', OVERLAY: 'aizex-enhancer-overlay', QUOTA_PANEL_CONTAINER: 'aizex-enhancer-quota-panel', OPTIMIZE_UI_PLACEHOLDER: 'aizex-enhancer-optimize-ui-placeholder', HIDE_SIDEBAR_STYLE_TAG: 'aizex-enhancer-hide-sidebar-style', // 新增:用于隐藏侧边栏的