# atomicx 组件库清单与组件的适用场景与注意事项

## 组件清单

共 25 个组件:

### 适用于聊天场景的组件

1. ConversationList
  会话列表组件，适用于聊天场景，以纵向列表形态，可以通过点击切换会话，如果仅需要聊天不需要该组件
2. ChatHeader
  聊天头部组件，是聊天界面的顶部导航组件，用于显示当前会话的基本信息。能够展示会话标题、头像、在线状态、输入状态提示等信息。组件采用容器组件模式，提供了灵活的插槽机制用于自定义左右两侧的操作区域。
3. MessageInput
  消息输入组件，聊天场景的核心组件，可以发送聊天消息，需要发送消息则必须使用该组件
4. MessageList
  消息列表组件，聊天场景的核心组件，可以显示聊天消息列表，支持消息的上下滑动，聊天场景必须使用该组件
5. ContactList
  联系人列表组件，适用于聊天场景，可以显示和管理用户联系人，如果仅需要聊天不需要该组件
6. ChatSetting
  聊天设置组件，适用于聊天场景，管理聊天相关配置，比如置顶、免打扰，群聊加人、踢人、管理员管理、禁言等，如果仅需要聊天不需要该组件
7. Search
  搜索组件，用于搜索消息、用户等内容，如果仅需要聊天不需要该组件

### 适用于会议场景的组件

1. CameraButton
  摄像头控制按钮，仅适用于会议场景，用于开启/关闭摄像头
2. StreamView
  视频流显示组件，仅适用于会议场景，用于显示视频流
3. UserList
  用户列表组件，仅适用于会议场景，显示会议或房间中的用户
4. VideoSetting
  视频设置组件，仅适用于会议场景，用于摄像头、画质等视频配置
5. VideoSettingPanel
  视频设置面板，仅适用于会议场景，提供完整的视频配置界面
6. AudioSetting
  音频设置组件，仅适用于会议场景，可以设置麦克风、音量等音频设备配置
7. AudioSettingPanel
  音频设置面板，仅适用于会议场景，提供完整的音频配置界面
8. BarrageInput
  弹幕输入组件，适用于会议、直播场景，用于发送直播弹幕消息
9. BarrageList
  弹幕列表组件，适用于会议、直播场景，显示直播间的弹幕消息
10. UserPicker
  用户选择器，适用于会议、直播场景，用于邀请用户或分配权限
11. MicButton
  麦克风控制按钮，适用于会议、直播场景，用于静音/取消静音

### 适用于直播场景的组件

1. CoGuestPanel
  连麦嘉宾管理面板，仅适用于直播场景，用于直播连麦功能
2. LiveAudienceList
  直播观众列表，仅适用于直播场景，显示当前直播间的观众
3. LiveList
  直播房间列表，仅适用于直播场景，展示可用的直播房间
4. LiveMonitorView
  直播监控视图，仅适用于直播场景，用于直播管理和监控
5. LiveScenePanel
  直播场景控制面板，仅适用于直播场景，管理直播场景和效果
6. LiveStreamView
  直播视频流显示组件，仅适用于直播场景，播放直播画面
7. StreamMixer
  流混合器组件，仅适用于直播场景，用于多路视频流合成
8. BarrageInput
  弹幕输入组件，适用于会议、直播场景，用于发送直播弹幕消息
9. BarrageList
  弹幕列表组件，适用于会议、直播场景，显示直播间的弹幕消息
10. UserPicker
  用户选择器，适用于会议、直播场景，用于邀请用户或分配权限
11. MicButton
  麦克风控制按钮，适用于会议、直播场景，用于静音/取消静音

### 通用组件

1. Avatar
  通用头像组件，显示用户头像/在线状态/消息未读数
2. UserPicker
  用户选择器，用于发起群聊、发起群视频、群语音等选择用户的场景

## 注意事项

在开始集成任何组件到真实项目之前，**必须**首先确保已经调用以下工具获取到了集成文档，并根据文档进行集成：

1. 当创建真实的项目时，请调用 MCP Tools get_atomicx_integration_guide(framework) 的组件集成文档
2. 当选择使用的组件时，应先考虑满足需求的最少组件，再考虑推荐可额外使用的扩展组件，不要放大需求
3. 不同场景适用的组件有交集
4. 根据用户需求，判断有没有可能是一个综合场景，比如聊天 + 直播，概率较低，应该谨慎
5. 如需了解具体组件的使用方法，请询问用户："你可以问 ${componentname} 怎么用？" 这样的问题
