Browse Source

优化sessionId获取逻辑,避免同一浏览器多二维码冲突

master
Default User 2 weeks ago
parent
commit
dcab4353bb
  1. 19
      certificate.html

19
certificate.html

@ -488,16 +488,17 @@
const urlParams = new URLSearchParams(window.location.search); const urlParams = new URLSearchParams(window.location.search);
let sessionId = urlParams.get('sessionId'); let sessionId = urlParams.get('sessionId');
// 如果URL中没有会话ID,则从本地存储中获取或创建 // 如果URL中有会话ID,直接使用,不存储到localStorage
// 这样可以确保每个二维码的sessionId独立,避免冲突
if (sessionId) {
return sessionId;
}
// URL中没有会话ID时,才从本地存储中获取或创建
sessionId = localStorage.getItem('certificateSessionId');
if (!sessionId) { if (!sessionId) {
sessionId = localStorage.getItem('certificateSessionId'); // 生成唯一会话标识
if (!sessionId) { sessionId = 'session_' + Date.now() + '_' + Math.random().toString(36).substr(2, 9);
// 生成唯一会话标识
sessionId = 'session_' + Date.now() + '_' + Math.random().toString(36).substr(2, 9);
localStorage.setItem('certificateSessionId', sessionId);
}
} else {
// 如果从URL中获取到会话ID,保存到本地存储
localStorage.setItem('certificateSessionId', sessionId); localStorage.setItem('certificateSessionId', sessionId);
} }
return sessionId; return sessionId;

Loading…
Cancel
Save