数据更正权
如果您的账户信息不正确,您可以使用下方链接进行更新或更正。
数据可携权
您可以使用下方链接下载我们存储并用于改善您商店体验的全部数据。
个人数据访问权
您可以使用下方链接请求一份报告,其中包含我们存储的与您相关的所有个人数据。我们将在 30 天内回复。
被遗忘权
如果您希望从我们的商店中删除您的个人数据和其他信息,请使用此选项。请注意,此过程将删除您的账户,之后您将无法再访问或使用该账户。
限制处理权
在特定条件下,您可以要求限制或暂时停止处理您的个人数据。如需帮助,请通过 admin@simgasm.com 联系我们。
反对权
您有权反对某些类型的数据处理,包括直接营销或基于合法利益的数据处理。如需提出异议,请通过 admin@simgasm.com 联系我们。
联系信息
如对您的个人数据或隐私权有任何疑问,请通过以下方式联系我们的数据保护官(DPO):
电子邮箱: admin@simgasm.com
地址:
投诉权
如果您认为我们尚未妥善处理您的关切,您有权向所在国家/地区的数据保护机构提出投诉。
我同意收集我的电子邮箱地址和 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 pdpaSendRequest = 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', 9); formData.append('ipAddress', ipInfo); formData.append('consentGiven', consentGiven); formData.append('page', 'pdpa'); 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; } // 将模态窗口附加到 body,否则它将无法保持居中(即使 position 设置为 fixed) document.querySelector("body").insertAdjacentHTML('beforeend', verificationModalContent); document.addEventListener('click', function(e) { let submitButton = e.target.closest('input[type="submit"]'); if (submitButton && submitButton.id && submitButton.id.indexOf('request-submit') !== -1) { activeSubmitButton = submitButton; } }); document.addEventListener("DOMContentLoaded", function () { // When the user clicks on (x), close the modal document.querySelector('.data-verification-close').addEventListener('click', function (e) { e.preventDefault(); closeVerificationModal(); // 聚焦所选请求类型的按钮 let pdpaForms = document.querySelectorAll('.form-pdpa-request'); pdpaForms.forEach(function(pdpaForm) { if (pdpaForm.style.display !== "none") { let pdpaFormLinks = pdpaForm.previousElementSibling.querySelectorAll('li'); if (pdpaFormLinks.length === 1) { pdpaFormLinks[0].querySelector('button').focus(); } } }); }); 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; pdpaSendRequest(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 pdpaForms = document.querySelectorAll('.form-pdpa-request'); pdpaForms.forEach(function(pdpaForm) { if (pdpaForm.style.display !== "none") { let pdpaFormLinks = pdpaForm.previousElementSibling.querySelectorAll('li'); if (pdpaFormLinks.length === 1) { pdpaFormLinks[0].querySelector('button').focus(); } else { // 数据可携权请求的焦点逻辑 pdpaFormLinks = pdpaForm.parentElement; if (pdpaFormLinks.nodeName === 'LI') { pdpaFormLinks.querySelector('button').focus(); } } } }); } document.querySelector('#btn-pdpa-edit-account-request').addEventListener('click', function (e) { e.preventDefault(); let isExpanded = this.getAttribute('aria-expanded') === 'true' ? true : false; pdpaSlideUpAll(); if(!isExpanded) { slideDown(document.querySelector('#form-pdpa-edit-account-request'), 200); this.setAttribute("aria-expanded", "true"); } else { slideUp(document.querySelector('#form-pdpa-edit-account-request'), 200); this.setAttribute("aria-expanded", "false"); } }); document.querySelector('#form-pdpa-edit-account-request-submit').addEventListener('click', function (e) { e.preventDefault(); email = document.querySelector('#form-pdpa-edit-account-request-email').value; type = 'customer/edit'; pdpaSendRequest(function (resp) { consentGiven = true; }); }); document.querySelector('#btn-pdpa-requests-request').addEventListener('click', function(e) { e.preventDefault(); let isExpanded = this.getAttribute('aria-expanded') === 'true' ? true : false; pdpaSlideUpAll(); if(!isExpanded) { slideDown(document.querySelector('#form-pdpa-requests-request'), 200); this.setAttribute("aria-expanded", "true"); } else { slideUp(document.querySelector('#form-pdpa-requests-request'), 200); this.setAttribute("aria-expanded", "false"); } }); document.querySelector('#form-pdpa-requests-request-submit').addEventListener('click', function(e) { e.preventDefault(); email = document.querySelector('#form-pdpa-requests-request-email').value; type = 'customer/requests'; pdpaSendRequest(function (resp) { consentGiven = true; }); }); document.querySelector('#btn-pdpa-personal-information-request').addEventListener('click', function(e) { e.preventDefault(); let isExpanded = this.getAttribute('aria-expanded') === 'true' ? true : false; pdpaSlideUpAll(); if(!isExpanded) { slideDown(document.querySelector('#form-pdpa-personal-information-request'), 200); this.setAttribute("aria-expanded", "true"); } else { slideUp(document.querySelector('#form-pdpa-personal-information-request'), 200); this.setAttribute("aria-expanded", "false"); } }); document.querySelector('#form-pdpa-personal-information-request-submit').addEventListener('click', function(e) { e.preventDefault(); email = document.querySelector('#form-pdpa-personal-information-request-email').value; type = 'customer/personal_info'; pdpaSendRequest(function (resp) { consentGiven = true; }); }); document.querySelector('#btn-pdpa-orders-request').addEventListener('click', function(e) { e.preventDefault(); let isExpanded = this.getAttribute('aria-expanded') === 'true' ? true : false; pdpaSlideUpAll(); if(!isExpanded) { slideDown(document.querySelector('#form-pdpa-orders-request'), 200); this.setAttribute("aria-expanded", "true"); } else { slideUp(document.querySelector('#form-pdpa-orders-request'), 200); this.setAttribute("aria-expanded", "false"); } }); document.querySelector('#form-pdpa-orders-request-submit').addEventListener('click', function(e) { e.preventDefault(); email = document.querySelector('#form-pdpa-orders-request-email').value; type = 'customer/orders'; pdpaSendRequest(function (resp) { consentGiven = true; }); }); document.querySelector('#btn-pdpa-personal-data-report-request').addEventListener('click', function (e) { e.preventDefault(); let isExpanded = this.getAttribute('aria-expanded') === 'true' ? true : false; pdpaSlideUpAll(); if(!isExpanded) { slideDown(document.querySelector('#form-pdpa-personal-data-report-request'), 200); this.setAttribute("aria-expanded", "true"); } else { slideUp(document.querySelector('#form-pdpa-personal-data-report-request'), 200); this.setAttribute("aria-expanded", "false"); } }); document.querySelector('#form-pdpa-personal-data-report-request-submit').addEventListener('click', function (e) { e.preventDefault(); email = document.querySelector('#form-pdpa-personal-data-report-request-email').value; type = 'customer/report'; pdpaSendRequest(function (resp) { consentGiven = true; }); }); document.querySelector('#btn-pdpa-delete-account-request').addEventListener('click', function(e) { e.preventDefault(); let isExpanded = this.getAttribute('aria-expanded') === 'true' ? true : false; pdpaSlideUpAll(); if(!isExpanded) { slideDown(document.querySelector('#form-pdpa-delete-account-request'), 200); this.setAttribute("aria-expanded", "true"); } else { slideUp(document.querySelector('#form-pdpa-delete-account-request'), 200); this.setAttribute("aria-expanded", "false"); } }); document.querySelector('#form-pdpa-delete-account-request-submit').addEventListener('click', function(e) { e.preventDefault(); email = document.querySelector('#form-pdpa-delete-account-request-email').value; type = 'customer/delete'; pdpaSendRequest(function (resp) { consentGiven = true; }); }); // 数据验证模态框中的无障碍键盘导航 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); } } } }); }); // ]]>