customer_list/ch/index.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/components/amis/load.ts | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/components/chat/Chat.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
customer_list/ch/index.js
@@ -16,77 +16,3 @@ title.innerText = sysName; faviconIcon.href = icon + `?v=1`; //#region ====================== LCP Promise ====================== const loadBaseLCP = new Promise((resolve, reject) => { try { // æ£æ¥æ¯å¦æ¯æ PerformanceObserver å LCP ææ if ('PerformanceObserver' in window && PerformanceObserver.supportedEntryTypes.includes('largest-contentful-paint')) { const observer = new PerformanceObserver((list) => { window.list = list.getEntries(); for (const entry of list.getEntries()) { resolve(entry); observer.disconnect(); // 宿åæå¼è§å¯è } }); observer.observe({ type: 'largest-contentful-paint', buffered: true }); } else { // 䏿¯ææ¶ 使ç¨onLoad å è½½ window.addEventListener('load', () => { resolve(true); }); } } catch (error) { reject(error); } }); //#endregion //#region ====================== å è½½script ====================== function loadScript(src, callback) { const script = document.createElement('script'); script.setAttribute('type', 'text/javascript'); script.setAttribute('src', src); script.async = true; script.onload = () => callback(); script.onerror = () => callback(new Error(`Failed to load ${src}`)); document.head.appendChild(script); } window.eventList = {}; loadBaseLCP.then(() => { window.eventList.amisSdkJsPromise = new Promise((resolve, reject) => { loadScript('/static/amis/sdk/sdk.js', (error) => { if (error) { reject(error); return; } resolve(); }); }); }); //#endregion //#region ====================== å è½½æ ·å¼ ====================== function loadStyles(styles) { for (const path of styles) { const style = document.createElement('link'); style.setAttribute('rel', 'stylesheet'); style.setAttribute('type', 'text/css'); style.setAttribute('href', path); // 设置 print å¯ä»¥é¿å é»å¡é¡µé¢æ¸²æ style.setAttribute('media', 'print'); style.onload = () => { style.setAttribute('media', 'all'); }; document.head.appendChild(style); } } loadBaseLCP.then(() => { loadStyles(['/static/amis/sdk/sdk.css', '/static/amis/sdk/helper.css', '/static/amis/sdk/iconfont.css']); }); //#endregion src/components/amis/load.ts
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,44 @@ //#region ====================== å è½½script ====================== function loadScript(src, callback) { const script = document.createElement('script'); script.setAttribute('type', 'text/javascript'); script.setAttribute('src', src); script.async = true; script.onload = () => callback(); script.onerror = () => callback(new Error(`Failed to load ${src}`)); document.head.appendChild(script); } //#endregion //#region ====================== å è½½æ ·å¼ ====================== function loadStyles(styles) { for (const path of styles) { const style = document.createElement('link'); style.setAttribute('rel', 'stylesheet'); style.setAttribute('type', 'text/css'); style.setAttribute('href', path); // 设置 print å¯ä»¥é¿å é»å¡é¡µé¢æ¸²æ style.setAttribute('media', 'print'); style.onload = () => { style.setAttribute('media', 'all'); }; document.head.appendChild(style); } } export const loadAmisSource = (delayTime = 0) => { setTimeout(() => { window.eventList = {}; window.eventList.amisSdkJsPromise = new Promise((resolve, reject) => { loadScript('/static/amis/sdk/sdk.js', (error) => { if (error) { reject(error); return; } resolve(); }); }); loadStyles(['/static/amis/sdk/sdk.css', '/static/amis/sdk/helper.css', '/static/amis/sdk/iconfont.css']); }, delayTime * 1000); }; src/components/chat/Chat.vue
@@ -348,6 +348,7 @@ import emitter from '/@/utils/mitt'; import { ErrorCode } from '/@/utils/request'; import { toMyFixed } from '/@/utils/util'; import { loadAmisSource } from '../amis/load'; const chatWidth = '75%'; const voicePageIsShow = ref(false); let isTalking = ref(false); @@ -742,6 +743,7 @@ }, 300); } } loadAmisSource() }); //#region ====================== å ³èæ¥è¯¢ ====================== const relativeQueryClick = async (val) => {