本技能是 CometChat React UI Kit v6 所有集成的基础规则层,属于约束性上下文,需与具体框架技能配套使用,不能单独用于实现。
用途:为框架专用技能提供统一硬性约束,防止破坏现有项目的认证、路由、样式与文件结构。
主要能力与约束:强制 init() 必须在 login() 前解析,login() 必须在任何 CometChat 组件挂载前解析;css-variables.css 全项目只能导入一次;同一组件不得同时传入 user 和 group;Auth Key 只能存于 .env;CometChat 仅客户端执行;不得替换或绕过现有认证系统;错误必须显式呈现在 UI 上,不得吞掉;init() 返回 Promise 或 void,须用 init()?.then()。
凭据推断:先检查 .env 中的 APP_ID、REGION、AUTH_KEY,再搜索 CometChatUIKit.init,若有 /api/auth 或 /api/cometchat-token 则改用 loginWithAuthToken 且不引入 Auth Key,仅询问无法推断的值。
文件处理:已存在且有真实逻辑的文件只做补丁,不覆盖非 CometChat 部分;仅有占位内容的文件可替换;不存在的文件创建于 cometchat/ 子目录。新文件均放 cometchat/ 子目录,路由类框架创建新的 /chat 路由,不改动现有页面;纯 React 仅在 App.tsx 添加一行导入与渲染。最多触碰三个现有文件。
框架路由:Next.js 用 cometchat-react-nextjs,React Router v7 用 cometchat-react-react-router,Astro 用 cometchat-react-astro,Vite/CRA 用 cometchat-react-reactjs。框架不匹配时必须停止执行。
常见失败模式:空白屏多因登录或渲染顺序错误、状态标志设置时机不对;水合错误源于服务端渲染;样式损坏源于 CSS 变量未导入或重复导入;401 为凭据不匹配;区域错误为 REGION 与创建区域不符。
限制与完成标准:npm install、npm run build 或 tsc --noEmit 无错误;CSS 只导入一次;错误 UI 可达;无重复路由或组件。本资料未提供具体安装命令与详细配置步骤,相关内容暂未提供。