1// live2d_path åæ°å»ºè®®ä½¿ç¨ç»å¯¹è·¯å¾ 2// const live2d_path = "https://fastly.jsdelivr.net/gh/stevenjoezhang/live2d-widget@latest/"; 3const live2d_path = "/live2d-widget/dist/"; 4 5// å°è£ 弿¥å è½½èµæºçæ¹æ³ 6function loadExternalResource(url, type) { 7 return new Promise((resolve, reject) => { 8 let tag; 9 10 if (type === "css") { 11 tag = document.createElement("link"); 12 tag.rel = "stylesheet"; 13 tag.href = url; 14 } 15 else if (type === "js") { 16 tag = document.createElement("script"); 17 tag.src = url; 18 } 19 if (tag) { 20 tag.onload = () => resolve(url); 21 tag.onerror = () => reject(url); 22 document.head.appendChild(tag); 23 } 24 }); 25} 26 27// å è½½ waifu.css live2d.min.js waifu-tips.js 28if (screen.width >= 768) { 29 Promise.all([ 30 loadExternalResource(live2d_path + "waifu.css", "css"), 31 loadExternalResource(live2d_path + "live2d.min.js", "js"), 32 loadExternalResource(live2d_path + "waifu-tips.js", "js") 33 ]).then(() => { 34 // é ç½®é项çå ·ä½ç¨æ³è§ README.md 35 initWidget({ 36 waifuPath: live2d_path + "waifu-tips.json", 37 //apiPath: "https://live2d.fghrsh.net/api/", 38 //cdnPath: "https://fastly.jsdelivr.net/gh/fghrsh/live2d_api/", 39 cdnPath: "https://xia0ji233.pro/live2d-widget/api/", 40 tools: ["hitokoto", "asteroids", "switch-model", "switch-texture", "photo", "info", "quit"] 41 }); 42 }); 43} 44 45console.log(` 46 ã__,.ãã½. / ,ã¼ï½¤ ã 47 ï¼¼ ', !-ââ-i / /´ 48 ï¼ï½ï½°' L/ï¼ï½ã½ï½¤ 49 / ï¼, /| , , ', 50 ï½² / /-â/ ï½ L_ ï¾ ã½! i 51 ï¾ ï¾ 7ï½²ï½ï¾ ï¾'ï½§-ï¾ï½¤!ã| | 52 !,/7 '0' ´0iã½| | 53 |.ä»" _ ,,,, / |./ | 54 ï¾'| iï¼.、,,__ _,.㤠/ .i | 55 ï¾'| | / k_ï¼_/ï¾'ã½, ï¾. | 56 | |/i ã|/ i ,.ï¾ | i | 57 .|/ / ï½ï¼ ï¾! ï¼¼ | 58 kã½>ï½¤ï¾ _,.ï¾ï½¤ /、! 59 !'ã//ï½ï¼´Â´', ï¼¼ ï½'7'ï½°r' 60 ï¾'ã½L__|___i,___,ã³ï¾|ã 61 ï¾-,/ |___./ 62 'ï½°' !_,.: 63`);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.