我们尊重您的隐私。 如果您位于欧洲经济区(EEA),根据《通用数据保护条例》(GDPR),您享有特定权利。请使用以下选项,行使您对我们所持有的个人数据享有的权利。
我们如何处理您的请求 当您通过本页面提交请求时,我们的合规服务提供商 (Consentmo) 仅会处理您的电子邮箱地址和技术信息(例如 IP 地址),以验证并完成您的请求、防止滥用以及保留合规记录。有关更多详情,请参阅 Consentmo 的数据处理政策。
访问或下载我的数据
您可以请求获取我们所持有的您的个人数据副本,包括账户详情和订单历史记录。您可以要求以便于携带的格式(CSV 或 PDF)获取您的数据。
响应时间:我们将在一个月内作出回复。如果您的请求较为复杂,我们可能会在法律允许的范围内延长该期限,并会通知您。
更正我的信息
如果您认为自己的个人数据不准确或不完整(例如配送地址有误或姓名拼写错误),可以在此处更新。
删除我的数据
您可以请求删除与本商店相关的个人数据(也称为“被遗忘权”)。
重要提示:如法律要求或出于合法目的(例如税务、欺诈防范和安全),我们可能会保留部分信息。
管理隐私偏好
您可以自主选择允许我们使用的 Cookie 和技术类型,从而定制您的体验(例如启用分析功能,但禁用营销功能)。您可以随时更新这些具体设置。
撤回同意
您有权随时撤回您在 Shopify 上针对跟踪技术作出的营销同意。这将适用于您今后使用我们的商店,并停止出于可选目的收集数据。
限制或反对处理
您可以要求我们限制处理您的个人数据,或反对某些处理活动(例如直接营销或基于合法利益的处理)。
如需行使这些权利,请通过以下方式联系我们:
📧 admin@simgasm.com
联系信息
如果您对自己的隐私权或本页面有任何疑问,请联系:
电子邮箱: admin@simgasm.com
地址:
提出投诉
如果您认为我们未能充分解决您的疑虑,您有权向您所在国家的数据保护机构(DPA)提出投诉。
我同意收集我的电子邮箱地址和 IP 地址,以便处理此请求。有关更多信息,请查看隐私政策。
'; var isEmailValid = function(email) { let regex = /^(([^()\\[\\]\\\\.,;:\\s@"]+(\\.[^()\\[\\]\\\\.,;:\\s@"]+)*)|(".+"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/; if (email == '' || email == undefined) { return false; } else { return regex.test(email); } } var gdprSendRequest = function(callback) { fetch('https://www.cloudflare.com/cdn-cgi/trace', { method: 'GET' , headers: { 'Content-Type': 'text/plain', }, }) .then(resp => resp.text()) .then(resp => { if (!resp.error) { let ipInfo = resp; let formData = new FormData(); formData.append('shop', Shopify.shop); formData.append('email', email); formData.append('type', type); formData.append('sourceOfRequest', 1); formData.append('ipAddress', ipInfo); formData.append('consentGiven', consentGiven); formData.append('page', 'gdpr'); formData.append('lang', Shopify.locale ? Shopify.locale : ''); formData.append('gtranslateLang', (typeof isenseGDPR !== 'undefined' && isenseGDPR.Cookies) ? isenseGDPR.Cookies.get('googtrans') : ''); fetch('https://app.consentmo.com/gdprRequests/submitRequest', { method: 'POST', body: formData }) .then(resp => resp.json()) .then(resp => { if (!resp.error) { showInlineSuccessMessage(); } else { showInlineErrorMessage(resp.message); } if (typeof callback == 'function') { callback(resp); } }) .catch(error => { showInlineErrorMessage(error.message || '出现错误。请重试。'); }) } else { showInlineErrorMessage(resp.message || '出现错误。请重试。'); } }) } function showInlineSuccessMessage() { if (!activeSubmitButton) { return; } var form = activeSubmitButton.closest('form'); if (!form) { return; } var errNode = form.querySelector('.gdpr-request-error'); if (errNode) { errNode.remove(); } var successNode = form.querySelector('.gdpr-request-success'); if (!successNode) { successNode = document.createElement('p'); successNode.className = 'gdpr-request-success'; form.appendChild(successNode); } successNode.textContent = successMessage; } function showInlineErrorMessage(message) { if (!activeSubmitButton) { return; } var form = activeSubmitButton.closest('form'); if (!form) { return; } var successNode = form.querySelector('.gdpr-request-success'); if (successNode) { successNode.remove(); } var errorNode = form.querySelector('.gdpr-request-error'); if (!errorNode) { errorNode = document.createElement('p'); errorNode.className = 'gdpr-request-error'; form.appendChild(errorNode); } errorNode.textContent = message; } document.addEventListener("DOMContentLoaded", function() { //将模态窗口附加到 body,否则它将无法保持居中(即使 position 设置为 fixed) document.querySelector("body").insertAdjacentHTML( 'beforeend', verificationModalContent); // When the user clicks on (x), close the modal document.querySelector('.data-verification-close').addEventListener('click', function(e) { e.preventDefault(); closeVerificationModal(); }); document.querySelector('#data-verification-icon, #data-verification-container p').addEventListener('click', function(e) { e.preventDefault(); // 检测 href 的点击,因为它已被覆盖。 if(e.target.tagName === "A") { window.open(e.target.href, '_blank'); return; } document.querySelector('#data-verification-icon').classList.add("clicked"); setTimeout(()=>{ toggleFadeiSense(document.querySelector("#data-verification-modal"), false); document.querySelector('#data-verification-background .loading').style.display = 'inline-block'; consentGiven = true; gdprSendRequest(function(resp) { consentGiven = false; closeVerificationModal(); }); }, 400); }); }); function openVerificationModal(){ if(!isEmailValid(email)) { showInlineErrorMessage('电子邮箱无效'); return; } toggleFadeiSense(document.querySelector("#data-verification-modal"), true); toggleFadeiSense(document.querySelector('#data-verification-background'), true); document.querySelector('#data-verification-container input').focus(); } function closeVerificationModal(){ toggleFadeiSense(document.querySelector("#data-verification-background"), false); document.querySelector('#data-verification-icon').classList.remove("clicked"); document.querySelector('#data-verification-background .loading').style.display = 'none'; // 将焦点移至所选请求类型的按钮 let gdprForms = document.querySelectorAll('.form-gdpr-request'); gdprForms.forEach(function(gdprForm) { if (gdprForm.style.display !== "none") { let gdprFormLinks = gdprForm.previousElementSibling.querySelectorAll('li'); if (gdprFormLinks.length === 1) { gdprFormLinks[0].querySelector('button').focus(); } else { // 数据可携带请求的焦点逻辑 gdprFormLinks = gdprForm.parentElement; if (gdprFormLinks.nodeName === 'LI') { gdprFormLinks.querySelector('button').focus(); } } } }); } // 访问或下载我的数据 document.querySelector('#btn-gdpr-access-data-request').addEventListener('click', function(e) { e.preventDefault(); let isExpanded = this.getAttribute('aria-expanded') === 'true' ? true : false; gdprSlideUpAll(); if(!isExpanded) { slideDown(document.querySelector('#form-gdpr-access-data-request'), 200); this.setAttribute("aria-expanded", "true"); } else { slideUp(document.querySelector('#form-gdpr-access-data-request'), 200); this.setAttribute("aria-expanded", "false"); } }); document.querySelector('#form-gdpr-access-data-request-submit').addEventListener('click', function(e) { e.preventDefault(); activeSubmitButton = this; email = document.querySelector('#form-gdpr-access-data-request-email').value; type = 'customer/report'; openVerificationModal(); }); // 更正我的信息 document.querySelector('#btn-gdpr-correct-info-request').addEventListener('click', function(e) { e.preventDefault(); let isExpanded = this.getAttribute('aria-expanded') === 'true' ? true : false; gdprSlideUpAll(); if(!isExpanded) { slideDown(document.querySelector('#form-gdpr-correct-info-request'), 200); this.setAttribute("aria-expanded", "true"); } else { slideUp(document.querySelector('#form-gdpr-correct-info-request'), 200); this.setAttribute("aria-expanded", "false"); } }); document.querySelector('#form-gdpr-correct-info-request-submit').addEventListener('click', function(e) { e.preventDefault(); activeSubmitButton = this; email = document.querySelector('#form-gdpr-correct-info-request-email').value; type = 'customer/edit'; openVerificationModal(); }); // 删除我的数据 document.querySelector('#btn-gdpr-delete-data-request').addEventListener('click', function(e) { e.preventDefault(); let isExpanded = this.getAttribute('aria-expanded') === 'true' ? true : false; gdprSlideUpAll(); if(!isExpanded) { slideDown(document.querySelector('#form-gdpr-delete-data-request'), 200); this.setAttribute("aria-expanded", "true"); } else { slideUp(document.querySelector('#form-gdpr-delete-data-request'), 200); this.setAttribute("aria-expanded", "false"); } }); document.querySelector('#form-gdpr-delete-data-request-submit').addEventListener('click', function(e) { e.preventDefault(); activeSubmitButton = this; email = document.querySelector('#form-gdpr-delete-data-request-email').value; type = 'customer/delete'; openVerificationModal(); }); // 撤回同意 document.querySelector('#btn-gdpr-withdraw-consent-request').addEventListener('click', function(e) { e.preventDefault(); let isExpanded = this.getAttribute('aria-expanded') === 'true' ? true : false; gdprSlideUpAll(); if(!isExpanded) { slideDown(document.querySelector('#form-gdpr-withdraw-consent-request'), 200); this.setAttribute("aria-expanded", "true"); } else { slideUp(document.querySelector('#form-gdpr-withdraw-consent-request'), 200); this.setAttribute("aria-expanded", "false"); } }); document.querySelector('#form-gdpr-withdraw-consent-request-submit').addEventListener('click', function(e) { e.preventDefault(); activeSubmitButton = this; email = document.querySelector('#form-gdpr-withdraw-consent-request-email').value; type = 'customer/withdraw_consent'; openVerificationModal(); }); // 管理隐私偏好设置 document.querySelector('#btn-gdpr-manage-privacy-preferences').addEventListener('click', function(e) { e.preventDefault(); if (typeof showPreferences === 'function') { showPreferences(this); return; } let settingsButton = document.querySelector('.cc-window .cc-settings'); if (settingsButton) { settingsButton.click(); return; } alert('此页面无法使用 Cookie 设置。'); }); // 数据验证模态框中的无障碍键盘导航 document.addEventListener("DOMContentLoaded", function() { document.querySelector('#data-verification-modal').addEventListener('keydown', function(e) { let isTabPressed = e.keyCode === 9 || e.key === "Tab" || e.code === "Tab"; let isEscapePressed = e.keyCode === 27 || e.key === "Escape" || e.code === "Escape"; let isSpacePressed = event.keyCode === 32 || e.key === " " || event.code === "Space"; let isEnterPressed = event.keyCode === 13 || e.key === "Enter" || event.code === "Enter"; let dataVerificationCloseButton = document.querySelector('.data-verification-close'); let dataVerificationCheckbox = document.querySelector('#data-verification-container input'); let dataVerificationLink = document.querySelector('#data-verification-container a'); // 此函数让我们无需在每次聚焦后调用 e.preventDefault() let executeFocus = (focusElement) => {focusElement.focus();e.preventDefault();} if (isEscapePressed) { if (dataVerificationCloseButton) { dataVerificationCloseButton.click(); } } if (isSpacePressed || isEnterPressed) { if (document.activeElement === dataVerificationCheckbox) { document.querySelector('#data-verification-container #data-verification-icon').click(); } } if (isTabPressed) { if (e.shiftKey) { if (dataVerificationCloseButton && document.activeElement === dataVerificationCloseButton) { executeFocus(dataVerificationLink); } } else { if (dataVerificationLink && document.activeElement === dataVerificationLink) { executeFocus(dataVerificationCloseButton); } } } }); });