更新时间:2024-08-28 01:53:48下载pdf
本文介绍成员管理相关的功能,包括添加成员、移除成员、修改成员信息、邀请成员等。其中成员不同角色的权限功能如下:
| 角色类型 | 角色描述 | 权限功能 | 
|---|---|---|
| 家庭所有者 | 一般为家庭的创建者,一个家庭只能有一个家庭所有者,家庭所有者权限最大 | 
  | 
| 管理员 | 只有家庭所有者可以添加管理员,一个家庭可以有多个管理员,管理员权限不能删除家庭,只能离开家庭,只能添加普通成员 | 
  | 
| 普通成员 | 家庭所有者或者管理员添加普通成员,一个家庭可以有多个普通成员,普通成员基本只能查看信息 | 
  | 
成员管理对应 FamilyManagerCoreKit.getMemberUseCase()。MemberBean 数据模型如下表所示:
| 字段 | 类型 | 描述 | 
|---|---|---|
| memberId | Long | 成员 ID | 
| homeId | Long | 成员所在家庭 ID | 
| headUrl | String | 成员头像 | 
| name | String | 成员名称 | 
| role | Integer | 成员角色: 
  | 
| account | String | 成员关联账号(手机或者邮箱) | 
| uid | String | 成员账号用户 ID(User ID) | 
| memberStatus | Integer | 成员邀请状态: 
  | 
| validTime | Long | 邀请码有效时间,超时后可重新邀请 | 
| invitationCode | String | 邀请码,一个邀请码对应只能有一个用户使用 | 
| invitationId | Long | 邀请 ID | 
接口说明
void addMember(MemberWrapperBean addMemberWrapperBean,IFamilyMemberDataCallback<MemberBean> callback);
参数说明
| 参数 | 说明 | 
|---|---|
| addMemberWrapperBean | 添加成员信息 | 
| callback | 回调 | 
MemberWrapperBean 数据模型
| 字段 | 类型 | 描述 | 
|---|---|---|
| homeId | Long | 家庭 ID | 
| nickName | String | 为受邀请者设置的昵称 | 
| account | String | 受邀请账号 | 
| countryCode | String | 受邀请者账号对应国家码 | 
| role | Integer | 成员角色: 
  | 
| headPic | String | 为受邀请者设置的头像 | 
调用示例
val builder = MemberWrapperBean.Builder()
        val memberWrapperBean = builder
            .setHomeId('homeId')
            .setMemberId('memberId')
            .setNickName( 'nickname')
            .setHeadPic( 'headPic')
            .setCountryCode('countryCode')
            .setAccount('account')
            .setRole(MemberRole.ROLE_MEMBER)
            .build()
        FamilyManagerCoreKit.getMemberUseCase()
            .addMember(memberWrapperBean, object : IThingDataCallback<MemberBean?> {
                override fun onSuccess(memberBean: MemberBean?) {
                }
                override fun onError(s: String, s1: String) {
                }
            })
移除家庭下的成员。
接口说明
void removeMember(long homeId, long memberId,IFamilyMemberResultCallback callback)
参数说明
| 参数 | 说明 | 
|---|---|
| homeId | 家庭 ID | 
| memberId | 将要移除的成员 ID | 
| callback | 回调 | 
调用示例
FamilyManagerCoreKit.getMemberUseCase().removeMember(homeId,memberid,object :IFamilyMemberResultCallback{
            override fun onError(code: String?, error: String?) {
            }
            override fun onSuccess() {
            }
        })
接口说明
void updateMember(MemberWrapperBean memberWrapperBean,IFamilyMemberResultCallback callback);
参数说明
| 参数 | 说明 | 
|---|---|
| memberWrapperBean | 更新成员信息,有效字段为 memberId、nickname、headPic、isAdmin | 
| callback | 回调 | 
调用示例
val builder = MemberWrapperBean.Builder()
        val memberWrapperBean = builder
            .setMemberId('memberId')
            .setNickName( 'nickname')
            .setHeadPic( 'headPic')
            .setAdmin('isAdmin')
            .build()
        FamilyManagerCoreKit.getMemberUseCase()
            .updateMember(memberWrapperBean, object : IFamilyMemberResultCallback {
                override fun onSuccess() {
                }
                override fun onError(s: String, s1: String) {
                }
            })
在已添加的成员没有绑定邮箱和手机的时候,例如第三方账号登录的情况,可以给成员绑定关联可用的邮箱和手机。
接口说明
void addMemberAccount(MemberWrapperBean addMemberWrapperBean,IFamilyMemberDataCallback<String> callback);
参数说明
| 参数 | 说明 | 
|---|---|
| addMemberWrapperBean | 成员关联信息,有效字段为 memberId、countryCode、account、role | 
| callback | 回调 | 
调用示例
val builder = MemberWrapperBean.Builder()
        val memberWrapperBean = builder
            .setMemberId('memberId')
            .setCountryCode('countryCode')
            .setAccount('account')
            .setRole(MemberRole.ROLE_MEMBER)
            .build()
        FamilyManagerCoreKit.getMemberUseCase()
            .addMember(memberWrapperBean, object : IThingDataCallback<MemberBean?> {
                override fun onSuccess(memberBean: MemberBean?) {
                }
                override fun onError(s: String, s1: String) {
                }
            })
获取家庭下的成员列表。
接口说明
void getFamilyMemberList(long homeId,
IFamilyDataCallback<BizResponseData<List<MemberBean>>> callback);
参数说明
| 参数 | 说明 | 
|---|---|
| homeId | 家庭 ID | 
| callback | 回调 | 
调用示例
FamilyManagerCoreKit.getFamilyUseCase().getFamilyMemberList(homeId,object :IFamilyDataCallback<BizResponseData<List<MemberBean>>>{
            override fun onSuccess(result: BizResponseData<List<MemberBean>>?) {
            }
            override fun onError(errorCode: String?, errorMessage: String?) {
            }
        })
获取家庭下的还没有接受邀请的成员。包含未加入邀请、已过期的邀请。
接口说明
void getInvitationMemberList(long homeId,IFamilyDataCallback<BizResponseData<List<MemberBean>>> callback);
参数说明
| 参数 | 说明 | 
|---|---|
| homeId | 家庭 ID | 
| callback | 回调 | 
调用示例
FamilyManagerCoreKit.getFamilyUseCase().getInvitationMemberList(homeId,object :IFamilyDataCallback<BizResponseData<List<MemberBean>>>{
       override fun onSuccess(result: BizResponseData<List<MemberBean>>?) {
       }
        override fun onError(errorCode: String?, errorMessage: String?) {
        }
  })
获取家庭下具体的成员信息。
接口说明
void getMemberInfo(long mHomeId, long memberId,IFamilyMemberDataCallback<MemberBean> callback)
参数说明
| 参数 | 说明 | 
|---|---|
| homeId | 家庭 ID | 
| memberId | 成员 ID | 
| callback | 回调 | 
调用示例
FamilyManagerCoreKit.getMemberUseCase().getMemberInfo(homeId,memberId,object:IFamilyMemberDataCallback<MemberBean>{
            override fun onSuccess(result: MemberBean?) {
            }
            override fun onError(errorCode: String?, errorMessage: String?) {
            }
        })
获取该家庭成员角色可使用的设备列表。例如某类门锁设备,或者其他安防类设备,可授权部分家庭成员操控该设备。
接口说明
void getMemberDeviceList(long relationId,IFamilyMemberDataCallback<Map<String, List<MemberDeviceBean>>> callback);
参数说明
| 参数 | 说明 | 
|---|---|
| relationId | 成员 ID | 
| success | 成功回调 | 
| failure | 失败回调 | 
调用示例
FamilyManagerCoreKit.getMemberUseCase().getMemberDeviceList(memberId,object:IFamilyMemberDataCallback<Map<String, List<MemberDeviceBean>>>{
            override fun onSuccess(result: Map<String, List<MemberDeviceBean>>?) {
            }
            override fun onError(errorCode: String?, errorMessage: String?) {
            }
        })
当前家庭如果账号是对应的家庭所有者,并且家庭下有其他成员,可以转移家庭所有者权限。
接口说明
void transferOwner(long homeId, long memberId,
                   IFamilyDataCallback<Boolean> callback);
参数说明
| 参数 | 类型 | 说明 | 
|---|---|---|
| homeId | Long | 家庭 ID | 
| memberId | Long | 成员 ID | 
| callback | IFamilyDataCallback<Boolean> | 查询结果的回调 | 
调用示例
FamilyManagerCoreKit.getFamilyUseCase().transferOwner(homeId, memberId, object :
            IFamilyDataCallback<Boolean>{
            override fun onSuccess(result: Boolean) {
            }
            override fun onError(errcode: String?, errMsg: String?) {
            }
        });
创建邀请码成功后,调用 callback 回调邀请结果模型,包含邀请码和邀请语。
接口说明
void getInvitationMessage(long homeId,IFamilyMemberDataCallback<InvitationMessageBean> callback);
参数说明
| 参数 | 说明 | 
|---|---|
| homeId | 家庭 ID | 
| callback | 回调 | 
InvitationMessageBean 数据属性说明
| 字段 | 类型 | 描述 | 
|---|---|---|
| invitationMsgContent | String | 邀请语 | 
| invitationCode | String | 邀请码 | 
调用示例
FamilyManagerCoreKit.getMemberUseCase().getInvitationMessage(
            homeId,
            object : IFamilyMemberDataCallback<InvitationMessageBean?> {
                override fun onSuccess(result: InvitationMessageBean?) {
                }
                override fun onError(errorCode: String, errorMessage: String) {
                }
            })
邀请码超过有效期之后,用户不能通过之前生成的邀请码加入家庭。但您可以 reInviteMember 重新生成邀请码,邀请 ID 不变。
接口说明
void reInviteMember(long invitationId,IFamilyMemberDataCallback<InvitationMessageBean> callback);
参数说明
| 参数 | 说明 | 
|---|---|
| invitationId | 邀请 ID | 
| callback | 成功回调 | 
调用示例
FamilyManagerCoreKit.getMemberUseCase().reInviteMember(
            invitationId,
            object : IFamilyMemberDataCallback<InvitationMessageBean?> {
                override fun onSuccess(result: InvitationMessageBean?) {
                }
                override fun onError(errorCode: String, errorMessage: String) {
                }
            })
请注意,撤销邀请码后,用户不能通过之前生成的邀请码加入家庭。
接口说明
void cancelInviteMember(long invitationId,IFamilyMemberResultCallback callback);
参数说明
| 参数 | 说明 | 
|---|---|
| invitationId | 邀请 ID | 
| callback | 成功回调 | 
调用示例
FamilyManagerCoreKit.getMemberUseCase().cancelInviteMember(
            invitationId,
            object : IFamilyMemberResultCallback {
                override fun onSuccess() {
                }
                override fun onError(errorCode: String, errorMessage: String) {
                }
        })
修改被邀请者信息,更新邀请码。
接口说明
void updateMemberByInvitation(long invitationId, MemberBean memberBean,IFamilyMemberDataCallback<Boolean> callback);
参数说明
| 参数 | 说明 | 
|---|---|
| invitationId | 邀请码 ID | 
| memberBean | 还没有接受邀请的成员的需要修改的信息,有效字段为 memberName、role | 
| callback | 回调 | 
调用示例
val member = MemberBean()
        member.memberName = "xxx"
        member.role = MemberRole.ROLE_MEMBER
        FamilyManagerCoreKit.getMemberUseCase().updateMemberByInvitation(
            invitationId,
            member,
            object : IFamilyMemberDataCallback<Boolean?> {
                override fun onSuccess(result: Boolean?) {
                }
                override fun onError(errorCode: String, errorMessage: String) {
                }
            })
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈