Files
ST-Amily2-Chat-Optimisation/ui/drawer.js
2025-08-05 06:30:12 +08:00

2 lines
10 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
const _0x13dfc3=_0x9c01;(function(_0x4b8171,_0xee852d){const _0x5c0433=_0x9c01,_0x46b8da=_0x4b8171();while(!![]){try{const _0x12ab3f=-parseInt(_0x5c0433(0x11e))/0x1+-parseInt(_0x5c0433(0x10c))/0x2+parseInt(_0x5c0433(0x114))/0x3+parseInt(_0x5c0433(0x104))/0x4*(parseInt(_0x5c0433(0x117))/0x5)+-parseInt(_0x5c0433(0xf1))/0x6+-parseInt(_0x5c0433(0x11f))/0x7*(-parseInt(_0x5c0433(0x126))/0x8)+parseInt(_0x5c0433(0x130))/0x9*(parseInt(_0x5c0433(0x127))/0xa);if(_0x12ab3f===_0xee852d)break;else _0x46b8da['push'](_0x46b8da['shift']());}catch(_0xf9e38){_0x46b8da['push'](_0x46b8da['shift']());}}}(_0x57cd,0xe2ee1));import{getSlideToggleOptions}from'/script.js';import{slideToggle}from'/lib.js';import{extension_settings,renderExtensionTemplateAsync}from'/scripts/extensions.js';import{extensionName,defaultSettings}from'../utils/settings.js';import{checkAuthorization,displayExpiryInfo,pluginAuthStatus}from'../utils/auth.js';import{updateUI,setAvailableModels,populateModelDropdown,applyUpdateIndicator}from'./state.js';import{bindModalEvents}from'./bindings.js';import{fetchSupportedModels}from'../core/api.js';import{bindHistoriographyEvents}from'./historiography-bindings.js';import{bindHanlinyuanEvents}from'./hanlinyuan-bindings.js';import{showContentModal}from'./page-window.js';const extensionFolderPath=_0x13dfc3(0x106)+extensionName;function _0x9c01(_0x3a48e6,_0x15833c){const _0x57cde1=_0x57cd();return _0x9c01=function(_0x9c019,_0x1bd3b4){_0x9c019=_0x9c019-0xe7;let _0x109f49=_0x57cde1[_0x9c019];return _0x109f49;},_0x9c01(_0x3a48e6,_0x15833c);}async function loadSettings(){const _0x219a83=_0x13dfc3;extension_settings[extensionName]={...defaultSettings,...extension_settings[extensionName]||{}},checkAuthorization();const _0x9540a6=localStorage[_0x219a83(0x123)](_0x219a83(0x10b))===_0x219a83(0xe8);console[_0x219a83(0x12a)](_0x219a83(0xf4)+pluginAuthStatus[_0x219a83(0x10e)]+_0x219a83(0x10d)+_0x9540a6);_0x9540a6&&pluginAuthStatus[_0x219a83(0x10e)]&&console[_0x219a83(0x12a)](_0x219a83(0x122));$(_0x219a83(0xe7))[_0x219a83(0x112)](displayExpiryInfo()),updateUI();if(pluginAuthStatus[_0x219a83(0x10e)]&&extension_settings[extensionName]['apiUrl']){const _0x1435eb=localStorage['getItem'](_0x219a83(0x11b));if(_0x1435eb){const _0x25b9a6=JSON['parse'](_0x1435eb);console[_0x219a83(0x12a)]('[Amily2号]\x20从缓存加载模型列表\x20('+_0x25b9a6[_0x219a83(0x10a)]+'个)'),setAvailableModels(_0x25b9a6),populateModelDropdown();}else toastr[_0x219a83(0xef)](_0x219a83(0xfa),'Amily2号'),setTimeout(async()=>{const _0x4e6d08=_0x219a83,_0x283b94=await fetchSupportedModels();_0x283b94[_0x4e6d08(0x10a)]>0x0&&(setAvailableModels(_0x283b94),localStorage[_0x4e6d08(0xeb)](_0x4e6d08(0x11b),JSON[_0x4e6d08(0x120)](_0x283b94)),populateModelDropdown());},0x1f4);}}async function initializePanel(_0x218990,_0x26f0e1){const _0x29c0b8=_0x13dfc3;if(_0x218990[_0x29c0b8(0xf2)]('initialized'))return;try{const _0x1064cc=await $[_0x29c0b8(0x12e)](extensionFolderPath+_0x29c0b8(0xec));_0x218990[_0x29c0b8(0x112)](_0x1064cc);const _0x338045=_0x218990['find'](_0x29c0b8(0x109));if(_0x338045[_0x29c0b8(0x10a)]){const _0x378022=await $[_0x29c0b8(0x12e)](extensionFolderPath+_0x29c0b8(0xf3)),_0x3649d9=_0x29c0b8(0x116)+_0x378022+_0x29c0b8(0x12b);_0x338045[_0x29c0b8(0x124)](_0x3649d9);const _0x320230=await $[_0x29c0b8(0x12e)](extensionFolderPath+_0x29c0b8(0xea)),_0x2d0d66='<div\x20id=\x22amily2_hanlinyuan_panel\x22\x20style=\x22display:\x20none;\x22>'+_0x320230+_0x29c0b8(0x12b);_0x338045[_0x29c0b8(0x124)](_0x2d0d66);}await loadSettings(),bindModalEvents(),bindHistoriographyEvents(),bindHanlinyuanEvents(),_0x218990[_0x29c0b8(0xf2)]('initialized',!![]),console[_0x29c0b8(0x12a)]('[Amily-重构]\x20宫殿模块已按蓝图竣工。'),applyUpdateIndicator();}catch(_0x63dab2){console[_0x29c0b8(0xfb)]('[Amily-建设部]\x20紧急报告加载模块化蓝图时发生意外:',_0x63dab2);const _0x4e64c7=_0x26f0e1?_0x29c0b8(0xee):_0x29c0b8(0xfd);_0x26f0e1?_0x26f0e1[_0x29c0b8(0x124)](_0x4e64c7):_0x218990['html'](_0x4e64c7);}}function toggleDrawerFallback(){const _0x56dce5=_0x13dfc3,_0x4b69dd=$('#amily2_drawer_icon'),_0x1fdc23=$(_0x56dce5(0x12f));_0x4b69dd[_0x56dce5(0x105)](_0x56dce5(0x12d))&&!_0x1fdc23['is'](_0x56dce5(0x111))&&_0x4b69dd[_0x56dce5(0x107)](_0x56dce5(0x12d))[_0x56dce5(0x102)](_0x56dce5(0x110)),_0x4b69dd['hasClass'](_0x56dce5(0x110))?($(_0x56dce5(0xfc))[_0x56dce5(0xfe)](_0x1fdc23)[_0x56dce5(0xfe)](_0x56dce5(0xff))[_0x56dce5(0x102)]('resizing')[_0x56dce5(0x11c)]((_0x29eb10,_0x36c9f8)=>{slideToggle(_0x36c9f8,{...getSlideToggleOptions(),'onAnimationEnd':function(_0x3d85cf){const _0x145f16=_0x9c01;_0x3d85cf[_0x145f16(0xe9)](_0x145f16(0x129))['classList'][_0x145f16(0x108)]('resizing');}});}),$(_0x56dce5(0x118))[_0x56dce5(0xfe)](_0x4b69dd)[_0x56dce5(0xfe)]('.drawerPinnedOpen')[_0x56dce5(0x103)](_0x56dce5(0x125)),$(_0x56dce5(0xfc))['not'](_0x1fdc23)[_0x56dce5(0xfe)](_0x56dce5(0xff))['toggleClass'](_0x56dce5(0x100)),_0x4b69dd[_0x56dce5(0x103)](_0x56dce5(0x125)),_0x1fdc23[_0x56dce5(0x103)](_0x56dce5(0x100)),_0x1fdc23[_0x56dce5(0x102)]('resizing')[_0x56dce5(0x11c)]((_0x346405,_0xd739aa)=>{slideToggle(_0xd739aa,{...getSlideToggleOptions(),'onAnimationEnd':function(_0x23fa6b){const _0x43beaa=_0x9c01;_0x23fa6b['closest'](_0x43beaa(0x129))[_0x43beaa(0x10f)][_0x43beaa(0x108)](_0x43beaa(0x101));}});})):(_0x4b69dd[_0x56dce5(0x103)](_0x56dce5(0xed)),_0x1fdc23[_0x56dce5(0x103)]('openDrawer\x20closedDrawer'),_0x1fdc23[_0x56dce5(0x102)](_0x56dce5(0x101))['each']((_0x386455,_0x58d74c)=>{slideToggle(_0x58d74c,{...getSlideToggleOptions(),'onAnimationEnd':function(_0x5db078){const _0x1f7ded=_0x9c01;_0x5db078[_0x1f7ded(0xe9)](_0x1f7ded(0x129))['classList'][_0x1f7ded(0x108)](_0x1f7ded(0x101));}});}));}function _0x57cd(){const _0x4a7ac9=['info','#amily2_main_drawer\x20.drawer-toggle','6983874syNPiT','data','/assets/Amily2-AdditionalFeatures.html','[Amily2-调试]\x20授权状态:\x20','.inline-drawer-content','/script.js','\x0a\x20\x20\x20\x20\x20\x20<div\x20id=\x22amily2_extension_frame\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22inline-drawer\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22inline-drawer-toggle\x20inline-drawer-header\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<b><i\x20class=\x22fas\x20fa-crown\x22\x20style=\x22color:\x20#ffc107;\x22></i>\x20Amily2号\x20优化中枢</b>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22inline-drawer-icon\x20fa-solid\x20fa-circle-chevron-down\x20down\x22></div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22inline-drawer-content\x22\x20style=\x22display:\x20none;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20','iconLocation','doNavbarIconClick\x20is\x20not\x20a\x20function','正在自动加载模型列表...','error','.openDrawer','<p\x20style=\x22color:red;\x20padding:\x2020px;\x22>紧急报告无法加载Amily2号府邸内饰。</p>','not','.pinnedOpen','closedDrawer\x20openDrawer','resizing','addClass','toggleClass','1550380jgSHvo','hasClass','scripts/extensions/third-party/','removeClass','remove','#amily2_chat_optimiser','length','plugin_auto_login','2485662IsTQLV',',\x20自动登录标志:\x20','authorized','classList','closedIcon',':visible','html','[Amily2-兼容性]\x20检测到旧版环境\x20(无法导入\x20doNavbarIconClick),已绑定后备点击事件。','4875864PTlnSk','#amily2_main_drawer','<div\x20id=\x22amily2_additional_features_panel\x22\x20style=\x22display:\x20none;\x22>','20zQwlQp','.openIcon','#extensions_settings2','#extensions_settings2\x20#amily2_chat_optimiser','cached_models_amily2','each','click','756874NeDPKj','1273874jPDtPL','stringify','extensions','[Amily2号]\x20检测到有效授权将执行自动UI更新。','getItem','append','closedIcon\x20openIcon','8nigTVM','1190BfJSlU','[Amily2-兼容性]\x20检测到新版环境已绑定官方点击事件。','.drawer-content','log','</div>','topbar','openIcon','get','#amily2_drawer_content','55629WMNnsn','#expiry_info','true','closest','/assets/hanlinyuan.html','setItem','/assets/amily2-modal.html','openIcon\x20closedIcon','<p\x20style=\x22color:red;\x20padding:10px;\x20border:1px\x20solid\x20red;\x20border-radius:5px;\x22>紧急报告在扩展区域建造Amily2号府邸时发生意外。</p>'];_0x57cd=function(){return _0x4a7ac9;};return _0x57cd();}export async function createDrawer(){const _0x5abbd1=_0x13dfc3,_0x2170da=extension_settings[extensionName],_0x326ec6=_0x2170da[_0x5abbd1(0xf8)]||_0x5abbd1(0x12c);if(_0x326ec6===_0x5abbd1(0x12c)){if($(_0x5abbd1(0x115))[_0x5abbd1(0x10a)]>0x0)return;const _0xf540c2='\x0a\x20\x20\x20\x20\x20\x20<div\x20id=\x22amily2_main_drawer\x22\x20class=\x22drawer\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22drawer-toggle\x22\x20data-drawer=\x22amily2_drawer_content\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20id=\x22amily2_drawer_icon\x22\x20class=\x22drawer-icon\x20fa-solid\x20fa-magic\x20fa-fw\x20closedIcon\x20interactable\x22\x20title=\x22Amily2号优化助手\x22\x20tabindex=\x220\x22></div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20id=\x22amily2_drawer_content\x22\x20class=\x22drawer-content\x20closedDrawer\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20';$('#sys-settings-button')['after'](_0xf540c2);const _0x3614b1=$(_0x5abbd1(0x12f));await initializePanel(_0x3614b1);try{const {doNavbarIconClick:_0x1ead75}=await import(_0x5abbd1(0xf6));if(typeof _0x1ead75==='function')$(_0x5abbd1(0xf0))['on']('click',_0x1ead75),console[_0x5abbd1(0x12a)](_0x5abbd1(0x128));else throw new Error(_0x5abbd1(0xf9));}catch(_0x5cb93a){$(_0x5abbd1(0xf0))['on'](_0x5abbd1(0x11d),toggleDrawerFallback),console['log'](_0x5abbd1(0x113));}}else{if(_0x326ec6===_0x5abbd1(0x121)){if($(_0x5abbd1(0x11a))[_0x5abbd1(0x10a)]>0x0)return;const _0x3826bb=_0x5abbd1(0xf7),_0x1a6abf=$(_0x3826bb);$(_0x5abbd1(0x119))[_0x5abbd1(0x124)](_0x1a6abf);const _0x34e10d=_0x1a6abf['find'](_0x5abbd1(0xf5));initializePanel(_0x34e10d,_0x1a6abf);}}}