← 原皮
你正在体验 📜 复古档案 皮肤 · 点这里随时返回原版 ×
🏠 返回原版
📚
智能中台
🔒 内部专属 · 请输入访问密码
⚠️ 内部使用 · 请勿外传 · 请勿爬取

智能中台

促销政策 · 产品手册 · 话术工具 · 一键直达

内部使用 · 请勿外传
欢迎使用智能中台
快速查询政策、产品、销售话术和常用工具。
💡 常见问题HOT 直接查看 · 分类点击展开子话题(内容随知识库自动同步)
🔥7 月总促销 ↗
📢7 月品广促销
💰7 月直通车促销
🎊9 月采购节
📖产品手册
🎯销售话术
🤖AWB · Accio ▾
🏆竞品对比
📊数据资源
🎓培训学习
📎工具与后台
👥找人办事
/ 快速搜索 · ? 看快捷键
rget.matches("input,textarea")){e.preventDefault();open("⌨️ Shift+S 唤起");}}); })(); // ========== 分类聚合展开(KB 自动同步)========== // ✨ 展开一个分类下的所有子话题(数据源:catMap · 自动过滤 KB 里存在的 key · 支持二次分组) // 未来 KB 增删条目时,前端会通过 /api/live-content 拉最新 catMap,无需改代码 var CAT_META = { // AWB 是虚拟聚合:从 tools 分类里抽出所有 AWB* 和 Accio* 的条目单独展示 awb: { icon:"🤖", label:"AWB · Accio Work", virtual: function(catMap, kb){ var src = (catMap.tools || []).filter(function(q){ return kb[q] && (/^AWB/i.test(q) || /^Accio/i.test(q)); }); return src; }, subGroups:{ "AWB场景":"AWB · 5 大销售场景","AWB接入":"AWB · 插件接入","AWB":"AWB · 基础","Accio 接入":"Accio · 插件接入","Accio ":"Accio · 通用","Accio":"Accio · 通用" } }, product: { icon:"📖", label:"产品手册", subGroups:{ "签单-":"签单流程 SOP","签单流程":"签单流程 SOP","CGS":"CGS 平台功能","半托管":"CGS 平台功能" } }, script: { icon:"🎯", label:"销售话术", subGroups:{ "异议":"客户异议处理" } }, compete: { icon:"🏆", label:"竞品对比" }, data: { icon:"📊", label:"数据资源" }, train: { icon:"🎓", label:"培训学习" }, // tools 排除 AWB/Accio(这些已经并入 awb 虚拟分类) tools: { icon:"📎", label:"工具与后台", exclude: function(q){ return /^AWB/i.test(q) || /^Accio/i.test(q); }, subGroups:{ "CGS":"CGS 平台功能","CRM":"CRM · 数据后台" } }, people: { icon:"👥", label:"找人办事" } }; // 词条名 → 显示标签的美化映射(可选,不在表里就用原名) var LABEL_MAP = { "vs环球资源":"vs 环球资源","vs中国制造网":"vs 中国制造网","vs独立站":"vs 独立站/Google Ads","vs敦煌网":"vs 敦煌网", "7月促销":"7 月总促销","7月充值促销":"7 月充值促销","7月品广促销":"7 月品广促销","9月采购节":"9 月采购节", "签单-需求确认":"签单① 需求确认","签单-方案报价":"签单② 方案报价","签单-合同签订":"签单③ 合同签订", "签单-下单录入":"签单④ CRM 录单","签单-到款开票":"签单⑤ 到款开票","签单-开通售后":"签单⑥ 开通售后", "签单-方案变更":"签单· 方案变更","签单-退款流程":"签单· 退款流程", "异议-效果不好":"异议· 效果不好","异议-询盘不精准":"异议· 询盘不精准","异议-太贵":"异议· 太贵/没预算", "异议-涨价":"异议· 涨价","异议-再看看":"异议· 再看看","异议-缓一缓":"异议· 缓一缓", "异议-决策权":"异议· 决策权","异议-合同条款":"异议· 合同条款", "AWB场景-选品":"场景· 选品调研","AWB场景-发品":"场景· 智能发品","AWB场景-询盘":"场景· 询盘/客管", "AWB场景-营销":"场景· 营销素材","AWB场景-经营分析":"场景· 经营诊断","AWB场景-采购":"场景· 采购供应链", "AWB场景-流程":"场景· 关检汇税","AWB接入生意助手":"接入· 生意助手","AWB接入OKKI":"接入· OKKI","AWB接入1688":"接入· 1688", "Accio 接入生意助手":"接入· 生意助手","Accio 接入OKKI":"接入· OKKI","Accio 接入1688":"接入· 1688", "Accio 7大场景":"7 大场景","Accio 智能发品":"智能发品","Accio 省积分技巧":"省积分技巧", "CGS品牌广告":"CGS · 品牌广告","CGS全站推":"CGS · 全站推","CGS半托管":"CGS · 半托管","CGS半托管售后":"CGS · 半托管售后", "CGS退税":"CGS · 出口退税","CGS金融":"CGS · 金融","CGS信用保障":"CGS · 信用保障","CGS资金管理":"CGS · 资金管理", "CGS物流":"CGS · 物流","CGS安全网规":"CGS · 安全网规","CGS产品发布":"CGS · 产品发布","CGS数据":"CGS · 数据看板", "CGS商机沟通":"CGS · 商机沟通","CGS网站营销":"CGS · 网站营销","CGS生意助手":"CGS · 生意助手", "CGS全球旺铺":"CGS · 全球旺铺","CGS通关":"CGS · 通关","CGS商家入驻":"CGS · 商家入驻" }; function _showCategoryChips(catKey, chipLabel){ var meta = CAT_META[catKey] || {icon:"📚", label:catKey}; var cm = (typeof catMap !== "undefined" && catMap) ? catMap : {}; var kb = (typeof KB !== "undefined" && KB) ? KB : {}; // 数据源:优先走 virtual(虚拟聚合),否则走 catMap var raw = meta.virtual ? meta.virtual(cm, kb) : (cm[catKey] || []); // 过滤:只保留 KB 里真实存在的 key(自动同步:KB 删了对应条目就不再展示) // 隐藏一级"导航型"入口(自身就是当前分类的入口,如"产品手册"/"销售话术"/"培训学习"/"工具入口"/"找人办事"/"竞品对比") var HIDE_ENTRY = {"产品手册":1,"销售话术":1,"培训学习":1,"工具入口":1,"找人办事":1,"竞品对比":1,"异议处理":1,"AWB知识":1,"签单流程":1,"数据资源":1,"市场行情":1,"行业大盘":1,"AWB是什么":0}; var items = raw.filter(function(q){ if (!kb[q] || HIDE_ENTRY[q]) return false; if (meta.exclude && meta.exclude(q)) return false; return true; }); var HOT = {"续签新政":1,"9月采购节":1,"7月促销":1,"7月充值促销":1,"7月品广促销":1,"总部P4P促销":1}; // 排序:HOT 项置顶 items.sort(function(a,b){ var ha = HOT[a]?0:1, hb = HOT[b]?0:1; if (ha !== hb) return ha - hb; return 0; }); var title = (meta.icon || "📚") + " " + (meta.label || catKey); if (!items.length){ addMsg("
" + title + " · 暂无内容,请稍后(或联系管理员补充)。
","bot"); return; } var html = "
" + title + "" + "共 " + items.length + " 个话题
"; // 是否二次分组 var subGroups = meta.subGroups || null; if (subGroups){ // 分桶 var buckets = {}; var order = []; items.forEach(function(q){ var bucket = "其他"; for (var prefix in subGroups){ if (q.indexOf(prefix) === 0 || q.indexOf(prefix) >= 0){ bucket = subGroups[prefix]; break; } } if (!buckets[bucket]) { buckets[bucket] = []; order.push(bucket); } buckets[bucket].push(q); }); // 把"其他"放到最后 order.sort(function(a,b){ return (a==="其他"?1:0) - (b==="其他"?1:0); }); order.forEach(function(bk){ html += "
" + bk + " · " + buckets[bk].length + " 项
"; html += _renderChipRow(buckets[bk], HOT); }); } else { html += _renderChipRow(items, HOT); } addMsg(html, "bot"); } function _renderChipRow(items, HOT){ var html = "
"; items.forEach(function(q){ var label = LABEL_MAP[q] || q; if (HOT[q]){ html += '' + 'HOT' + label + ''; } else { html += '' + label + ''; } }); html += "
"; return html; } // ========== bot 气泡金额/日期自动橙红高亮 ========== // 遍历 bot 气泡内的文本节点,把金额(¥1,234 / 47,800元 / $99)和日期(7月1日 / 2026-07-11) // 自动包成 ,让重要数字一眼可见 function _hiTextInBot(root){ var SKIP = {"A":1,"CODE":1,"STYLE":1,"SCRIPT":1,"BUTTON":1,"INPUT":1,"TEXTAREA":1,"SPAN":0}; // 金额(含 ¥、元、$、万),日期(YYYY-MM-DD / M月D日) var RE = /(¥\s?\d[\d,\.]*(?:\.\d+)?\s?(?:万)?|\$\s?\d[\d,\.]*|\d[\d,]{2,}\s?(?:元|万|美元))|(\d{4}-\d{1,2}-\d{1,2}|\d{1,2}\s?月\s?\d{1,2}\s?日|\d{1,2}\/\d{1,2}(?!\d))/g; var walker = document.createTreeWalker(root, NodeFilter.SHOW_TEXT, { acceptNode: function(node){ if (!node.nodeValue || !node.nodeValue.trim()) return NodeFilter.FILTER_REJECT; var p = node.parentNode; while (p && p !== root) { if (SKIP[p.nodeName] === 1) return NodeFilter.FILTER_REJECT; // 已经在 .hi 里,跳过 if (p.classList && (p.classList.contains("hi")||p.classList.contains("hi-pri")||p.classList.contains("hi-ok")||p.classList.contains("hi-warn"))) return NodeFilter.FILTER_REJECT; p = p.parentNode; } return RE.test(node.nodeValue) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT; } }); var toProcess = []; var n; while ((n = walker.nextNode())) toProcess.push(n); toProcess.forEach(function(node){ var frag = document.createDocumentFragment(); var last = 0; var m; RE.lastIndex = 0; var text = node.nodeValue; while ((m = RE.exec(text)) !== null){ if (m.index > last) frag.appendChild(document.createTextNode(text.slice(last, m.index))); var span = document.createElement("span"); span.className = m[1] ? "hi" : "hi-pri"; span.textContent = m[0]; frag.appendChild(span); last = m.index + m[0].length; } if (last < text.length) frag.appendChild(document.createTextNode(text.slice(last))); node.parentNode.replaceChild(frag, node); }); }