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