# WhatsApp / Email 联系方式动态配置 **日期**: 2026-06-18 **项目**: AI 客服系统 - VOLT/HESU **目标**: 将写死的 WhatsApp 号码和 Email 地址改为通过 ` ``` --- ## 三、改动详情 ### 3.1 `static/widget.js`(嵌入式组件) **读取配置**:在 [widget.js:8-12](../../../static/widget.js#L8-L12) 现有 `getAttribute` 调用旁,新增两行(沿用现有写法): ```js var whatsapp = script.getAttribute("data-whatsapp") || "https://wa.me/+8619037179250"; var email = script.getAttribute("data-email") || "mailto:info@borderlesscar.com"; ``` **使用配置**:把以下 3 处写死的 `href` 替换为字符串拼接 `+ whatsapp +` / `+ email +`: | 位置 | 当前写死值 | 改为 | |------|------------|------| | [widget.js:170](../../../static/widget.js#L170)(面板 help-block,含 WhatsApp 与 Email 两个 `href`) | `https://wa.me/+8619037179250` / `mailto:info@borderlesscar.com` | `+ whatsapp +` / `+ email +` | | [widget.js:199](../../../static/widget.js#L199)(邀请卡 WhatsApp) | `https://wa.me/+8619037179250` | `+ whatsapp +` | | [widget.js:203](../../../static/widget.js#L203)(邀请卡 Email) | `mailto:info@borderlesscar.com` | `+ email +` | > 注意:第 170 行是单行内同时包含 WhatsApp 与 Email 两个 ``,需保证两处拼接都正确,不要漏改其中一个。 ### 3.2 `static/js/chat.js` + `static/chat.html`(独立页,方案 A) `chat.html` 是独立整页,加载 `/static/js/chat.js`(**不**加载 widget.js)。为保持与组件**同一套**配置机制,让 `chat.js` 读取自身 `` 标签上添加 `data-whatsapp` / `data-email` 属性,使演示页展示配置能力。 - 第 35、39 行原有的静态 `href` **保留为默认值不动**,作为 `chat.js` 执行前的 fallback(避免 JS 未执行时出现空链接),`chat.js` 启动后会按配置覆盖。 - **执行时序安全**:`chat.js` 在 `` 末尾加载([chat.html:80](../../../static/chat.html#L80),晚于聊天容器 DOM),故 IIFE 顶部同步 `querySelector('.whatsapp-btn' / '.email-btn')` 时两个锚点已存在,同步赋值 `href` 安全。这两个 class 仅出现在 `chat.html` 的 light DOM 中(widget.js 里同名 class 在其 shadow DOM 内,互不干扰)。 ### 3.3 `static/widget-test.html`(组件测试/演示页) - 在 [widget-test.html:69](../../../static/widget-test.html#L69) 的组件 `