Skip to content
目录

频道管理

数据结构说明

频道资料的数据结构

js
class ChannelInfo {
    /* tslint:disable-line */
    channel!: Channel; // 频道
    title!: string; // 频道标题
    logo!: string; // 频道logo
    mute!: boolean; // 是否免打扰
    top!: boolean; // 是否置顶
    orgData: any; //  第三方数据
    online: boolean = false // 是否在线
    lastOffline: number = 0 // 最后一次离线时间
}
class ChannelInfo {
    /* tslint:disable-line */
    channel!: Channel; // 频道
    title!: string; // 频道标题
    logo!: string; // 频道logo
    mute!: boolean; // 是否免打扰
    top!: boolean; // 是否置顶
    orgData: any; //  第三方数据
    online: boolean = false // 是否在线
    lastOffline: number = 0 // 最后一次离线时间
}

订阅者的数据结构

js
class Subscriber {
    /* tslint:disable-line */
    uid!: string; // 订阅者uid
    name!: string; // 订阅者名称
    remark!: string; // 订阅者备注
    avatar!: string; // 订阅者头像
    role!: number; // 订阅者角色
    channel!: Channel; // 频道
    version!: number; // 数据版本
    isDeleted!: boolean; // 是否已删除
    status!: number; // 订阅者状态
    orgData: any; //  第三方数据
}
class Subscriber {
    /* tslint:disable-line */
    uid!: string; // 订阅者uid
    name!: string; // 订阅者名称
    remark!: string; // 订阅者备注
    avatar!: string; // 订阅者头像
    role!: number; // 订阅者角色
    channel!: Channel; // 频道
    version!: number; // 数据版本
    isDeleted!: boolean; // 是否已删除
    status!: number; // 订阅者状态
    orgData: any; //  第三方数据
}

频道资料

请求频道资料

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

js
// 强制从服务器获取频道资料并放入缓存
  WKSDK.shared().channelManager.fetchChannelInfo(channel)
// 强制从服务器获取频道资料并放入缓存
  WKSDK.shared().channelManager.fetchChannelInfo(channel)

获取频道资料

js
// 从缓存获取频道资料
  const channelInfo =  WKSDK.shared().channelManager.getChannelInfo(channel)
// 从缓存获取频道资料
  const channelInfo =  WKSDK.shared().channelManager.getChannelInfo(channel)

监听频道资料

WKSDK.shared().channelManager.fetchChannelInfo(channel)方法会触发此监听

js
const listen = (channelInfo: ChannelInfo) => {
   
}
const listen = (channelInfo: ChannelInfo) => {
   
}

添加监听

js
WKSDK.shared().channelManager.addListener(listen)
WKSDK.shared().channelManager.addListener(listen)

移出监听

js
WKSDK.shared().channelManager.removeListener(listen)
WKSDK.shared().channelManager.removeListener(listen)

订阅者(成员)

同步频道的订阅者列表

需要实现同步频道订阅者数据源 同步频道订阅者数据源

js
WKSDK.shared().channelManager.syncSubscribes(channel)
WKSDK.shared().channelManager.syncSubscribes(channel)

获取频道订阅者列表

js
const subscribers = WKSDK.shared().channelManager.getSubscribes(channel)
const subscribers = WKSDK.shared().channelManager.getSubscribes(channel)

获取我在频道内的订阅者身份

js
const subscriber = WKSDK.shared().channelManager.getSubscribeOfMe(channel)
const subscriber = WKSDK.shared().channelManager.getSubscribeOfMe(channel)

监听某个频道订阅者变化

js
const listen = (channel: Channel) => {
   const subscribers = WKSDK.shared().channelManager.getSubscribes(channel)
}
const listen = (channel: Channel) => {
   const subscribers = WKSDK.shared().channelManager.getSubscribes(channel)
}

添加监听

js
WKSDK.shared().channelManager.addSubscriberChangeListener(listen)
WKSDK.shared().channelManager.addSubscriberChangeListener(listen)

移出监听

js
WKSDK.shared().channelManager.removeSubscriberChangeListener(listen)
WKSDK.shared().channelManager.removeSubscriberChangeListener(listen)

流消息(适合ChatGPT)

订阅频道流消息

待补充

取消订阅频道流消息

待补充

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