Files
ST-Amily2-Chat-Optimisation…/ui/drawer.js
2025-08-09 17:05:09 +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 _0x3ad8be=_0x353a;(function(_0x233024,_0x3ee24a){const _0xfc0303=_0x353a,_0x3c633a=_0x233024();while(!![]){try{const _0x455e9a=-parseInt(_0xfc0303(0x173))/0x1*(-parseInt(_0xfc0303(0x15b))/0x2)+-parseInt(_0xfc0303(0x19c))/0x3+-parseInt(_0xfc0303(0x164))/0x4+-parseInt(_0xfc0303(0x174))/0x5+parseInt(_0xfc0303(0x16e))/0x6*(parseInt(_0xfc0303(0x185))/0x7)+parseInt(_0xfc0303(0x15e))/0x8+parseInt(_0xfc0303(0x1a6))/0x9;if(_0x455e9a===_0x3ee24a)break;else _0x3c633a['push'](_0x3c633a['shift']());}catch(_0x5d5227){_0x3c633a['push'](_0x3c633a['shift']());}}}(_0x3da4,0xe5f65));function _0x353a(_0x204bec,_0x3840d0){const _0x3da472=_0x3da4();return _0x353a=function(_0x353a13,_0x5dadc3){_0x353a13=_0x353a13-0x15a;let _0x1046a7=_0x3da472[_0x353a13];return _0x1046a7;},_0x353a(_0x204bec,_0x3840d0);}function _0x3da4(){const _0x318abd=['parse','log','get','#extensions_settings2','append','318VSDuHl','#amily2_main_drawer','[Amily2-调试]\x20授权状态:\x20','closedDrawer\x20openDrawer','.openIcon','3984qdDNka','6457095yeBErj','hasClass','find','/assets/Memorisation-forms.html','authorized','/script.js','plugin_auto_login','[Amily-重构]\x20宫殿模块已按蓝图竣工。','getItem','initialized','toggleClass','.openDrawer','closedIcon','#amily2_drawer_content','[Amily2-兼容性]\x20检测到新版环境已绑定官方点击事件。','addClass','removeClass','101059kfAqSO','#amily2_main_drawer\x20.drawer-toggle','data','.drawerPinnedOpen','<div\x20id=\x22amily2_additional_features_panel\x22\x20style=\x22display:\x20none;\x22>','stringify','true','remove','resizing','</div>','length','topbar','Amily2号','click','not','openIcon','.drawer-content','each','info','closest','<div\x20id=\x22amily2_hanlinyuan_panel\x22\x20style=\x22display:\x20none;\x22>','openIcon\x20closedIcon','\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','3281781sZxdav','[Amily2-兼容性]\x20检测到旧版环境\x20(无法导入\x20doNavbarIconClick),已绑定后备点击事件。','/assets/hanlinyuan.html','#extensions_settings2\x20#amily2_chat_optimiser','setItem','.inline-drawer-content','#sys-settings-button','<div\x20id=\x22amily2_memorisation_forms_panel\x22\x20style=\x22display:\x20none;\x22>','scripts/extensions/third-party/','extensions','24134265oeOShN','apiUrl','#amily2_chat_optimiser','cached_models_amily2','\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','function','110nuBRLg','#expiry_info','#amily2_drawer_icon','10832128YBhabS','error','iconLocation','[Amily-建设部]\x20紧急报告加载模块化蓝图时发生意外:','html','.pinnedOpen','6770444hTGiPK','[Amily2号]\x20从缓存加载模型列表\x20(','classList','doNavbarIconClick\x20is\x20not\x20a\x20function','openDrawer\x20closedDrawer'];_0x3da4=function(){return _0x318abd;};return _0x3da4();}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{bindTableEvents}from'./table-bindings.js';import{showContentModal}from'./page-window.js';const extensionFolderPath=_0x3ad8be(0x1a4)+extensionName;async function loadSettings(){const _0x5b3769=_0x3ad8be;extension_settings[extensionName]={...defaultSettings,...extension_settings[extensionName]||{}},checkAuthorization();const _0x2f6e7a=localStorage[_0x5b3769(0x17c)](_0x5b3769(0x17a))===_0x5b3769(0x18b);console['log'](_0x5b3769(0x170)+pluginAuthStatus['authorized']+',\x20自动登录标志:\x20'+_0x2f6e7a);_0x2f6e7a&&pluginAuthStatus[_0x5b3769(0x178)]&&console[_0x5b3769(0x16a)]('[Amily2号]\x20检测到有效授权将执行自动UI更新。');$(_0x5b3769(0x15c))[_0x5b3769(0x162)](displayExpiryInfo()),updateUI();if(pluginAuthStatus[_0x5b3769(0x178)]&&extension_settings[extensionName][_0x5b3769(0x1a7)]){const _0x3fcdc2=localStorage[_0x5b3769(0x17c)]('cached_models_amily2');if(_0x3fcdc2){const _0x438892=JSON[_0x5b3769(0x169)](_0x3fcdc2);console[_0x5b3769(0x16a)](_0x5b3769(0x165)+_0x438892[_0x5b3769(0x18f)]+'个)'),setAvailableModels(_0x438892),populateModelDropdown();}else toastr[_0x5b3769(0x197)]('正在自动加载模型列表...',_0x5b3769(0x191)),setTimeout(async()=>{const _0x5946f4=_0x5b3769,_0x3d0f26=await fetchSupportedModels();_0x3d0f26[_0x5946f4(0x18f)]>0x0&&(setAvailableModels(_0x3d0f26),localStorage[_0x5946f4(0x1a0)](_0x5946f4(0x1a9),JSON[_0x5946f4(0x18a)](_0x3d0f26)),populateModelDropdown());},0x1f4);}}async function initializePanel(_0x570dfd,_0x37097e){const _0x2ac250=_0x3ad8be;if(_0x570dfd['data']('initialized'))return;try{const _0x19777a=await $[_0x2ac250(0x16b)](extensionFolderPath+'/assets/amily2-modal.html');_0x570dfd[_0x2ac250(0x162)](_0x19777a);const _0x320ad7=_0x570dfd['find'](_0x2ac250(0x1a8));if(_0x320ad7[_0x2ac250(0x18f)]){const _0x40a60f=await $[_0x2ac250(0x16b)](extensionFolderPath+'/assets/Amily2-AdditionalFeatures.html'),_0x31d15d=_0x2ac250(0x189)+_0x40a60f+_0x2ac250(0x18e);_0x320ad7[_0x2ac250(0x16d)](_0x31d15d);const _0x43fd88=await $[_0x2ac250(0x16b)](extensionFolderPath+_0x2ac250(0x19e)),_0x336122=_0x2ac250(0x199)+_0x43fd88+_0x2ac250(0x18e);_0x320ad7['append'](_0x336122);const _0x1163e4=await $[_0x2ac250(0x16b)](extensionFolderPath+_0x2ac250(0x177)),_0xd8bb1a=_0x2ac250(0x1a3)+_0x1163e4+_0x2ac250(0x18e);_0x320ad7['append'](_0xd8bb1a);}await loadSettings(),bindModalEvents(),bindHistoriographyEvents(),bindHanlinyuanEvents(),bindTableEvents(),_0x570dfd[_0x2ac250(0x187)](_0x2ac250(0x17d),!![]),console[_0x2ac250(0x16a)](_0x2ac250(0x17b)),applyUpdateIndicator();}catch(_0x247197){console[_0x2ac250(0x15f)](_0x2ac250(0x161),_0x247197);const _0xcaf638=_0x37097e?'<p\x20style=\x22color:red;\x20padding:10px;\x20border:1px\x20solid\x20red;\x20border-radius:5px;\x22>紧急报告在扩展区域建造Amily2号府邸时发生意外。</p>':'<p\x20style=\x22color:red;\x20padding:\x2020px;\x22>紧急报告无法加载Amily2号府邸内饰。</p>';_0x37097e?_0x37097e[_0x2ac250(0x16d)](_0xcaf638):_0x570dfd[_0x2ac250(0x162)](_0xcaf638);}}function toggleDrawerFallback(){const _0x463dda=_0x3ad8be,_0xda67d3=$(_0x463dda(0x15d)),_0xa30f9e=$(_0x463dda(0x181));_0xda67d3['hasClass'](_0x463dda(0x194))&&!_0xa30f9e['is'](':visible')&&_0xda67d3[_0x463dda(0x184)](_0x463dda(0x194))[_0x463dda(0x183)](_0x463dda(0x180)),_0xda67d3[_0x463dda(0x175)]('closedIcon')?($(_0x463dda(0x17f))[_0x463dda(0x193)](_0xa30f9e)[_0x463dda(0x193)](_0x463dda(0x163))[_0x463dda(0x183)](_0x463dda(0x18d))['each']((_0xe4b0d0,_0x2594ee)=>{slideToggle(_0x2594ee,{...getSlideToggleOptions(),'onAnimationEnd':function(_0x509fdb){const _0xb3871c=_0x353a;_0x509fdb[_0xb3871c(0x198)](_0xb3871c(0x195))[_0xb3871c(0x166)][_0xb3871c(0x18c)](_0xb3871c(0x18d));}});}),$(_0x463dda(0x172))[_0x463dda(0x193)](_0xda67d3)[_0x463dda(0x193)](_0x463dda(0x188))[_0x463dda(0x17e)]('closedIcon\x20openIcon'),$(_0x463dda(0x17f))[_0x463dda(0x193)](_0xa30f9e)[_0x463dda(0x193)](_0x463dda(0x163))[_0x463dda(0x17e)](_0x463dda(0x171)),_0xda67d3[_0x463dda(0x17e)]('closedIcon\x20openIcon'),_0xa30f9e[_0x463dda(0x17e)](_0x463dda(0x171)),_0xa30f9e[_0x463dda(0x183)]('resizing')[_0x463dda(0x196)]((_0x3858b1,_0x256a75)=>{slideToggle(_0x256a75,{...getSlideToggleOptions(),'onAnimationEnd':function(_0x18e8fa){const _0x2e79bc=_0x353a;_0x18e8fa[_0x2e79bc(0x198)](_0x2e79bc(0x195))[_0x2e79bc(0x166)][_0x2e79bc(0x18c)]('resizing');}});})):(_0xda67d3[_0x463dda(0x17e)](_0x463dda(0x19a)),_0xa30f9e[_0x463dda(0x17e)](_0x463dda(0x168)),_0xa30f9e[_0x463dda(0x183)](_0x463dda(0x18d))[_0x463dda(0x196)]((_0x2e07bc,_0x4a72d6)=>{slideToggle(_0x4a72d6,{...getSlideToggleOptions(),'onAnimationEnd':function(_0x51c068){const _0x2a24fe=_0x353a;_0x51c068[_0x2a24fe(0x198)](_0x2a24fe(0x195))[_0x2a24fe(0x166)][_0x2a24fe(0x18c)]('resizing');}});}));}export async function createDrawer(){const _0x2db2ee=_0x3ad8be,_0xb5ba5b=extension_settings[extensionName],_0x53e3f1=_0xb5ba5b[_0x2db2ee(0x160)]||'topbar';if(_0x53e3f1===_0x2db2ee(0x190)){if($(_0x2db2ee(0x16f))['length']>0x0)return;const _0x747bd5=_0x2db2ee(0x19b);$(_0x2db2ee(0x1a2))['after'](_0x747bd5);const _0x16d400=$('#amily2_drawer_content');await initializePanel(_0x16d400);try{const {doNavbarIconClick:_0x54392a}=await import(_0x2db2ee(0x179));if(typeof _0x54392a===_0x2db2ee(0x15a))$(_0x2db2ee(0x186))['on']('click',_0x54392a),console[_0x2db2ee(0x16a)](_0x2db2ee(0x182));else throw new Error(_0x2db2ee(0x167));}catch(_0xecbffe){$(_0x2db2ee(0x186))['on'](_0x2db2ee(0x192),toggleDrawerFallback),console[_0x2db2ee(0x16a)](_0x2db2ee(0x19d));}}else{if(_0x53e3f1===_0x2db2ee(0x1a5)){if($(_0x2db2ee(0x19f))['length']>0x0)return;const _0x2ec2a9=_0x2db2ee(0x1aa),_0x4232de=$(_0x2ec2a9);$(_0x2db2ee(0x16c))[_0x2db2ee(0x16d)](_0x4232de);const _0x41530d=_0x4232de[_0x2db2ee(0x176)](_0x2db2ee(0x1a1));initializePanel(_0x41530d,_0x4232de);}}}