版本变更V3.29体验优化
This commit is contained in:
@ -10,28 +10,51 @@
|
||||
<div id="app"></div>
|
||||
<script type="module" src="/src/main.ts"></script>
|
||||
<script>
|
||||
// 获取当前用户的登录凭证 (Token)
|
||||
var currentToken = localStorage.getItem('access_token') || localStorage.getItem('token') || '';
|
||||
var username=localStorage.getItem("username");
|
||||
window.difyChatbotConfig = {
|
||||
token: '6T0eTgukUEqzK0iW',
|
||||
baseUrl: 'http://172.16.0.198:8080',
|
||||
inputs: {
|
||||
"user_token": currentToken
|
||||
},
|
||||
systemVariables: {
|
||||
"user_id":username
|
||||
},
|
||||
userVariables: {},
|
||||
}
|
||||
// 延时1秒后动态加载 embed.min.js
|
||||
setTimeout(function() {
|
||||
window.initDifyChatbot = function() {
|
||||
var currentToken = localStorage.getItem('access_token') || localStorage.getItem('token') || '';
|
||||
var username = localStorage.getItem("username") || '';
|
||||
|
||||
if (!currentToken) {
|
||||
console.log('未检测到 Token,暂不加载 Dify');
|
||||
return;
|
||||
}
|
||||
|
||||
// 【新增 1】彻底清理浏览器内存中残留的 Dify 全局对象
|
||||
window.difyChatbot = undefined;
|
||||
delete window.difyChatbot;
|
||||
|
||||
// 【新增 2】清理旧的 DOM 节点
|
||||
var oldScript = document.getElementById('6T0eTgukUEqzK0iW');
|
||||
if (oldScript) oldScript.remove();
|
||||
document.querySelectorAll('[id^="dify-chatbot-"]').forEach(function(el) { el.remove(); });
|
||||
|
||||
// 【核心破解 3】动态化 user_id,打破 Dify 会话锁定机制
|
||||
// 取 token 的最后 8 位拼在用户名后。只要 Token 变了,Dify 就会开启新会话,强制读取新 Token。
|
||||
var dynamicUserId = username + '_' + currentToken.slice(-8);
|
||||
|
||||
window.difyChatbotConfig = {
|
||||
token: '6T0eTgukUEqzK0iW',
|
||||
baseUrl: 'http://172.16.0.198:8080',
|
||||
inputs: {
|
||||
"user_token": currentToken
|
||||
},
|
||||
systemVariables: {
|
||||
"user_id": dynamicUserId // <- 这里使用了动态 ID
|
||||
},
|
||||
userVariables: {},
|
||||
};
|
||||
|
||||
// 【新增 4】在脚本 URL 后加上时间戳,破除浏览器强缓存
|
||||
var script = document.createElement('script');
|
||||
script.src = 'http://172.16.0.198:8080/embed.min.js';
|
||||
script.src = 'http://172.16.0.198:8080/embed.min.js?t=' + new Date().getTime();
|
||||
script.id = '6T0eTgukUEqzK0iW';
|
||||
script.defer = true;
|
||||
document.head.appendChild(script);
|
||||
console.log('✅ Dify chatbot 已延迟1秒加载');
|
||||
}, 100);
|
||||
|
||||
console.log('✅ Dify chatbot 已挂载新会话,当前绑定 ID:', dynamicUserId);
|
||||
};
|
||||
|
||||
setTimeout(window.initDifyChatbot, 100);
|
||||
</script>
|
||||
|
||||
<!--<script-->
|
||||
|
||||
Reference in New Issue
Block a user