diff --git a/src/main/resources/extensions/settings.yaml b/src/main/resources/extensions/settings.yaml index 0690163..566e131 100644 --- a/src/main/resources/extensions/settings.yaml +++ b/src/main/resources/extensions/settings.yaml @@ -19,6 +19,16 @@ spec: name: modelTexturesId validation: required|Number value: 53 + - $formkit: radio + name: isForceUseDefaultConfig + label: 强制使用默认模型和材质 + help: 开启此项后,忽略前台用户自行切换模型和材质ID,固定使用上面默认模型和材质编号 + value: false + options: + - value: true + label: 开启 + - value: false + label: 关闭 - $formkit: radio name: isTools id: isTools @@ -335,4 +345,4 @@ spec: - value: defer label: DOM 加载完成后,图片加载前 - value: async - label: 页面全部内容加载完成 \ No newline at end of file + label: 页面全部内容加载完成 diff --git a/src/main/resources/static/js/live2d-autoload.js b/src/main/resources/static/js/live2d-autoload.js index 399aa4e..20ad5aa 100644 --- a/src/main/resources/static/js/live2d-autoload.js +++ b/src/main/resources/static/js/live2d-autoload.js @@ -203,13 +203,14 @@ function Live2d() { } #initModel(model) { - let modelId = localStorage.getItem("modelId"), - modelTexturesId = localStorage.getItem("modelTexturesId"); - if (modelId === null) { - // 首次访问加载 指定模型 的 指定材质 + let modelId = localStorage.getItem("modelId"); + let modelTexturesId = localStorage.getItem("modelTexturesId"); + if (modelId === null || !!this.#config["isForceUseDefaultConfig"]) { + // 加载指定模型的指定材质 modelId = this.#config["modelId"] || 1; // 模型 ID modelTexturesId = this.#config["modelTexturesId"] || 53; // 材质 ID } + if (this.#config["consoleShowStatu"]) { eval( (function (p, a, c, k, e, r) { diff --git a/src/main/resources/static/js/live2d-autoload.min.js b/src/main/resources/static/js/live2d-autoload.min.js index 238840f..4bfde54 100644 --- a/src/main/resources/static/js/live2d-autoload.min.js +++ b/src/main/resources/static/js/live2d-autoload.min.js @@ -8,7 +8,7 @@ const model=new Model(this.#config);if(this.#config["isTools"]===true){if(typeof this.#initModel(model);}#registerEventListener(result){let userAction=false,userActionTimer,messageArray=result.message.default;window.addEventListener("mousemove",()=>(userAction=true));window.addEventListener("keydown",()=>(userAction=true));setInterval(()=>{if(userAction){userAction=false;clearInterval(userActionTimer);userActionTimer=null;}else if(!userActionTimer){userActionTimer=setInterval(()=>{message.showMessage(messageArray,6000,2);},20000);}},1000);if(this.#config["firstOpenSite"]===true){message.showMessage(message.welcomeMessage(result.time),7000,4);} window.addEventListener("mouseover",(event)=>{for(let{selector,text}of result.mouseover){if(!event.target.matches(selector))continue;text=util.randomSelection(text);text=text.replace("{text}",event.target.innerText);message.showMessage(text,4000,1);return;}});window.addEventListener("click",(event)=>{for(let{selector,text}of result.click){if(!event.target.matches(selector))continue;text=util.randomSelection(text);text=text.replace("{text}",event.target.innerText);message.showMessage(text,4000,1);return;}});result["seasons"].forEach(({date,text})=>{const now=new Date(),after=date.split("-")[0],before=date.split("-")[1]||after;if(after.split("/")[0]<=now.getMonth()+1&&now.getMonth()+1<=before.split("/")[0]&&after.split("/")[1]<=now.getDate()&&now.getDate()<=before.split("/")[1]){text=util.randomSelection(text);text=text.replace("{year}",now.getFullYear());messageArray.push(text);}});if(this.#config["openConsole"]===true){let devtools=()=>{};devtools.toString=()=>{message.showMessage(this.#config["openConsoleTip"]||result["message"]["console"],6000,2);};} if(this.#config["copyContent"]===true){window.addEventListener("copy",()=>{message.showMessage(this.#config["copyContentTip"]||result["message"]["copy"],6000,2);});} -if(this.#config["backSite"]===true){window.addEventListener("visibilitychange",()=>{if(!document.hidden){message.showMessage(this.#config["backSiteTip"]||result["message"]["visibilitychange"],6000,2);}});}}#initModel(model){let modelId=localStorage.getItem("modelId"),modelTexturesId=localStorage.getItem("modelTexturesId");if(modelId===null){modelId=this.#config["modelId"]||1;modelTexturesId=this.#config["modelTexturesId"]||53;} +if(this.#config["backSite"]===true){window.addEventListener("visibilitychange",()=>{if(!document.hidden){message.showMessage(this.#config["backSiteTip"]||result["message"]["visibilitychange"],6000,2);}});}}#initModel(model){let modelId=localStorage.getItem("modelId");let modelTexturesId=localStorage.getItem("modelTexturesId");if(modelId===null||!!this.#config["isForceUseDefaultConfig"]){modelId=this.#config["modelId"]||1;modelTexturesId=this.#config["modelTexturesId"]||53;} if(this.#config["consoleShowStatu"]){eval((function(p,a,c,k,e,r){e=function(c){return((c35?String.fromCharCode(c+29):c.toString(36)));};if(!"".replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e];},];e=function(){return"\\w+";};c=1;} while(c--)if(k[c])p=p.replace(new RegExp("\\b"+e(c)+"\\b","g"),k[c]);return p;})("8.d(\" \");8.d(\"\\U,.\\y\\5.\\1\\1\\1\\1/\\1,\\u\\2 \\H\\n\\1\\1\\1\\1\\1\\b ', !-\\r\\j-i\\1/\\1/\\g\\n\\1\\1\\1 \\1 \\a\\4\\f'\\1\\1\\1 L/\\a\\4\\5\\2\\n\\1\\1 \\1 /\\1 \\a,\\1 /|\\1 ,\\1 ,\\1\\1\\1 ',\\n\\1\\1\\1\\q \\1/ /-\\j/\\1\\h\\E \\9 \\5!\\1 i\\n\\1\\1\\1 \\3 \\6 7\\q\\4\\c\\1 \\3'\\s-\\c\\2!\\t|\\1 |\\n\\1\\1\\1\\1 !,/7 '0'\\1\\1 \\X\\w| \\1 |\\1\\1\\1\\n\\1\\1\\1\\1 |.\\x\\\"\\1\\l\\1\\1 ,,,, / |./ \\1 |\\n\\1\\1\\1\\1 \\3'| i\\z.\\2,,A\\l,.\\B / \\1.i \\1|\\n\\1\\1\\1\\1\\1 \\3'| | / C\\D/\\3'\\5,\\1\\9.\\1|\\n\\1\\1\\1\\1\\1\\1 | |/i \\m|/\\1 i\\1,.\\6 |\\F\\1|\\n\\1\\1\\1\\1\\1\\1.|/ /\\1\\h\\G \\1 \\6!\\1\\1\\b\\1|\\n\\1\\1\\1 \\1 \\1 k\\5>\\2\\9 \\1 o,.\\6\\2 \\1 /\\2!\\n\\1\\1\\1\\1\\1\\1 !'\\m//\\4\\I\\g', \\b \\4'7'\\J'\\n\\1\\1\\1\\1\\1\\1 \\3'\\K|M,p,\\O\\3|\\P\\n\\1\\1\\1\\1\\1 \\1\\1\\1\\c-,/\\1|p./\\n\\1\\1\\1\\1\\1 \\1\\1\\1'\\f'\\1\\1!o,.:\\Q \\R\\S\\T v\"+e.V+\" / W \"+e.N);8.d(\" \");",60,60,"|u3000|uff64|uff9a|uff40|u30fd|uff8d||console|uff8a|uff0f|uff3c|uff84|log|this.#config|uff70|u00b4|uff49||u2010||u3000_|u3008||_|___|uff72|u2500|uff67|u30cf|u30fc||u30bd|u4ece|u30d8|uff1e|__|u30a4|k_|uff17_|u3000L_|u3000i|uff1a|u3009|uff34|uff70r|u30fdL__||___i|updateTime|u30f3|u30ce|nLive2D|u770b|u677f|u5a18|u304f__|version|LIlGG|u00b40i".split("|"),0,{}));} model.loadModel(modelId,modelTexturesId);this.#loadTips().then((result)=>this.#registerEventListener(result));}#loadTips(){let config=this.#config;return new Promise((resolve)=>{Promise.all([util.loadTipsResource(config["themeTipsPath"]),util.loadTipsResource(config["tipsPath"])]).then((result)=>{let configTips=util.backendConfigConvert(config);let themeTips={click:result[0]["click"]||[],mouseover:result[0]["mouseover"]||[],};let defaultTips=result[1];if(Object.keys(defaultTips).length===0){util.loadTipsResource(this.defaultConfig.tipsPath).then((tips)=>{resolve(util.mergeTips(configTips,themeTips,tips));});}else{resolve(util.mergeTips(configTips,themeTips,defaultTips));}});});}}