Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface SessionInterface

Hierarchy

  • SessionInterface

Implemented by

Index

Methods

  • addStickTopSession(options: { id: string; topCustom?: string; done: any }): void
  • deleteLocalSession(options: { id: string; isDeleteRoaming?: boolean; isLogic?: boolean; done?: any }): void
  • 删除指定的本地数据库会话。以及可选删除服务器上漫游消息。

    关联函数

    示例场景

    Parameters

    • options: { id: string; isDeleteRoaming?: boolean; isLogic?: boolean; done?: any }

      入参

      • id: string

        会话 id

      • Optional isDeleteRoaming?: boolean

        是否需要删除此会话的服务器漫游消息, 默认 false。8.2.0 版本新增,写 true 的话,下次登录服务器不再下发此会话的漫游消息,此规则会影响多端登录的其他端,慎用。

      • Optional isLogic?: boolean

        是否为逻辑删除, 默认 false。7.9.1 版本新增,逻辑删除不会真的删除本地会话,而是标记会话为“已删除”状态,这样可以保留会话的unreadmsgReceiptTime,下次新建该会话时,可以保持正确的未读数和已读时间戳

      • done?:function

    Returns void

  • deleteSession(options: { scene: "p2p" | "team" | "superTeam"; to: string; done?: any }): void
  • deleteSessions(options: { sessions: NIMSession[]; done?: any }): void
  • deleteSessionsWithMoreRoaming(options: { id: string; done?: any }): void
  • deleteStickTopSession(options: { id: string; done: any }): void
  • getLocalSession(options: { sessionId: string; done: any }): void
  • getLocalSessions(options: { lastSessionId?: string; limit?: number; reverse?: boolean; done: any }): void
  • 分页查询会话列表

    Parameters

    • options: { lastSessionId?: string; limit?: number; reverse?: boolean; done: any }
      • Optional lastSessionId?: string

        上一页最后一条会话的 id,第一次查询可以不填。

      • Optional limit?: number

        分页查询数量限制,默认 100 条记录

      • Optional reverse?: boolean

        查询顺序

        false 从最早的会话开始查找

        true 从最晚的会话开始查找

      • done:function

    Returns void

  • getSessionsWithMoreRoaming(options: { id: string; done?: any }): void
  • getStickTopSessions(options: { done: any }): void
  • insertLocalSession(options: { scene: "p2p" | "team" | "superTeam"; to: string; done?: any }): void
  • 往本地数据库 indexdb 中插入一个会话

    • 如果不支持数据库, 则会在 sdk 内存中插入一条会话。不推荐没有 db 时使用该函数。用户应该在自己的内存数据中维护会话列表。

    • 如果会话已存在, 那么会返回错误

    • 如果有对应会话的本地历史消息, 那么会更新会话的 lastMsg 为最后一条消息

    • 插入成功后, 会触发onupdatesession回调

    Parameters

    Returns void

  • resetAllSessionUnread(): void
  • resetCurrSession(sessionId: string): void
  • 取消 “setCurrSession” 的效果。取消后,会话收到消息后,未读数会变更。

    Parameters

    • sessionId: string

    Returns void

  • resetSessionUnread(sessionId: string, done: (err: null | Error, failedSessionId: string) => void): void
  • resetSessionsUnread(sessionIds: string[], done: (err: null | Error) => void): Promise<void>
  • resetSuperTeamSessionsUnread(sessionIds: string[], done: (err: null | Error) => void): Promise<void>
  • 重置某些超级群的会话的未读数

    注意

    Parameters

    • sessionIds: string[]
    • done: (err: null | Error) => void
        • (err: null | Error): void
        • Parameters

          • err: null | Error

          Returns void

    Returns Promise<void>

  • setCurrSession(sessionId: string): void
  • 设置“进入当前会话”

    注:这是 sdk 的一个便于操作的复合接口,做的逻辑有:在内存里记录当前进入的会话,进入会话时调用 resetSessionUnread 清空未读,且后续 onMsg 接收新消息时 resetSessionUnread 清空未读。

    注2:如果不满足开发者的场景,开发者可以组合调用 API,须小心接到新消息而触发的 onupdatesessions 变更时,忽略当前选中的会话的 unread 数变更。

    关联函数

    Parameters

    • sessionId: string

    Returns void

  • updateLocalSession(options: { id: string; localCustom?: string; needNotify?: boolean; done?: any }): void
  • 更新本地数据库里的会话

    Parameters

    • options: { id: string; localCustom?: string; needNotify?: boolean; done?: any }

      入参

    Returns void

  • updateSessionsWithMoreRoaming(options: { msg: NIMMessage; done?: any }): void
  • updateStickTopSession(options: { id: string; topCustom?: string; done: any }): void