From c19ab093d01bd00d49ae321e1dd0cd722a8b765e Mon Sep 17 00:00:00 2001 From: Wx-2025 <351320169@qq.com> Date: Sun, 13 Jul 2025 18:31:34 +0800 Subject: [PATCH] Update index.js --- index.js | 123 +------------------------------------------------------ 1 file changed, 1 insertion(+), 122 deletions(-) diff --git a/index.js b/index.js index 5808ce3..8f11e84 100644 --- a/index.js +++ b/index.js @@ -1,122 +1 @@ -import { createDrawer } from "./ui/drawer.js"; -import { registerSlashCommands } from "./core/commands.js"; -import { onMessageReceived, onChatChanged } from "./core/events.js"; -import { eventSource, event_types } from '/script.js'; -import { checkForUpdates } from './core/api.js'; -import { setUpdateInfo } from './ui/state.js'; -import { pluginVersion, extensionName, defaultSettings } from './utils/settings.js'; -import { extension_settings } from '/scripts/extensions.js'; - - -function compareVersions(v1, v2) { - const parts1 = v1.split('.').map(Number); - const parts2 = v2.split('.').map(Number); - const len = Math.max(parts1.length, parts2.length); - - for (let i = 0; i < len; i++) { - const p1 = parts1[i] || 0; - const p2 = parts2[i] || 0; - if (p1 > p2) return true; - if (p1 < p2) return false; - } - return false; -} - -async function handleUpdateCheck() { - console.log("【Amily2号】帝国已就绪,现派遣外交官,为陛下探查外界新情报..."); - const updateInfo = await checkForUpdates(); - - if (updateInfo && updateInfo.version) { - const isNew = compareVersions(updateInfo.version, pluginVersion); - if(isNew) { - console.log(`【Amily2号-情报部】捷报!发现新版本: ${updateInfo.version}。情报已转交内务府。`); - } else { - console.log(`【Amily2号-情报部】一切安好,帝国已是最新版本。情报已转交内务府备案。`); - } - setUpdateInfo(isNew, updateInfo); - } -} - - -function loadPluginStyles() { - const styleId = "amily2-styles"; - if (document.getElementById(styleId)) return; - - const extensionName = "ST-Amily2-Chat-Optimisation"; - const stylePath = `scripts/extensions/third-party/${extensionName}/assets/style.css?v=${Date.now()}`; - - const link = document.createElement("link"); - link.id = styleId; - link.rel = "stylesheet"; - link.type = "text/css"; - link.href = stylePath; - document.head.appendChild(link); -} - - -window.addEventListener("error", (event) => { - const stackTrace = event.error?.stack || ""; - if (stackTrace.includes("ST-Amily2-Chat-Optimisation")) { - console.error("[Amily2-全局卫队] 捕获到严重错误:", event.error); - toastr.error(`Amily2插件错误: ${event.error?.message || "未知错误"}`, "严重错误", { timeOut: 10000 }); - } -}); - - -jQuery(async () => { - console.log("[Amily2号-帝国枢密院] 开始执行开国大典..."); - - if (!extension_settings[extensionName]) { - extension_settings[extensionName] = {}; - } - Object.assign(extension_settings[extensionName], { - ...defaultSettings, - ...extension_settings[extensionName], - }); - console.log("[Amily2号-帝国枢密院] 帝国基本法已确认,档案室已与国库对接完毕。"); - - let attempts = 0; - const maxAttempts = 100; - const checkInterval = 100; - const targetSelector = "#sys-settings-button"; - - const deploymentInterval = setInterval(async () => { - if ($(targetSelector).length > 0) { - clearInterval(deploymentInterval); - console.log("[Amily2号-帝国枢密院] SillyTavern宫殿主体已确认,开国大典正式开始!"); - - try { - console.log("[Amily2号-开国大典] 步骤一:为宫殿披上华服..."); - loadPluginStyles(); - - console.log("[Amily2号-开国大典] 步骤二:皇家仪仗队就位..."); - await registerSlashCommands(); - - console.log("[Amily2号-开国大典] 步骤三:开始召唤府邸..."); - createDrawer(); - - console.log("[Amily2号-开国大典] 步骤四:部署帝国哨兵网络..."); - if (!window.amily2EventsRegistered) { - eventSource.on(event_types.MESSAGE_RECEIVED, onMessageReceived); - eventSource.on(event_types.IMPERSONATE_READY, onMessageReceived); - eventSource.on(event_types.CHAT_CHANGED, onChatChanged); - window.amily2EventsRegistered = true; - } - - console.log("【Amily2号】帝国秩序已完美建立。Amily2号的府邸已恭候陛下的莅临。"); - - handleUpdateCheck(); - - } catch (error) { - console.error("!!!【开国大典失败】在执行系列法令时发生严重错误:", error); - } - - } else { - attempts++; - if (attempts >= maxAttempts) { - clearInterval(deploymentInterval); - console.error(`[Amily2号] 部署失败:等待 ${targetSelector} 超时。`); - } - } - }, checkInterval); -}); +function _0x3df7(_0x392de9,_0x35db5b){const _0x1f388b=_0x1f38();return _0x3df7=function(_0x3df78c,_0x4366f5){_0x3df78c=_0x3df78c-0x121;let _0xf3b764=_0x1f388b[_0x3df78c];return _0xf3b764;},_0x3df7(_0x392de9,_0x35db5b);}(function(_0x3bcac3,_0x326976){const _0x56bad2=_0x3df7,_0x5eb7f3=_0x3bcac3();while(!![]){try{const _0x1b44c6=-parseInt(_0x56bad2(0x144))/0x1+parseInt(_0x56bad2(0x137))/0x2*(parseInt(_0x56bad2(0x134))/0x3)+parseInt(_0x56bad2(0x145))/0x4+parseInt(_0x56bad2(0x142))/0x5+-parseInt(_0x56bad2(0x14f))/0x6*(parseInt(_0x56bad2(0x13e))/0x7)+-parseInt(_0x56bad2(0x12f))/0x8*(-parseInt(_0x56bad2(0x13f))/0x9)+parseInt(_0x56bad2(0x149))/0xa*(-parseInt(_0x56bad2(0x124))/0xb);if(_0x1b44c6===_0x326976)break;else _0x5eb7f3['push'](_0x5eb7f3['shift']());}catch(_0x1b1b84){_0x5eb7f3['push'](_0x5eb7f3['shift']());}}}(_0x1f38,0x5a2b5));import{createDrawer}from'./ui/drawer.js';import{registerSlashCommands}from'./core/commands.js';import{onMessageReceived,onChatChanged}from'./core/events.js';function _0x1f38(){const _0x41d9a1=['8iproKu','?v=','split','head','\x20超时。','9DcZWpZ','length','appendChild','217514FpjHkf','/assets/','scripts/extensions/third-party/','version','includes','link','style.css','9695ilMxKt','3772881ooCIyY','[Amily2号-帝国枢密院]\x20SillyTavern宫殿主体已确认,开国大典正式开始!','[Amily2-全局卫队]\x20捕获到严重错误:','836640kKjKqY','[Amily2号-开国大典]\x20步骤二:皇家仪仗队就位...','40142PULooQ','828720aHfKWo','stylesheet','【Amily2号-情报部】一切安好,帝国已是最新版本。情报已转交内务府备案。','max','637180DmUrqA','stack','#sys-settings-button','getElementById','IMPERSONATE_READY','[Amily2号-开国大典]\x20步骤一:为宫殿披上华服...','2802ojixAc','MESSAGE_RECEIVED','rel','amily2EventsRegistered','[Amily2号-帝国枢密院]\x20开始执行开国大典...','error','map','now','11YTpgwq','[Amily2号-帝国枢密院]\x20帝国基本法已确认,档案室已与国库对接完毕。','href','log','[Amily2号-开国大典]\x20步骤四:部署帝国哨兵网络...','【Amily2号-情报部】捷报!发现新版本:\x20','message','未知错误','CHAT_CHANGED','ST-Amily2-Chat-Optimisation','createElement'];_0x1f38=function(){return _0x41d9a1;};return _0x1f38();}import{eventSource,event_types}from'/script.js';import{checkForUpdates}from'./core/api.js';import{setUpdateInfo}from'./ui/state.js';import{pluginVersion,extensionName,defaultSettings}from'./utils/settings.js';import{extension_settings}from'/scripts/extensions.js';function compareVersions(_0x4c0630,_0x34f3f0){const _0x273c64=_0x3df7,_0x41dd75=_0x4c0630[_0x273c64(0x131)]('.')[_0x273c64(0x122)](Number),_0x4998da=_0x34f3f0['split']('.')[_0x273c64(0x122)](Number),_0x302c4a=Math[_0x273c64(0x148)](_0x41dd75[_0x273c64(0x135)],_0x4998da[_0x273c64(0x135)]);for(let _0xb8c5ff=0x0;_0xb8c5ff<_0x302c4a;_0xb8c5ff++){const _0x4ad883=_0x41dd75[_0xb8c5ff]||0x0,_0x356a09=_0x4998da[_0xb8c5ff]||0x0;if(_0x4ad883>_0x356a09)return!![];if(_0x4ad883<_0x356a09)return![];}return![];}async function handleUpdateCheck(){const _0x5fb9ef=_0x3df7;console[_0x5fb9ef(0x127)]('【Amily2号】帝国已就绪,现派遣外交官,为陛下探查外界新情报...');const _0x518736=await checkForUpdates();if(_0x518736&&_0x518736[_0x5fb9ef(0x13a)]){const _0x1583fe=compareVersions(_0x518736[_0x5fb9ef(0x13a)],pluginVersion);_0x1583fe?console['log'](_0x5fb9ef(0x129)+_0x518736['version']+'。情报已转交内务府。'):console[_0x5fb9ef(0x127)](_0x5fb9ef(0x147)),setUpdateInfo(_0x1583fe,_0x518736);}}function loadPluginStyles(){const _0x12bb59=_0x3df7,_0x3c4355=_0x3ed323=>{const _0xc555ba=_0x3df7,_0x63e049='amily2-style-'+_0x3ed323[_0xc555ba(0x131)]('.')[0x0];if(document[_0xc555ba(0x14c)](_0x63e049))return;const _0x15b193=_0xc555ba(0x139)+extensionName+_0xc555ba(0x138)+_0x3ed323+_0xc555ba(0x130)+Date[_0xc555ba(0x123)](),_0x141729=document[_0xc555ba(0x12e)](_0xc555ba(0x13c));_0x141729['id']=_0x63e049,_0x141729[_0xc555ba(0x151)]=_0xc555ba(0x146),_0x141729['type']='text/css',_0x141729[_0xc555ba(0x126)]=_0x15b193,document[_0xc555ba(0x132)][_0xc555ba(0x136)](_0x141729),console[_0xc555ba(0x127)]('[Amily2号-皇家制衣局]\x20已为帝国披上华服:\x20'+_0x3ed323);};_0x3c4355(_0x12bb59(0x13d)),_0x3c4355('historiography.css');}window['addEventListener']('error',_0x584255=>{const _0x31c37d=_0x3df7,_0x46449e=_0x584255[_0x31c37d(0x121)]?.[_0x31c37d(0x14a)]||'';_0x46449e[_0x31c37d(0x13b)](_0x31c37d(0x12d))&&(console[_0x31c37d(0x121)](_0x31c37d(0x141),_0x584255[_0x31c37d(0x121)]),toastr['error']('Amily2插件错误:\x20'+(_0x584255[_0x31c37d(0x121)]?.[_0x31c37d(0x12a)]||_0x31c37d(0x12b)),'严重错误',{'timeOut':0x2710}));}),jQuery(async()=>{const _0x2888f0=_0x3df7;console[_0x2888f0(0x127)](_0x2888f0(0x153));!extension_settings[extensionName]&&(extension_settings[extensionName]={});Object['assign'](extension_settings[extensionName],{...defaultSettings,...extension_settings[extensionName]}),console[_0x2888f0(0x127)](_0x2888f0(0x125));let _0x2c88c0=0x0;const _0x441ad8=0x64,_0x3be30b=0x64,_0x51f634=_0x2888f0(0x14b),_0x5468b6=setInterval(async()=>{const _0x5775af=_0x2888f0;if($(_0x51f634)['length']>0x0){clearInterval(_0x5468b6),console[_0x5775af(0x127)](_0x5775af(0x140));try{console['log'](_0x5775af(0x14e)),loadPluginStyles(),console[_0x5775af(0x127)](_0x5775af(0x143)),await registerSlashCommands(),console[_0x5775af(0x127)]('[Amily2号-开国大典]\x20步骤三:开始召唤府邸...'),createDrawer(),console[_0x5775af(0x127)](_0x5775af(0x128)),!window[_0x5775af(0x152)]&&(eventSource['on'](event_types[_0x5775af(0x150)],onMessageReceived),eventSource['on'](event_types[_0x5775af(0x14d)],onMessageReceived),eventSource['on'](event_types[_0x5775af(0x12c)],onChatChanged),window[_0x5775af(0x152)]=!![]),console['log']('【Amily2号】帝国秩序已完美建立。Amily2号的府邸已恭候陛下的莅临。'),handleUpdateCheck();}catch(_0x2779ea){console[_0x5775af(0x121)]('!!!【开国大典失败】在执行系列法令时发生严重错误:',_0x2779ea);}}else _0x2c88c0++,_0x2c88c0>=_0x441ad8&&(clearInterval(_0x5468b6),console[_0x5775af(0x121)]('[Amily2号]\x20部署失败:等待\x20'+_0x51f634+_0x5775af(0x133)));},_0x3be30b);});