更新时间: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) {
}
})
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈