Files
ST-Amily2-Chat-Optimisation/ui/drawer.js
2025-08-21 11:07:25 +08:00

2 lines
11 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 _0x250ba8=_0x46a1;(function(_0x277a54,_0x173705){const _0x2b6109=_0x46a1,_0x446158=_0x277a54();while(!![]){try{const _0x4eecec=parseInt(_0x2b6109(0x20b))/0x1+-parseInt(_0x2b6109(0x22b))/0x2+-parseInt(_0x2b6109(0x239))/0x3*(-parseInt(_0x2b6109(0x1ff))/0x4)+-parseInt(_0x2b6109(0x216))/0x5+parseInt(_0x2b6109(0x20a))/0x6+parseInt(_0x2b6109(0x21b))/0x7+-parseInt(_0x2b6109(0x20c))/0x8*(parseInt(_0x2b6109(0x204))/0x9);if(_0x4eecec===_0x173705)break;else _0x446158['push'](_0x446158['shift']());}catch(_0x269634){_0x446158['push'](_0x446158['shift']());}}}(_0x5aee,0xeb512));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{fetchModels}from'../core/api.js';import{bindHistoriographyEvents}from'./historiography-bindings.js';import{bindHanlinyuanEvents}from'./hanlinyuan-bindings.js';import{bindTableEvents}from'./table-bindings.js';import{showContentModal}from'./page-window.js';const extensionFolderPath=_0x250ba8(0x205)+extensionName;function _0x46a1(_0x1be4c,_0x507819){const _0x5aee7e=_0x5aee();return _0x46a1=function(_0x46a150,_0x1504be){_0x46a150=_0x46a150-0x1f0;let _0x21dae7=_0x5aee7e[_0x46a150];return _0x21dae7;},_0x46a1(_0x1be4c,_0x507819);}async function loadSettings(){const _0x27717a=_0x250ba8;extension_settings[extensionName]={...defaultSettings,...extension_settings[extensionName]||{}},checkAuthorization();const _0x28b65d=localStorage[_0x27717a(0x227)]('plugin_auto_login')==='true';console[_0x27717a(0x1f4)]('[Amily2-调试]\x20授权状态:\x20'+pluginAuthStatus[_0x27717a(0x212)]+',\x20自动登录标志:\x20'+_0x28b65d);_0x28b65d&&pluginAuthStatus[_0x27717a(0x212)]&&console['log'](_0x27717a(0x222));$(_0x27717a(0x23c))['html'](displayExpiryInfo()),updateUI();if(pluginAuthStatus[_0x27717a(0x212)]&&extension_settings[extensionName][_0x27717a(0x1f7)]){const _0x45dcae=localStorage[_0x27717a(0x227)](_0x27717a(0x22f));if(_0x45dcae){const _0x11cf57=JSON['parse'](_0x45dcae);console[_0x27717a(0x1f4)](_0x27717a(0x218)+_0x11cf57['length']+'个)'),setAvailableModels(_0x11cf57),populateModelDropdown();}else toastr[_0x27717a(0x233)]('正在自动加载模型列表...','Amily2号'),setTimeout(async()=>{const _0x2f0fba=_0x27717a,_0x363f71=await fetchModels();_0x363f71[_0x2f0fba(0x219)]>0x0&&(setAvailableModels(_0x363f71),localStorage[_0x2f0fba(0x236)](_0x2f0fba(0x22f),JSON[_0x2f0fba(0x1f9)](_0x363f71)),populateModelDropdown());},0x1f4);}}function _0x5aee(){const _0x4c183f=['.drawer-content','</div>','openIcon\x20closedIcon','closest','getItem','find','<div\x20id=\x22amily2_memorisation_forms_panel\x22\x20style=\x22display:\x20none;\x22>','addClass','2681156UHXUxS','resizing','not','html','cached_models_amily2','.drawerPinnedOpen','<div\x20id=\x22amily2_hanlinyuan_panel\x22\x20style=\x22display:\x20none;\x22>','#extensions_settings2','info','function',':visible','setItem','/assets/Memorisation-forms.html','/assets/amily2-modal.html','2499JGtukv','removeClass','remove','#expiry_info','openDrawer\x20closedDrawer','/assets/Amily2-optimization.html','get','hasClass','log','classList','toggleClass','apiUrl','iconLocation','stringify','.openDrawer','/assets/Amily2-AdditionalFeatures.html','/assets/hanlinyuan.html','\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','data','2324gXWUsc','error','closedIcon\x20openIcon','<div\x20id=\x22amily2_additional_features_panel\x22\x20style=\x22display:\x20none;\x22>','closedIcon','63cDEoLZ','scripts/extensions/third-party/','[Amily-重构]\x20宫殿模块已按蓝图竣工。','#amily2_drawer_icon','closedDrawer\x20openDrawer','after','10529970KVNlRH','731589IJJXFq','13696wxKunQ','#amily2_drawer_content','doNavbarIconClick\x20is\x20not\x20a\x20function','/script.js','#amily2_main_drawer','openIcon','authorized','initialized','.openIcon','append','5539485HqtRpR','<p\x20style=\x22color:red;\x20padding:\x2020px;\x22>紧急报告无法加载Amily2号府邸内饰。</p>','[Amily2号]\x20从缓存加载模型列表\x20(','length','<div\x20id=\x22amily2_plot_optimization_panel\x22\x20style=\x22display:\x20none;\x22>','3176320TPVUlz','.pinnedOpen','each','\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','[Amily2-兼容性]\x20检测到旧版环境\x20(无法导入\x20doNavbarIconClick),已绑定后备点击事件。','click','#amily2_chat_optimiser','[Amily2号]\x20检测到有效授权将执行自动UI更新。'];_0x5aee=function(){return _0x4c183f;};return _0x5aee();}async function initializePanel(_0x3335f6,_0x270f63){const _0x2f5bfb=_0x250ba8;if(_0x3335f6[_0x2f5bfb(0x1fe)](_0x2f5bfb(0x213)))return;try{const _0x5eeca9=await $['get'](extensionFolderPath+_0x2f5bfb(0x238));_0x3335f6['html'](_0x5eeca9);const _0x557799=_0x3335f6[_0x2f5bfb(0x228)](_0x2f5bfb(0x221));if(_0x557799[_0x2f5bfb(0x219)]){const _0x1ac35a=await $[_0x2f5bfb(0x1f2)](extensionFolderPath+_0x2f5bfb(0x1fb)),_0x166ffa=_0x2f5bfb(0x202)+_0x1ac35a+_0x2f5bfb(0x224);_0x557799[_0x2f5bfb(0x215)](_0x166ffa);const _0x5eb17a=await $[_0x2f5bfb(0x1f2)](extensionFolderPath+_0x2f5bfb(0x1fc)),_0x444700=_0x2f5bfb(0x231)+_0x5eb17a+'</div>';_0x557799[_0x2f5bfb(0x215)](_0x444700);const _0x22d8bb=await $['get'](extensionFolderPath+_0x2f5bfb(0x237)),_0x4c6f80=_0x2f5bfb(0x229)+_0x22d8bb+_0x2f5bfb(0x224);_0x557799['append'](_0x4c6f80);const _0x41fe37=await $[_0x2f5bfb(0x1f2)](extensionFolderPath+_0x2f5bfb(0x1f1)),_0x7c92f6=_0x2f5bfb(0x21a)+_0x41fe37+_0x2f5bfb(0x224);_0x557799[_0x2f5bfb(0x215)](_0x7c92f6);}await loadSettings(),bindModalEvents(),bindHistoriographyEvents(),bindHanlinyuanEvents(),bindTableEvents(),_0x3335f6[_0x2f5bfb(0x1fe)]('initialized',!![]),console[_0x2f5bfb(0x1f4)](_0x2f5bfb(0x206)),applyUpdateIndicator();}catch(_0x2a3beb){console[_0x2f5bfb(0x200)]('[Amily-建设部]\x20紧急报告加载模块化蓝图时发生意外:',_0x2a3beb);const _0x2b4668=_0x270f63?'<p\x20style=\x22color:red;\x20padding:10px;\x20border:1px\x20solid\x20red;\x20border-radius:5px;\x22>紧急报告在扩展区域建造Amily2号府邸时发生意外。</p>':_0x2f5bfb(0x217);_0x270f63?_0x270f63[_0x2f5bfb(0x215)](_0x2b4668):_0x3335f6[_0x2f5bfb(0x22e)](_0x2b4668);}}function toggleDrawerFallback(){const _0x7d0529=_0x250ba8,_0x5b6c17=$(_0x7d0529(0x207)),_0x51246a=$(_0x7d0529(0x20d));_0x5b6c17[_0x7d0529(0x1f3)](_0x7d0529(0x211))&&!_0x51246a['is'](_0x7d0529(0x235))&&_0x5b6c17[_0x7d0529(0x23a)](_0x7d0529(0x211))['addClass'](_0x7d0529(0x203)),_0x5b6c17[_0x7d0529(0x1f3)]('closedIcon')?($(_0x7d0529(0x1fa))['not'](_0x51246a)[_0x7d0529(0x22d)](_0x7d0529(0x21c))['addClass'](_0x7d0529(0x22c))[_0x7d0529(0x21d)]((_0xf8ce80,_0x50fc99)=>{slideToggle(_0x50fc99,{...getSlideToggleOptions(),'onAnimationEnd':function(_0x2978ef){const _0x3aad91=_0x46a1;_0x2978ef[_0x3aad91(0x226)](_0x3aad91(0x223))[_0x3aad91(0x1f5)][_0x3aad91(0x23b)](_0x3aad91(0x22c));}});}),$(_0x7d0529(0x214))[_0x7d0529(0x22d)](_0x5b6c17)['not'](_0x7d0529(0x230))[_0x7d0529(0x1f6)](_0x7d0529(0x201)),$(_0x7d0529(0x1fa))['not'](_0x51246a)[_0x7d0529(0x22d)](_0x7d0529(0x21c))[_0x7d0529(0x1f6)](_0x7d0529(0x208)),_0x5b6c17['toggleClass'](_0x7d0529(0x201)),_0x51246a['toggleClass'](_0x7d0529(0x208)),_0x51246a[_0x7d0529(0x22a)](_0x7d0529(0x22c))[_0x7d0529(0x21d)]((_0x3f9bc6,_0x1e366c)=>{slideToggle(_0x1e366c,{...getSlideToggleOptions(),'onAnimationEnd':function(_0x5d16b4){const _0x45b24f=_0x46a1;_0x5d16b4[_0x45b24f(0x226)](_0x45b24f(0x223))[_0x45b24f(0x1f5)][_0x45b24f(0x23b)]('resizing');}});})):(_0x5b6c17['toggleClass'](_0x7d0529(0x225)),_0x51246a['toggleClass'](_0x7d0529(0x1f0)),_0x51246a[_0x7d0529(0x22a)](_0x7d0529(0x22c))[_0x7d0529(0x21d)]((_0x589f9c,_0x2dc332)=>{slideToggle(_0x2dc332,{...getSlideToggleOptions(),'onAnimationEnd':function(_0x5be97b){const _0x1419d1=_0x46a1;_0x5be97b[_0x1419d1(0x226)](_0x1419d1(0x223))[_0x1419d1(0x1f5)]['remove'](_0x1419d1(0x22c));}});}));}export async function createDrawer(){const _0x1bd57f=_0x250ba8,_0x59f9a6=extension_settings[extensionName],_0xf459ff=_0x59f9a6[_0x1bd57f(0x1f8)]||'topbar';if(_0xf459ff==='topbar'){if($(_0x1bd57f(0x210))['length']>0x0)return;const _0x22b83b=_0x1bd57f(0x1fd);$('#sys-settings-button')[_0x1bd57f(0x209)](_0x22b83b);const _0x5dcd8e=$(_0x1bd57f(0x20d));await initializePanel(_0x5dcd8e);try{const {doNavbarIconClick:_0x22523c}=await import(_0x1bd57f(0x20f));if(typeof _0x22523c===_0x1bd57f(0x234))$('#amily2_main_drawer\x20.drawer-toggle')['on'](_0x1bd57f(0x220),_0x22523c),console[_0x1bd57f(0x1f4)]('[Amily2-兼容性]\x20检测到新版环境已绑定官方点击事件。');else throw new Error(_0x1bd57f(0x20e));}catch(_0x1b83ec){$('#amily2_main_drawer\x20.drawer-toggle')['on']('click',toggleDrawerFallback),console['log'](_0x1bd57f(0x21f));}}else{if(_0xf459ff==='extensions'){if($('#extensions_settings2\x20#amily2_chat_optimiser')[_0x1bd57f(0x219)]>0x0)return;const _0x326c0e=_0x1bd57f(0x21e),_0x306745=$(_0x326c0e);$(_0x1bd57f(0x232))[_0x1bd57f(0x215)](_0x306745);const _0x54ce0c=_0x306745['find']('.inline-drawer-content');initializePanel(_0x54ce0c,_0x306745);}}}