藍鶯開發者
Web & Mini ProgramiOSAndroidC++Server API

floo::BMXGroupService#

群組Service

#include <bmx_group_service.h>

Public Types#

Name
typedef std::function< void(int percent)>Callback
typedef std::shared_ptr< [CreateGroupOptions] >CreateGroupOptionsPtr

Public Functions#

Name
virtual~BMXGroupService()
virtual BMXErrorCodeget(BMXGroupList & list, bool forceRefresh) =0
取得群組列表,如果設定了forceRefresh則從伺服器拉取
virtual BMXErrorCodesearch(BMXGroupList & list, bool forceRefresh) =0
Deprecated.
virtual BMXErrorCodefetchGroupsByIdList(const std::vector< int64_t > & groupIdList, BMXGroupList & list, bool forceRefresh) =0
通過傳入群組的id列表取得群組信息列表,如果設定了forceRefresh則從伺服器拉取
virtual BMXErrorCodesearch(const std::vector< int64_t > & groupIdList, BMXGroupList & list, bool forceRefresh) =0
Deprecated.
virtual BMXErrorCodefetchGroupById(int64_t groupId, BMXGroupPtr & group, bool forceRefresh) =0
通過群組id取得群信息,如果設定了forceRefresh則從伺服器拉取
virtual BMXErrorCodesearch(int64_t groupId, BMXGroupPtr & group, bool forceRefresh) =0
Deprecated.
virtual BMXErrorCodefetchLocalGroupsByName(BMXGroupList & list, const std::string & name) =0
通過群名稱查詢本地群信息,從本地資料庫中通過群名稱查詢取得群組
virtual BMXErrorCodesearch(BMXGroupList & list, const std::string & name) =0
Deprecated.
virtual BMXErrorCodecreate(const [CreateGroupOptions] & options, BMXGroupPtr & group) =0
建立群
virtual BMXErrorCodedestroy(BMXGroupPtr group) =0
銷燬群
virtual BMXErrorCodejoin(BMXGroupPtr group, const std::string & message) =0
加入一個群,根據群設定可能需要管理員批准
virtual BMXErrorCodeleave(BMXGroupPtr group) =0
退出群
virtual BMXErrorCodegetInfo(BMXGroupPtr group) =0
取得群詳情,從服務端拉取最新信息
virtual BMXErrorCodegetMembersNickname(BMXGroupPtr group, const std::vector< int64_t > & members, BMXGroup::MemberList & list) =0
取得群組成員詳細信息
virtual BMXErrorCodegetInvitationList(BMXGroupInvitationPagePtr & result, const std::string & cursor ="", int pageSize =10) =0
分頁取得群組邀請列表
virtual BMXErrorCodegetApplicationList(BMXGroupList list, BMXGroupApplicationPagePtr & result, const std::string & cursor ="", int pageSize =10) =0
分頁取得群組申請列表
virtual BMXErrorCodegetMembers(BMXGroupPtr group, BMXGroupMemberResultPagePtr & result, const std::string & cursor ="", int pageSize =200) =0
分頁取得群成員列表,如果設定了forceRefresh則從伺服器拉取,單頁最大數量為500.
virtual BMXErrorCodegetMembers(BMXGroupPtr group, BMXGroup::MemberList & list, bool forceRefresh) =0
取得群成員列表,如果設定了forceRefresh則從伺服器拉取,最多拉取1000人
virtual BMXErrorCodeaddMembers(BMXGroupPtr group, const std::vector< int64_t > & members, const std::string & message) =0
添加群成員
virtual BMXErrorCoderemoveMembers(BMXGroupPtr group, const std::vector< int64_t > & members, const std::string & reason) =0
刪除群成員
virtual BMXErrorCodeaddAdmins(BMXGroupPtr group, const std::vector< int64_t > & admins, const std::string & message) =0
添加管理員
virtual BMXErrorCoderemoveAdmins(BMXGroupPtr group, const std::vector< int64_t > & admins, const std::string & reason) =0
刪除管理員
virtual BMXErrorCodegetAdmins(BMXGroupPtr group, BMXGroup::MemberList & list, bool forceRefresh) =0
取得Admins列表,如果設定了forceRefresh則從伺服器拉取
virtual BMXErrorCodeblockMembers(BMXGroupPtr group, const std::vector< int64_t > & members) =0
添加黑名單
virtual BMXErrorCodeunblockMembers(BMXGroupPtr group, const std::vector< int64_t > & members) =0
從黑名單刪除
virtual BMXErrorCodegetBlockList(BMXGroupPtr group, BMXGroupMemberResultPagePtr & result, const std::string & cursor ="", int pageSize =200) =0
分頁取得黑名單
virtual BMXErrorCodegetBlockList(BMXGroupPtr group, BMXGroup::MemberList & list, bool forceRefresh) =0
取得黑名單
virtual BMXErrorCodebanMembers(BMXGroupPtr group, const std::vector< int64_t > & members, int64_t duration, const std::string & reason ="") =0
禁言
virtual BMXErrorCodebanGroup(BMXGroupPtr group, int64_t duration) =0
全員禁言,當前伺服器時間加上禁言時長後計算出全員禁言到期時間(只有管理和群主可以發言)
virtual BMXErrorCodeunbanMembers(BMXGroupPtr group, const std::vector< int64_t > & members) =0
解除禁言
virtual BMXErrorCodeunbanGroup(BMXGroupPtr group) =0
全員解除禁言
virtual BMXErrorCodegetBannedMembers(BMXGroupPtr group, BMXGroupBannedMemberResultPagePtr & result, const std::string & cursor ="", int pageSize =200) =0
分頁取得禁言列表
virtual BMXErrorCodegetBannedMembers(BMXGroupPtr group, BMXGroup::BannedMemberList & list) =0
取得禁言列表
virtual BMXErrorCodemuteMessage(BMXGroupPtr group, BMXGroup::MsgMuteMode mode) =0
設定是否屏蔽群訊息
virtual BMXErrorCodeacceptApplication(BMXGroupPtr group, int64_t applicantId) =0
接受入群申請
virtual BMXErrorCodedeclineApplication(BMXGroupPtr group, int64_t applicantId, const std::string & reason ="") =0
拒絕入群申請
virtual BMXErrorCodeacceptInvitation(BMXGroupPtr group, int64_t inviter) =0
接受入群邀請
virtual BMXErrorCodedeclineInvitation(BMXGroupPtr group, int64_t inviter, const std::string & reason ="") =0
拒絕入群邀請
virtual BMXErrorCodetransferOwner(BMXGroupPtr group, int64_t newOwnerId) =0
轉移群主
virtual BMXErrorCodeuploadSharedFile(BMXGroupPtr group, const std::string & filePath, const std::string & displayName, const std::string & extensionName, Callback ) =0
添加群共享檔案
virtual BMXErrorCodecancelUploadSharedFile(BMXGroupPtr group, const std::string & filePath) =0
取消上傳群共享檔案
virtual BMXErrorCoderemoveSharedFile(BMXGroupPtr group, BMXGroup::SharedFilePtr sharedFile) =0
移除群共享檔案
virtual BMXErrorCodedownloadSharedFile(BMXGroupPtr group, BMXGroup::SharedFilePtr sharedFile, Callback ) =0
下載群共享檔案
virtual BMXErrorCodecancelDownloadSharedFile(BMXGroupPtr group, BMXGroup::SharedFilePtr sharedFile) =0
取消下載群共享檔案
virtual BMXErrorCodegetSharedFilesList(BMXGroupPtr group, BMXGroup::SharedFileList & list, bool forceRefresh) =0
取得群共享檔案列表
virtual BMXErrorCodechangeSharedFileName(BMXGroupPtr group, BMXGroup::SharedFilePtr sharedFile, const std::string & name) =0
修改群共享檔案名稱
virtual BMXErrorCodegetLatestAnnouncement(BMXGroupPtr group, BMXGroup::AnnouncementPtr & announcement, bool forceRefresh) =0
取得最新的群公告
virtual BMXErrorCodegetAnnouncementList(BMXGroupPtr group, BMXGroup::AnnouncementList & list, bool forceRefresh) =0
取得群公告列表
virtual BMXErrorCodeeditAnnouncement(BMXGroupPtr group, const std::string & title, const std::string & content) =0
設定群公告
virtual BMXErrorCodedeleteAnnouncement(BMXGroupPtr group, int64_t announcementId) =0
刪除群公告
virtual BMXErrorCodesetName(BMXGroupPtr group, const std::string & name) =0
設定群名稱
virtual BMXErrorCodesetDescription(BMXGroupPtr group, const std::string & description) =0
設定群描述信息
virtual BMXErrorCodesetExtension(BMXGroupPtr group, const std::string & extension) =0
設定群擴展信息
virtual BMXErrorCodesetMyNickname(BMXGroupPtr group, const std::string & nickname) =0
設定在群裡的暱稱
virtual BMXErrorCodesetMsgPushMode(BMXGroupPtr group, BMXGroup::MsgPushMode mode) =0
設定群訊息通知模式
virtual BMXErrorCodesetJoinAuthMode(BMXGroupPtr group, BMXGroup::JoinAuthMode mode) =0
設定入群審批模式
virtual BMXErrorCodesetInviteMode(BMXGroupPtr group, BMXGroup::InviteMode mode) =0
設定邀請模式
virtual BMXErrorCodesetAllowMemberModify(BMXGroupPtr group, bool enable) =0
設定是否允許群成員設定群信息
virtual BMXErrorCodesetEnableReadAck(BMXGroupPtr group, bool enable) =0
設定是否開啟群訊息已讀功能
virtual BMXErrorCodesetHistoryVisible(BMXGroupPtr group, bool enable) =0
設定群成員是否開可見群歷史聊天記錄
virtual BMXErrorCodesetAvatar(BMXGroupPtr group, const std::string & avatarPath, Callback ) =0
設定群頭像
virtual BMXErrorCodedownloadAvatar(BMXGroupPtr group, bool thumbnail, Callback callback) =0
下載群頭像
virtual voidaddGroupListener(BMXGroupServiceListener * listener) =0
添加群組變化監聽者
virtual voidremoveGroupListener(BMXGroupServiceListener * listener) =0
移除群組變化監聽者

Protected Functions#

Public Types Documentation#

typedef Callback#

typedef std::function<void(int percent)> floo::BMXGroupService::Callback;

typedef CreateGroupOptionsPtr#

typedef std::shared_ptr<CreateGroupOptions> floo::BMXGroupService::CreateGroupOptionsPtr;

Public Functions Documentation#

function ~BMXGroupService#

inline virtual ~BMXGroupService()

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="~BMXGroupService" %}{% endlanying_code_snippet %}

function get#

virtual BMXErrorCode get(
    BMXGroupList & list,
    bool forceRefresh
) =0

取得群組列表,如果設定了forceRefresh則從伺服器拉取

Parameters:

  • list 群組id列表,傳入空列表函數回傳後從此處取得回傳的群組id列表
  • forceRefresh 設定為true強制從伺服器取得,本地取得失敗的情況sdk會自動從伺服器取得

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="get" %}{% endlanying_code_snippet %}
virtual BMXErrorCode search(
    BMXGroupList & list,
    bool forceRefresh
) =0

Deprecated.

Parameters:

  • list 群組id列表,傳入空列表函數回傳後從此處取得回傳的群組id列表
  • forceRefresh 設定為true強制從伺服器取得,本地取得失敗的情況sdk會自動從伺服器取得

Return: BMXErrorCode

use get instead.

取得群組列表,如果設定了forceRefresh則從伺服器拉取

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="search" %}{% endlanying_code_snippet %}

function fetchGroupsByIdList#

virtual BMXErrorCode fetchGroupsByIdList(
    const std::vector< int64_t > & groupIdList,
    BMXGroupList & list,
    bool forceRefresh
) =0

通過傳入群組的id列表取得群組信息列表,如果設定了forceRefresh則從伺服器拉取

Parameters:

  • groupIdList 群組id列表
  • list 群組詳細信息列表,傳入空列表函數回傳後從此處取得回傳的群組詳細信息列表
  • forceRefresh 設定為true強制從伺服器取得,本地取得失敗的情況sdk會自動從伺服器取得

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="fetchGroupsByIdList" %}{% endlanying_code_snippet %}

function search#

virtual BMXErrorCode search(
    const std::vector< int64_t > & groupIdList,
    BMXGroupList & list,
    bool forceRefresh
) =0

Deprecated.

Parameters:

  • groupIdList 群組id列表
  • list 群組詳細信息列表,傳入空列表函數回傳後從此處取得回傳的群組詳細信息列表
  • forceRefresh 設定為true強制從伺服器取得,本地取得失敗的情況sdk會自動從伺服器取得

Return: BMXErrorCode

use fetchGroupsByIdList instead.

取得傳入群組id的群組信息列表,如果設定了forceRefresh則從伺服器拉取

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="search" %}{% endlanying_code_snippet %}

function fetchGroupById#

virtual BMXErrorCode fetchGroupById(
    int64_t groupId,
    BMXGroupPtr & group,
    bool forceRefresh
) =0

通過群組id取得群信息,如果設定了forceRefresh則從伺服器拉取

Parameters:

  • groupId 要搜索的群組id
  • group 搜索回傳的群組信息,傳入指向為空的shared_ptr物件函數執行後從此取得回傳結果
  • forceRefresh 設定為true強制從伺服器取得,本地取得失敗的情況sdk會自動從伺服器取得

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="fetchGroupById" %}{% endlanying_code_snippet %}

function search#

virtual BMXErrorCode search(
    int64_t groupId,
    BMXGroupPtr & group,
    bool forceRefresh
) =0

Deprecated.

Parameters:

  • groupId 要搜索的群組id
  • group 搜索回傳的群組信息,傳入指向為空的shared_ptr物件函數執行後從此取得回傳結果
  • forceRefresh 設定為true強制從伺服器取得,本地取得失敗的情況sdk會自動從伺服器取得

Return: BMXErrorCode

use fetchGroupById instead.

取得群信息,如果設定了forceRefresh則從伺服器拉取

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="search" %}{% endlanying_code_snippet %}

function fetchLocalGroupsByName#

virtual BMXErrorCode fetchLocalGroupsByName(
    BMXGroupList & list,
    const std::string & name
) =0

通過群名稱查詢本地群信息,從本地資料庫中通過群名稱查詢取得群組

Parameters:

  • list 搜索結果回傳的群列表信息
  • name 查詢的群名稱關鍵字

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="fetchLocalGroupsByName" %}{% endlanying_code_snippet %}

function search#

virtual BMXErrorCode search(
    BMXGroupList & list,
    const std::string & name
) =0

Deprecated.

Parameters:

  • list 搜索結果回傳的群列表信息
  • name 查詢的群名稱關鍵字

Return: BMXErrorCode

use fetchLocalGroupsByName instead.

通過群名稱查詢本地群信息,從本地資料庫中通過群名稱查詢取得群組

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="search" %}{% endlanying_code_snippet %}

function create#

virtual BMXErrorCode create(
    const CreateGroupOptions & options,
    BMXGroupPtr & group
) =0

建立群

Parameters:

  • options 建立群組時傳入的參數選項
  • group 建立回傳的結果,傳入指向為空的shared_ptr物件函數執行後從此取得回傳結果

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="create" %}{% endlanying_code_snippet %}

function destroy#

virtual BMXErrorCode destroy(
    BMXGroupPtr group
) =0

銷燬群

Parameters:

  • group 要銷燬的群組

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="destroy" %}{% endlanying_code_snippet %}

function join#

virtual BMXErrorCode join(
    BMXGroupPtr group,
    const std::string & message
) =0

加入一個群,根據群設定可能需要管理員批准

Parameters:

  • group 要加入的群組
  • message 申請入群的信息

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="join" %}{% endlanying_code_snippet %}

function leave#

virtual BMXErrorCode leave(
    BMXGroupPtr group
) =0

退出群

Parameters:

  • group 要退出的群組

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="leave" %}{% endlanying_code_snippet %}

function getInfo#

virtual BMXErrorCode getInfo(
    BMXGroupPtr group
) =0

取得群詳情,從服務端拉取最新信息

Parameters:

  • group 要取得群組最新信息的群組

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="getInfo" %}{% endlanying_code_snippet %}

function getMembersNickname#

virtual BMXErrorCode getMembersNickname(
    BMXGroupPtr group,
    const std::vector< int64_t > & members,
    BMXGroup::MemberList & list
) =0

取得群組成員詳細信息

Parameters:

  • group 進行操作的群組
  • members 要取得群組成員信息詳情的群成員id
  • list 回傳的群成員詳細,傳入空列表在函數操作後從此處取得群成員詳細信息列表

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="getMembersNickname" %}{% endlanying_code_snippet %}

function getInvitationList#

virtual BMXErrorCode getInvitationList(
    BMXGroupInvitationPagePtr & result,
    const std::string & cursor ="",
    int pageSize =10
) =0

分頁取得群組邀請列表

Parameters:

  • result 分頁取得的群組邀請列表,傳入指向為空的shared_ptr物件函數執行後從此處取得結果
  • cursor 分頁取得的起始cursor,第一次傳入為空,後續傳入上次操作回傳的result中的cursor
  • pageSize 分頁大小

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="getInvitationList" %}{% endlanying_code_snippet %}

function getApplicationList#

virtual BMXErrorCode getApplicationList(
    BMXGroupList list,
    BMXGroupApplicationPagePtr & result,
    const std::string & cursor ="",
    int pageSize =10
) =0

分頁取得群組申請列表

Parameters:

  • list 需要取得群組申請列表信息的群組id列表
  • result 分頁取得的群組申請列表,傳入指向為空的shared_ptr物件函數執行後從此處取得結果
  • cursor 分頁取得的起始cursor,第一次傳入為空,後續傳入上次操作回傳的result中的cursor
  • pageSize 分頁大小

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="getApplicationList" %}{% endlanying_code_snippet %}

function getMembers#

virtual BMXErrorCode getMembers(
    BMXGroupPtr group,
    BMXGroupMemberResultPagePtr & result,
    const std::string & cursor ="",
    int pageSize =200
) =0

分頁取得群成員列表,如果設定了forceRefresh則從伺服器拉取,單頁最大數量為500.

Parameters:

  • group 進行操作的群組
  • result 分頁取得的群成員列表,傳入指向為空的shared_ptr物件函數執行後從此處取得結果
  • cursor 分頁取得的起始cursor,第一次傳入為空,後續傳入上次操作回傳的result中的cursor
  • pageSize 分頁大小

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="getMembers" %}{% endlanying_code_snippet %}

function getMembers#

virtual BMXErrorCode getMembers(
    BMXGroupPtr group,
    BMXGroup::MemberList & list,
    bool forceRefresh
) =0

取得群成員列表,如果設定了forceRefresh則從伺服器拉取,最多拉取1000人

Parameters:

  • group 進行操作的群組
  • list 群成員列表,傳入空列表函數回傳後從此處取得回傳的群組詳細信息列表
  • forceRefresh 設定為true強制從伺服器取得,本地取得失敗的情況sdk會自動從伺服器取得

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="getMembers" %}{% endlanying_code_snippet %}

function addMembers#

virtual BMXErrorCode addMembers(
    BMXGroupPtr group,
    const std::vector< int64_t > & members,
    const std::string & message
) =0

添加群成員

Parameters:

  • group 進行操作的群組
  • members 要添加進群的成員id列表
  • message 添加成員原因信息

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="addMembers" %}{% endlanying_code_snippet %}

function removeMembers#

virtual BMXErrorCode removeMembers(
    BMXGroupPtr group,
    const std::vector< int64_t > & members,
    const std::string & reason
) =0

刪除群成員

Parameters:

  • group 進行操作的群組
  • members 要刪除的群組成員id列表
  • reason 刪除的原因

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="removeMembers" %}{% endlanying_code_snippet %}

function addAdmins#

virtual BMXErrorCode addAdmins(
    BMXGroupPtr group,
    const std::vector< int64_t > & admins,
    const std::string & message
) =0

添加管理員

Parameters:

  • group 進行操作的群組
  • admins 要添加為管理員的成員id列表
  • message 添加為管理員的原因

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="addAdmins" %}{% endlanying_code_snippet %}

function removeAdmins#

virtual BMXErrorCode removeAdmins(
    BMXGroupPtr group,
    const std::vector< int64_t > & admins,
    const std::string & reason
) =0

刪除管理員

Parameters:

  • group 進行操作的群組
  • admins 要從管理員移除的成員id列表
  • reason 要移除管理員的原因

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="removeAdmins" %}{% endlanying_code_snippet %}

function getAdmins#

virtual BMXErrorCode getAdmins(
    BMXGroupPtr group,
    BMXGroup::MemberList & list,
    bool forceRefresh
) =0

取得Admins列表,如果設定了forceRefresh則從伺服器拉取

Parameters:

  • group 進行操作的群組
  • list 群管理員列表,傳入空列表函數回傳後從此處取得回傳的群組詳細信息列表
  • forceRefresh 設定為true強制從伺服器取得,本地取得失敗的情況sdk會自動從伺服器取得

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="getAdmins" %}{% endlanying_code_snippet %}

function blockMembers#

virtual BMXErrorCode blockMembers(
    BMXGroupPtr group,
    const std::vector< int64_t > & members
) =0

添加黑名單

Parameters:

  • group 進行操作的群組
  • members 要加入黑名單的群成員id列表

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="blockMembers" %}{% endlanying_code_snippet %}

function unblockMembers#

virtual BMXErrorCode unblockMembers(
    BMXGroupPtr group,
    const std::vector< int64_t > & members
) =0

從黑名單刪除

Parameters:

  • group 進行操作的群組
  • members 從黑名單移除的使用者id列表

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="unblockMembers" %}{% endlanying_code_snippet %}

function getBlockList#

virtual BMXErrorCode getBlockList(
    BMXGroupPtr group,
    BMXGroupMemberResultPagePtr & result,
    const std::string & cursor ="",
    int pageSize =200
) =0

分頁取得黑名單

Parameters:

  • group 進行操作的群組
  • result 分頁取得的黑名單列表,傳入指向為空的shared_ptr物件函數執行後從此處取得結果
  • cursor 分頁取得的起始cursor,第一次傳入為空,後續傳入上次操作回傳的result中的cursor
  • pageSize 分頁大小

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="getBlockList" %}{% endlanying_code_snippet %}

function getBlockList#

virtual BMXErrorCode getBlockList(
    BMXGroupPtr group,
    BMXGroup::MemberList & list,
    bool forceRefresh
) =0

取得黑名單

Parameters:

  • group 進行操作的群組
  • list 群黑名單列表,傳入空列表函數回傳後從此處取得回傳的群組詳細信息列表
  • forceRefresh 設定為true強制從伺服器取得,本地取得失敗的情況sdk會自動從伺服器取得

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="getBlockList" %}{% endlanying_code_snippet %}

function banMembers#

virtual BMXErrorCode banMembers(
    BMXGroupPtr group,
    const std::vector< int64_t > & members,
    int64_t duration,
    const std::string & reason =""
) =0

禁言

Parameters:

  • group 進行操作的群組
  • members 被禁言的群成員id列表
  • duration 禁言時長
  • reason 禁言原因

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="banMembers" %}{% endlanying_code_snippet %}

function banGroup#

virtual BMXErrorCode banGroup(
    BMXGroupPtr group,
    int64_t duration
) =0

全員禁言,當前伺服器時間加上禁言時長後計算出全員禁言到期時間(只有管理和群主可以發言)

Parameters:

  • group 進行操作的群組
  • duration 禁言時長(分鐘)

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="banGroup" %}{% endlanying_code_snippet %}

function unbanMembers#

virtual BMXErrorCode unbanMembers(
    BMXGroupPtr group,
    const std::vector< int64_t > & members
) =0

解除禁言

Parameters:

  • group 進行操作的群組
  • members 被解除禁言的群成員id列表

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="unbanMembers" %}{% endlanying_code_snippet %}

function unbanGroup#

virtual BMXErrorCode unbanGroup(
    BMXGroupPtr group
) =0

全員解除禁言

Parameters:

  • group 進行操作的群組

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="unbanGroup" %}{% endlanying_code_snippet %}

function getBannedMembers#

virtual BMXErrorCode getBannedMembers(
    BMXGroupPtr group,
    BMXGroupBannedMemberResultPagePtr & result,
    const std::string & cursor ="",
    int pageSize =200
) =0

分頁取得禁言列表

Parameters:

  • group 進行操作的群組
  • result 分頁取得的禁言列表,傳入指向為空的shared_ptr物件函數執行後從此處取得結果
  • cursor 分頁取得的起始cursor,第一次傳入為空,後續傳入上次操作回傳的result中的cursor
  • pageSize 分頁大小

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="getBannedMembers" %}{% endlanying_code_snippet %}

function getBannedMembers#

virtual BMXErrorCode getBannedMembers(
    BMXGroupPtr group,
    BMXGroup::BannedMemberList & list
) =0

取得禁言列表

Parameters:

  • group 進行操作的群組
  • list 群禁言列表,傳入空列表函數回傳後從此處取得回傳的群組詳細信息列表

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="getBannedMembers" %}{% endlanying_code_snippet %}

function muteMessage#

virtual BMXErrorCode muteMessage(
    BMXGroupPtr group,
    BMXGroup::MsgMuteMode mode
) =0

設定是否屏蔽群訊息

Parameters:

  • group 進行操作的群組
  • mode 群屏蔽的模式

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="muteMessage" %}{% endlanying_code_snippet %}

function acceptApplication#

virtual BMXErrorCode acceptApplication(
    BMXGroupPtr group,
    int64_t applicantId
) =0

接受入群申請

Parameters:

  • group 進行操作的群組
  • applicantId 申請進群的使用者id

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="acceptApplication" %}{% endlanying_code_snippet %}

function declineApplication#

virtual BMXErrorCode declineApplication(
    BMXGroupPtr group,
    int64_t applicantId,
    const std::string & reason =""
) =0

拒絕入群申請

Parameters:

  • group 進行操作的群組
  • applicantId 申請進群的使用者id
  • reason 拒絕的原因

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="declineApplication" %}{% endlanying_code_snippet %}

function acceptInvitation#

virtual BMXErrorCode acceptInvitation(
    BMXGroupPtr group,
    int64_t inviter
) =0

接受入群邀請

Parameters:

  • group 進行操作的群組
  • inviter 邀請者id

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="acceptInvitation" %}{% endlanying_code_snippet %}

function declineInvitation#

virtual BMXErrorCode declineInvitation(
    BMXGroupPtr group,
    int64_t inviter,
    const std::string & reason =""
) =0

拒絕入群邀請

Parameters:

  • group 進行操作的群組
  • inviter 邀請者id
  • reason 拒絕的原因

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="declineInvitation" %}{% endlanying_code_snippet %}

function transferOwner#

virtual BMXErrorCode transferOwner(
    BMXGroupPtr group,
    int64_t newOwnerId
) =0

轉移群主

Parameters:

  • group 進行操作的群組
  • newOwnerId 轉讓為新群主的使用者id

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="transferOwner" %}{% endlanying_code_snippet %}

function uploadSharedFile#

virtual BMXErrorCode uploadSharedFile(
    BMXGroupPtr group,
    const std::string & filePath,
    const std::string & displayName,
    const std::string & extensionName,
    Callback 
) =0

添加群共享檔案

Parameters:

  • group 進行操作的群組
  • filePath 檔案的本地路徑
  • displayName 檔案的展示名
  • extensionName 檔案的擴展名
  • Callback 上傳回呼函數

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="uploadSharedFile" %}{% endlanying_code_snippet %}

function cancelUploadSharedFile#

virtual BMXErrorCode cancelUploadSharedFile(
    BMXGroupPtr group,
    const std::string & filePath
) =0

取消上傳群共享檔案

Parameters:

  • group 進行操作的群組
  • filePath 檔案的本地路徑

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="cancelUploadSharedFile" %}{% endlanying_code_snippet %}

function removeSharedFile#

virtual BMXErrorCode removeSharedFile(
    BMXGroupPtr group,
    BMXGroup::SharedFilePtr sharedFile
) =0

移除群共享檔案

Parameters:

  • group 進行操作的群組
  • sharedFile 刪除的群共享檔案

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="removeSharedFile" %}{% endlanying_code_snippet %}

function downloadSharedFile#

virtual BMXErrorCode downloadSharedFile(
    BMXGroupPtr group,
    BMXGroup::SharedFilePtr sharedFile,
    Callback 
) =0

下載群共享檔案

Parameters:

  • group 進行操作的群組
  • sharedFile 下載的群共享檔案
  • Callback 下載回呼函數

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="downloadSharedFile" %}{% endlanying_code_snippet %}

function cancelDownloadSharedFile#

virtual BMXErrorCode cancelDownloadSharedFile(
    BMXGroupPtr group,
    BMXGroup::SharedFilePtr sharedFile
) =0

取消下載群共享檔案

Parameters:

  • group 進行操作的群組
  • sharedFile 下載的群共享檔案

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="cancelDownloadSharedFile" %}{% endlanying_code_snippet %}

function getSharedFilesList#

virtual BMXErrorCode getSharedFilesList(
    BMXGroupPtr group,
    BMXGroup::SharedFileList & list,
    bool forceRefresh
) =0

取得群共享檔案列表

Parameters:

  • group 進行操作的群組
  • list 群共享檔案列表,傳入空列表函數回傳後從此處取得回傳的群組詳細信息列表
  • forceRefresh 設定為true強制從伺服器取得,本地取得失敗的情況sdk會自動從伺服器取得

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="getSharedFilesList" %}{% endlanying_code_snippet %}

function changeSharedFileName#

virtual BMXErrorCode changeSharedFileName(
    BMXGroupPtr group,
    BMXGroup::SharedFilePtr sharedFile,
    const std::string & name
) =0

修改群共享檔案名稱

Parameters:

  • group 進行操作的群組
  • sharedFile 進行更改的群共享檔案
  • name 修改的群共享檔案名稱

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="changeSharedFileName" %}{% endlanying_code_snippet %}

function getLatestAnnouncement#

virtual BMXErrorCode getLatestAnnouncement(
    BMXGroupPtr group,
    BMXGroup::AnnouncementPtr & announcement,
    bool forceRefresh
) =0

取得最新的群公告

Parameters:

  • group 進行操作的群組
  • announcement 最新的群組公告,傳入指向為空的shared_ptr物件函數回傳後從此處取得最新的群組公告
  • forceRefresh 設定為true強制從伺服器取得,本地取得失敗的情況sdk會自動從伺服器取得

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="getLatestAnnouncement" %}{% endlanying_code_snippet %}

function getAnnouncementList#

virtual BMXErrorCode getAnnouncementList(
    BMXGroupPtr group,
    BMXGroup::AnnouncementList & list,
    bool forceRefresh
) =0

取得群公告列表

Parameters:

  • group 進行操作的群組
  • list 群公告列表,傳入空列表函數回傳後從此處取得回傳的群組詳細信息列表
  • forceRefresh 設定為true強制從伺服器取得,本地取得失敗的情況sdk會自動從伺服器取得

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="getAnnouncementList" %}{% endlanying_code_snippet %}

function editAnnouncement#

virtual BMXErrorCode editAnnouncement(
    BMXGroupPtr group,
    const std::string & title,
    const std::string & content
) =0

設定群公告

Parameters:

  • group 進行操作的群組
  • title 群公告的標題
  • content 群公告的內容

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="editAnnouncement" %}{% endlanying_code_snippet %}

function deleteAnnouncement#

virtual BMXErrorCode deleteAnnouncement(
    BMXGroupPtr group,
    int64_t announcementId
) =0

刪除群公告

Parameters:

  • group 進行操作的群組
  • announcementId 刪除的群公告id

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="deleteAnnouncement" %}{% endlanying_code_snippet %}

function setName#

virtual BMXErrorCode setName(
    BMXGroupPtr group,
    const std::string & name
) =0

設定群名稱

Parameters:

  • group 進行操作的群組
  • name 群組名稱

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="setName" %}{% endlanying_code_snippet %}

function setDescription#

virtual BMXErrorCode setDescription(
    BMXGroupPtr group,
    const std::string & description
) =0

設定群描述信息

Parameters:

  • group 進行操作的群組
  • description 群組描述

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="setDescription" %}{% endlanying_code_snippet %}

function setExtension#

virtual BMXErrorCode setExtension(
    BMXGroupPtr group,
    const std::string & extension
) =0

設定群擴展信息

Parameters:

  • group 進行操作的群組
  • extension 群組的擴展信息

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="setExtension" %}{% endlanying_code_snippet %}

function setMyNickname#

virtual BMXErrorCode setMyNickname(
    BMXGroupPtr group,
    const std::string & nickname
) =0

設定在群裡的暱稱

Parameters:

  • group 進行操作的群組
  • nickname 使用者在群組內的暱稱

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="setMyNickname" %}{% endlanying_code_snippet %}

function setMsgPushMode#

virtual BMXErrorCode setMsgPushMode(
    BMXGroupPtr group,
    BMXGroup::MsgPushMode mode
) =0

設定群訊息通知模式

Parameters:

  • group 進行操作的群組
  • mode 群訊息通知模式

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="setMsgPushMode" %}{% endlanying_code_snippet %}

function setJoinAuthMode#

virtual BMXErrorCode setJoinAuthMode(
    BMXGroupPtr group,
    BMXGroup::JoinAuthMode mode
) =0

設定入群審批模式

Parameters:

  • group 進行操作的群組
  • mode 入群審批模式

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="setJoinAuthMode" %}{% endlanying_code_snippet %}

function setInviteMode#

virtual BMXErrorCode setInviteMode(
    BMXGroupPtr group,
    BMXGroup::InviteMode mode
) =0

設定邀請模式

Parameters:

  • group 進行操作的群組
  • mode 群組的邀請模式

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="setInviteMode" %}{% endlanying_code_snippet %}

function setAllowMemberModify#

virtual BMXErrorCode setAllowMemberModify(
    BMXGroupPtr group,
    bool enable
) =0

設定是否允許群成員設定群信息

Parameters:

  • group 進行操作的群組
  • enable 是否允許操作

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="setAllowMemberModify" %}{% endlanying_code_snippet %}

function setEnableReadAck#

virtual BMXErrorCode setEnableReadAck(
    BMXGroupPtr group,
    bool enable
) =0

設定是否開啟群訊息已讀功能

Parameters:

  • group 進行操作的群組
  • enable 是否開啟

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="setEnableReadAck" %}{% endlanying_code_snippet %}

function setHistoryVisible#

virtual BMXErrorCode setHistoryVisible(
    BMXGroupPtr group,
    bool enable
) =0

設定群成員是否開可見群歷史聊天記錄

Parameters:

  • group 進行操作的群組
  • enable 是否開啟

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="setHistoryVisible" %}{% endlanying_code_snippet %}

function setAvatar#

virtual BMXErrorCode setAvatar(
    BMXGroupPtr group,
    const std::string & avatarPath,
    Callback 
) =0

設定群頭像

Parameters:

  • group 進行操作的群組
  • avatarPath 群頭像檔案的本地路徑
  • Callback 上傳回呼函數

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="setAvatar" %}{% endlanying_code_snippet %}

function downloadAvatar#

virtual BMXErrorCode downloadAvatar(
    BMXGroupPtr group,
    bool thumbnail,
    Callback callback
) =0

下載群頭像

Parameters:

  • group 進行操作的群組
  • thumbnail 設定為true下載縮略圖,false下載原圖
  • callback 下載回呼函數

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="downloadAvatar" %}{% endlanying_code_snippet %}

function addGroupListener#

virtual void addGroupListener(
    BMXGroupServiceListener * listener
) =0

添加群組變化監聽者

Parameters:

  • listener 群組變化監聽者

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="addGroupListener" %}{% endlanying_code_snippet %}

function removeGroupListener#

virtual void removeGroupListener(
    BMXGroupServiceListener * listener
) =0

移除群組變化監聽者

Parameters:

  • listener 群組變化監聽者

Protected Functions Documentation#

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="removeGroupListener" %}{% endlanying_code_snippet %}

function BMXGroupService#

inline BMXGroupService()

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXGroupService",function="BMXGroupService" %}{% endlanying_code_snippet %}

Updated on 2022-01-26 at 17:20:40 +0800

自動產生的 API 內容,僅在必要位置補充精簡的 AI 解說。