Skip to content

频道管理

频道(Channel)WuKongIM 中是一个比较抽象的概念。发送消息都是先发送给频道,频道根据自己的配置规则进行投递消息,频道分频道和频道详情。 更多介绍请移步什么是频道

数据源

需要实现获取频道资料的数据源 获取频道资料数据源

频道资料

获取频道资料

dart
// 获取某个channel资料
WKIM.shared.channelManager.getChannel(String channelID,int channelType);

强制刷新频道资料

dart
// 强制刷新某个channel资料
WKIM.shared.channelManager.fetchChannelInfo(String channelID, int channelType)

事件

监听频道更新事件

dart
//  监听channel刷新事件
WKIM.shared.channelManager.addOnRefreshListener('key',(wkChannel){
    // 刷新对应channel 信息
});

// 移除监听
WKIM.shared.channelManager.removeOnRefreshListener('key');

常用方法

dart
// 批量保存频道资料
WKIM.shared.channelManager.addOrUpdateChannels(List<WKChannel> channelList);

// 搜索
WKIM.shared.channelManager.search(String keyword);

数据结构说明

dart

class WKChannel {
  String channelID = "";
  int channelType = WKChannelType.personal;
  String channelName = "";
  //频道备注(频道的备注名称,个人的话就是个人备注,群的话就是群别名)
  String channelRemark = "";
  int showNick = 0;
  //是否置顶
  int top = 0;
  //是否保存在通讯录
  int save = 0;
  //免打扰
  int mute = 0;
  //禁言
  int forbidden = 0;
  //邀请确认
  int invite = 0;
  //频道状态[1:正常2:黑名单]
  int status = 1;
  //是否已关注 0.未关注(陌生人) 1.已关注(好友)
  int follow = 0;
  //是否删除
  int isDeleted = 0;
  //创建时间
  String createdAt = "";
  //修改时间
  String updatedAt = "";
  //频道头像
  String avatar = "";
  //版本
  int version = 0;
  //扩展字段
  dynamic localExtra;
  //是否在线
  int online = 0;
  //最后一次离线时间
  int lastOffline = 0;
  // 最后一次离线设备标识
  int deviceFlag = 0;
  //是否回执消息
  int receipt = 0;
  // 机器人
  int robot = 0;
  //分类[service:客服]
  String category = "";
  String username = "";
  String avatarCacheKey = "";
  dynamic remoteExtraMap;
  String parentChannelID = "";
  int parentChannelType = 0;
}

本文档内容版权属于 上海信必达网络科技有限公司,保留所有权利