From version 25.1
edited by Jiahao Lai
on 2026/03/31 04:55
on 2026/03/31 04:55
Change comment:
There is no comment for this version
To version 12.1
edited by Jiahao Lai
on 2026/03/26 15:46
on 2026/03/26 15:46
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -186,14 +186,54 @@ 186 186 {{/html}} 187 187 {{/velocity}} 188 188 189 -{{html}} 190 -<div id="xwiki-ai-chat-widget"></div> 191 -<script src="/xwiki/webjars/llm-chat-webjar/0.7.2/js/ai-chat-widget.js"></script> 189 + 190 + 191 +{{html clean="false"}} 192 +<div id="llm-chat-widget" style="position:fixed;right:20px;bottom:20px;z-index:9999;"></div> 193 + 192 192 <script> 193 - window.addEventListener('load', () => { 194 - if (window.initAIChatWidget) initAIChatWidget(); 195 - }); 195 +document.addEventListener('DOMContentLoaded', function() { 196 + setTimeout(async () => { 197 + try { 198 + // 1. 先加载依赖库 marked.js(子 wiki 用的版本) 199 + await new Promise((resolve, reject) => { 200 + const markedScript = document.createElement('script'); 201 + markedScript.src = 'https://docs.we-con.com.cn/webjars/wiki%3Awonway/marked/4.0.2/marked.min.js'; 202 + markedScript.onload = resolve; 203 + markedScript.onerror = reject; 204 + document.body.appendChild(markedScript); 205 + }); 206 + console.log("✅ marked.js 加载成功"); 207 + 208 + // 2. 加载 CSS 209 + await new Promise((resolve) => { 210 + const link = document.createElement('link'); 211 + link.rel = 'stylesheet'; 212 + link.href = 'https://docs.we-con.com.cn/webjars/wiki%3Awonway/application-ai-llm-chat-webjar/0.7.2/chatWidget.css'; 213 + link.onload = resolve; 214 + document.head.appendChild(link); 215 + }); 216 + 217 + // 3. 加载 chatWidget.js 218 + await new Promise((resolve) => { 219 + const script = document.createElement('script'); 220 + script.src = 'https://docs.we-con.com.cn/webjars/wiki%3Awonway/application-ai-llm-chat-webjar/0.7.2/chatWidget.js'; 221 + script.onload = resolve; 222 + document.body.appendChild(script); 223 + }); 224 + 225 + // 4. 启动浮窗 226 + if (window.LLMChatWidget && typeof LLMChatWidget.init === 'function') { 227 + LLMChatWidget.init(); 228 + console.log("✅ 浮窗启动成功!"); 229 + } else { 230 + throw new Error("LLMChatWidget 未初始化"); 231 + } 232 + } catch (e) { 233 + console.error("❌ 加载失败", e); 234 + alert("浮窗加载失败:" + e.message); 235 + } 236 + }, 1000); 237 +}); 196 196 </script> 197 197 {{/html}} 198 - 199 -