{"version":3,"file":"shared-lib.C1J4UO2J.mjs","names":[],"sources":["https:/framerusercontent.com/modules/l9SD3X6SrKvyNwXfcTwg/Y6OjtUgnP9u1MS9eFRGx/siteMetadata.js"],"sourcesContent":["// Generated by Framer (9aabefb)\nconst valuesByLocaleId={U74ttJdf5:{v0:\"3Chat: AI-native Agentic Customer Service\",v1:\"3Chat is AI-native agentic customer service. It builds on MCP and delivers human-level CS in one omnichannel platform, improving pre-sale conversion and customer satisfaction.\"}};function getLocalizedValue(key,locale){while(locale){const values=valuesByLocaleId[locale.id];if(values){const value=values[key];if(value)return value;}locale=locale.fallback;}}export default function metadata(params,activeLocale){return{customHTMLBodyStart:'<!-- Google Tag Manager (noscript) -->\\n<noscript><iframe src=\"https://www.googletagmanager.com/ns.html?id=GTM-N7CPRJBK\" height=\"0\" width=\"0\" style=\"display:none;visibility:hidden\"></iframe></noscript>\\n<!-- End Google Tag Manager (noscript) -->\\n\\n<script async=\"\" src=\"https://assets.xinheyun.com/livechat/chatbot-1.1.30.umd.js?key=930bba97-9e19-404b-914f-209b30812905&amp;ch=ea64atv4seorlj3uwu8nuq3n&amp;&amp;main=3chat\"></script>',customHTMLHeadEnd:'<meta name=\"baidu-site-verification\" content=\"codeva-eX7HtZqQmD\">\\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no\">',customHTMLHeadStart:'<!-- Google Tag Manager -->\\n<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({\\'gtm.start\\':\\nnew Date().getTime(),event:\\'gtm.js\\'});var f=d.getElementsByTagName(s)[0],\\nj=d.createElement(s),dl=l!=\\'dataLayer\\'?\\'&l=\\'+l:\\'\\';j.async=true;j.src=\\n\\'https://www.googletagmanager.com/gtm.js?id=\\'+i+dl;f.parentNode.insertBefore(j,f);\\n})(window,document,\\'script\\',\\'dataLayer\\',\\'GTM-N7CPRJBK\\');</script>\\n<!-- End Google Tag Manager -->\\n\\n<script>\\nvar _hmt = _hmt || [];\\n(function() {\\n  var hm = document.createElement(\"script\");\\n  hm.src = \"https://hm.baidu.com/hm.js?c87c64924beb4110d02f51a4ebf0fff9\";\\n  var s = document.getElementsByTagName(\"script\")[0]; \\n  s.parentNode.insertBefore(hm, s);\\n})();\\n</script>\\n\\n<!-- Google tag (gtag.js) -->\\n<script async=\"\" src=\"https://www.googletagmanager.com/gtag/js?id=G-BKWRW1XPDT\"></script>\\n<script>\\n  window.dataLayer = window.dataLayer || [];\\n  function gtag(){dataLayer.push(arguments);}\\n  gtag(\\'js\\', new Date());\\n\\n  gtag(\\'config\\', \\'G-BKWRW1XPDT\\');\\n</script>\\n<script>\\nvar _hmt = _hmt || [];\\n(function() {\\n  var hm = document.createElement(\"script\");\\n  hm.src = \"https://hm.baidu.com/hm.js?c87c64924beb4110d02f51a4ebf0fff9\";\\n  var s = document.getElementsByTagName(\"script\")[0]; \\n  s.parentNode.insertBefore(hm, s);\\n})();\\n</script>\\n\\n<!-- firstTouch && last lastTouch -->\\n    <script>\\n      (function () {\\n        // === 可选：跨子域共享用你的根域名（例如 .example.com） ===\\n        const COOKIE_DOMAIN = location.hostname.endsWith(\"3chatai.cn\")\\n          ? \".3chatai.cn\"\\n          : location.hostname;\\n\\n        // ---- 小工具 ----\\n        function uuidv4() {\\n          return ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, (c) =>\\n            (c ^ (crypto.getRandomValues(new Uint8Array(1))[0] & (15 >> (c / 4)))).toString(16)\\n          );\\n        }\\n        function getCookie(name) {\\n          const m = document.cookie.match(\\n            new RegExp(\"(?:^|; )\" + name.replace(/([.$?*|{}()[\\\\]\\\\\\\\/+^])/g, \"\\\\\\\\$1\") + \"=([^;]*)\")\\n          );\\n          return m ? decodeURIComponent(m[1]) : null;\\n        }\\n        function setCookie(name, value, days) {\\n          const d = new Date();\\n          d.setTime(d.getTime() + days * 24 * 60 * 60 * 1000);\\n          document.cookie =\\n            name +\\n            \"=\" +\\n            encodeURIComponent(value) +\\n            \";expires=\" +\\n            d.toUTCString() +\\n            \";path=/;domain=\" +\\n            COOKIE_DOMAIN +\\n            \";SameSite=Lax\";\\n        }\\n        function saveLS(k, v) {\\n          try {\\n            localStorage.setItem(k, v);\\n          } catch (e) {}\\n        }\\n        function readLS(k) {\\n          try {\\n            return localStorage.getItem(k);\\n          } catch (e) {\\n            return null;\\n          }\\n        }\\n        function parseCurrentTouch() {\\n          const url = new URL(location.href);\\n          const q = Object.fromEntries(url.searchParams.entries());\\n          const utmKeys = [\"utm_source\", \"utm_medium\", \"utm_campaign\", \"utm_term\", \"utm_content\", \"ref\"];\\n          const clickIds = [\"gclid\", \"fbclid\", \"ttclid\", \"msclkid\"];\\n          const hasUtm = utmKeys.some((k) => q[k]);\\n          const hasClickId = clickIds.some((k) => q[k]);\\n          // 外部引荐：referrer 存在且非同域\\n          const ref = document.referrer || null;\\n          let externalRef = null;\\n          if (ref) {\\n            try {\\n              const refHost = new URL(ref).hostname;\\n              const same =\\n                location.hostname === refHost ||\\n                location.hostname.endsWith(\".\" + refHost) ||\\n                refHost.endsWith(\".\" + location.hostname);\\n              if (!same) externalRef = ref;\\n            } catch (e) {}\\n          }\\n          const hasMarketing = hasUtm || hasClickId || !!externalRef;\\n          return {\\n            utm_source: q.utm_source || null,\\n            utm_medium: q.utm_medium || null,\\n            utm_campaign: q.utm_campaign || null,\\n            utm_term: q.utm_term || null,\\n            utm_content: q.utm_content || null,\\n            gclid: q.gclid || null,\\n            fbclid: q.fbclid || null,\\n            ttclid: q.ttclid || null,\\n            msclkid: q.msclkid || null,\\n            landing_page: location.href,\\n            referrer: ref,\\n            external_referrer: externalRef,\\n            has_marketing: hasMarketing,\\n            captured_at: new Date().toISOString(),\\n            ref: q.ref || null,\\n          };\\n        }\\n        function readJSONCookie(name) {\\n          // const v = getCookie(name) || readLS(name);\\n          const v = readLS(name);\\n          if (!v) return null;\\n          try {\\n            return JSON.parse(v);\\n          } catch (e) {\\n            return null;\\n          }\\n        }\\n        function writeJSONCookie(name, obj, days) {\\n          const s = JSON.stringify(obj);\\n          setCookie(name, s, days);\\n          saveLS(name, s); // 兜底\\n        }\\n        function applyAttribution() {\\n          // 1) visitor id\\n          let vid = getCookie(\"_vid\") || readLS(\"_vid\");\\n          if (!vid) {\\n            vid = uuidv4();\\n            setCookie(\"_vid\", vid, 365);\\n            saveLS(\"_vid\", vid);\\n          }\\n          // 2) parse current touch\\n          const touch = parseCurrentTouch();\\n          const ft = readJSONCookie(\"_campaign_ft\");\\n          const lt = readJSONCookie(\"_campaign_lt\");\\n          // 3) first-touch：仅当不存在且这次有营销来源时写入\\n          if (!ft && touch.has_marketing) {\\n            writeJSONCookie(\"_campaign_ft\", touch, 180);\\n          }\\n          // 4) last-touch：只有当这次有营销来源（UTM/点击ID或外部引荐）才更新\\n          if (touch.has_marketing) {\\n            writeJSONCookie(\"_campaign_lt\", touch, 90);\\n          }\\n          // 直接访问（无 UTM 且无外部引荐）不更新 lt，避免覆盖\\n          // 5) 暴露给 3Chat 或你的埋点\\n          window.__threechat_attribution__ = {\\n            visitor_id: vid,\\n            first_touch: readJSONCookie(\"_campaign_ft\"),\\n            last_touch: readJSONCookie(\"_campaign_lt\"),\\n          };\\n        }\\n        // 首次加载\\n        applyAttribution();\\n        // Framer 站点多为 SPA，要监听路由变化（push/replace/pop）\\n        [\"pushState\", \"replaceState\"].forEach((fn) => {\\n          const raw = history[fn];\\n          history[fn] = function () {\\n            const res = raw.apply(this, arguments);\\n            setTimeout(applyAttribution, 0);\\n            return res;\\n          };\\n        });\\n        window.addEventListener(\"popstate\", () => setTimeout(applyAttribution, 0));\\n      })();\\n    </script>\\n    <meta name=\"baidu-site-verification\" content=\"codeva-uRTPzK4M66\">\\n    <meta name=\"keywords\" content=\"3chat.ai, 3chat,全渠道,自动回复,群发邮件,出海企业,跨境电商,智能客服,智能客服机器人,客服外包,实时获客,在线客服,ai智能客服,聊天机器人,多语言翻译,永久免费使用,多端登录,chatgpt,客服系统\">',description:getLocalizedValue(\"v1\",activeLocale)??\"3Chat是面向品牌卖家，接入全渠道客服，基于MCP打造的客服智能体，有效提升售前转化和客户满意度\",favicon:\"https://framerusercontent.com/assets/rrL8MdjcVV1V21AwpL9S0l7qZ0.svg\",robots:\"max-image-preview:large\",title:getLocalizedValue(\"v0\",activeLocale)??\"3Chat-AI原生的智能客服\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"2DACyQ,SAAS,EAAkB,EAAI,EAAO,CAAC,KAAM,GAAO,CAAC,IAAM,EAAO,EAAiB,EAAO,IAAI,GAAG,EAAO,CAAC,IAAM,EAAM,EAAO,GAAK,GAAG,EAAM,OAAO,EAAO,EAAO,EAAO,UAAW,SAAwB,EAAS,EAAO,EAAa,CAAC,MAAM,CAAC,oBAAoB;;;;2LAAob,kBAAkB;gIAAoM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sJAAonN,YAAY,EAAkB,KAAK,EAAa,EAAE,oDAAoD,QAAQ,sEAAsE,OAAO,0BAA0B,MAAM,EAAkB,KAAK,EAAa,EAAE,kBAAkB,iBAA1iQ,EAAiB,CAAC,UAAU,CAAC,GAAG,4CAA4C,GAAG,kLAAkL,CAAC"}