import { useMemo, useState } from "react"; import { Search } from "lucide-react"; import DraggableFab from "../components/DraggableFab"; import StatusPill from "../components/StatusPill"; import { openWindow } from "../utils/navigation"; const items = [ { id: "kb-sales-champion", title: "销售冠军高意向客户跟进案例", type: "案例", tags: ["私域成交", "高意向"], updated: "06-08", refs: 128, files: 3, version: "v2.4", status: "已生效" }, { id: "kb-refund", title: "售后常见问题与退款边界", type: "文件", tags: ["售后", "退款"], updated: "06-05", refs: 82, files: 4, version: "v1.7", status: "已生效" }, { id: "kb-training", title: "产品培训视频", type: "视频", tags: ["产品", "培训"], updated: "06-20", refs: 26, files: 2, version: "v1.0", status: "已生效" }, { id: "kb-boundary", title: "售后边界说明", type: "文件", tags: ["售后", "边界"], updated: "06-18", refs: 12, files: 1, version: "v1.2", status: "已生效" }, { id: "kb-images", title: "企业微信客户分层话术图片包", type: "图片", tags: ["客户分层", "话术"], updated: "05-30", refs: 41, files: 12, version: "v1.1", status: "已生效" }, { id: "kb-live", title: "直播间私域导流短视频脚本", type: "视频", tags: ["直播", "私域"], updated: "05-24", refs: 35, files: 3, version: "v0.9", status: "已停用" }, ]; export default function KnowledgePage() { const [query, setQuery] = useState(""); const filtered = useMemo(() => items.filter((item) => { const keyword = `${item.title} ${item.tags.join(" ")}`.toLowerCase(); return keyword.includes(query.toLowerCase()); }), [query]); return (
setQuery(event.target.value)} />
{filtered.map((item) => (
openWindow(`/window/knowledge-detail?id=${item.id}`)}>

{item.title}

{item.type}{item.tags.map((tag) => {tag})}
{item.version} · 更新 {item.updated} · 引用 {item.refs}文件 {item.files} 个
))} {!filtered.length ?

暂无匹配知识

调整搜索关键词后重试。

: null}
openWindow("/window/knowledge-create")} ariaLabel="新增知识库" />
); }