成员信息管理

更新时间:2024-03-04 08:42:54

添加家庭成员

家庭的拥有者可以添加管理员及更低权限的角色,但管理员仅仅可以添加普通成员及更低权限的角色。

接口说明

MemberWrapperBean 对象中的 autoAccept 字段用于控制是否需要受邀者同意。若为 false,则需要调用 processInvitation() 方法,让受邀者者同意邀请后才能加入家庭。

void addMember(MemberWrapperBean memberWrapperBean, IThingDataCallback<MemberBean> callback)

参数说明

参数 说明
memberWrapperBean 成员信息

MemberWrapperBean 数据模型

字段 类型 描述
homeId long 要添加成员的家庭的 ID
nickName String 为受邀请者设置的昵称
admin boolean 是否为家庭管理员
memberId long 家庭成员 ID
headPic String 为受邀请者设置的头像 nil 时使用受邀请者个人头像
account String 受邀请账号
countryCode String 受邀请者账号对应的国家或地区码
invitationCode String 邀请码
role int 成员角色(请查看 MemberRole 定义类型)
  • -1:自定义角色
  • 0:普通成员
  • 1:管理员
  • 2:所有者
  • -999:非法角色
autoAccept boolean 是否需要受邀请者同意接受加入家庭邀请:
  • true:受邀请账号自动接受家庭加入邀请
  • false:需要受邀请者同意后,才可加入家庭

MemberBean 数据模型

字段 类型 描述
homeId long 要添加成员的家庭的 ID
nickName String 为受邀请者设置的昵称
admin boolean 是否为家庭管理员
memberId long 家庭成员 ID
headPic String 为受邀请者设置的头像 null 时,使用受邀请者个人头像
account String 受邀请账号
role int 成员角色(请查看 MemberRole 定义类型)
role int 成员角色(请查看 MemberRole 定义类型)
  • -1:自定义角色
  • 0:普通成员
  • 1:管理员
  • 2:所有者
  • -999:非法角色
memberStatus int 成员邀请状态(请查看 MemberStatus 定义类型)
  • 1:待接受
  • 2:已接受邀请
  • 3:已拒绝邀请
  • 4:无效状态

示例代码

ThingHomeSdk.getMemberInstance().addMember(memberWrapperBean, new IThingDataCallback<MemberBean>() {
		@Override
		public void onSuccess(MemberBean result) {
			// do something
		}
		@Override
		public void onError(String errorCode, String errorMessage) {
			// do something
		}
	});

删除家庭成员

家庭的拥有者可以删除管理员及更低权限的角色,但管理员仅仅可以删除普通成员及更低权限的角色。

接口说明

若成员传入自身 memberId,针对不同的家庭成员有一些区别:

  • 家庭管理员、普通成员、自定义角色为离开家庭,此时该家庭未注销,设备也不会被重置。
  • 拥有者为注销家庭,同时该家庭下所有设备会被重置,效果与 注销家庭 一致。
void removeMember(long memberId, IResultCallback callback)

参数说明

参数 说明
memberId 成员 ID

示例代码

ThingHomeSdk.getMemberInstance().removeMember(memberId, new IResultCallback() {
		@Override
		public void onSuccess() {
			// do something
		}
		@Override
		public void onError(String code, String error) {
			// do something
		}
	});

查询家庭成员列表

接口说明

void queryMemberList(long mHomeId, IThingGetMemberListCallback callback)

参数说明

参数 说明
mHomeId 家庭 ID

示例代码

ThingHomeSdk.getMemberInstance().queryMemberList(mHomeId, new IThingGetMemberListCallback() {
		@Override
		public void onSuccess(List<MemberBean> memberBeans) {
			// do something
		}
		@Override
		public void onError(String errorCode, String error) {
			// do something
		}
	});

更新家庭成员的信息

接口说明(推荐)

void updateMember(MemberWrapperBean memberWrapperBean, IResultCallback callback)

参数说明

参数 参数类型 说明
memberWrapperBean MemberWrapperBean 成员信息

示例代码

ThingHomeSdk.getMemberInstance().updateMember(memberWrapperBean, new IResultCallback() {
		@Override
		public void onSuccess() {
			// do something
		}
		@Override
		public void onError(String code, String error) {
			// do something
		}
	});

接口说明(不推荐)

void updateMember(long memberId, String name, boolean admin, IResultCallback callback)

参数说明

参数 参数类型 说明
memberId long 家庭成员 ID
name name 成员名称
admin boolean 是否是家庭管理员

示例代码

ThingHomeSdk.getMemberInstance().updateMember(memberId, name, admin, new IResultCallback() {
		@Override
		public void onSuccess() {
			// do something
		}
		@Override
		public void onError(String code, String error) {
			// do something
		}
	 });

查询添加家庭成员邀请码

接口说明

void getInvitationMessage(long homeId, IThingDataCallback callback)

参数说明

参数 说明
homeId 家庭 ID

示例代码

ThingHomeSdk.getMemberInstance().getInvitationMessage(homeId, new IThingDataCallback<InviteMessageBean>() {
			@Override
			public void onSuccess(InviteMessageBean result) {
				// onSuc
			}

			@Override
			public void onError(String errorCode, String errorMessage) {
				// onErr
			}
		});

通过邀请码加入一个家庭

接口说明

void joinHomeByInviteCode(String code, IResultCallback callback);

参数说明

参数 说明
code 邀请码

示例代码

ThingHomeSdk.getHomeManagerInstance().joinHomeByInviteCode("code" , new IResultCallback() {
			@Override
			public void onError(String code, String error) {

			}

			@Override
			public void onSuccess() {

			}
		});

撤销家庭邀请

接口说明

void cancelMemberInvitationCode(long invitationId, IResultCallback callBack)

参数说明

参数 说明
invitationId 邀请 ID

示例代码

ThingHomeSdk.getMemberInstance().cancelMemberInvitationCode(invitationId, new IResultCallback() {
		@Override
		public void onSuccess() {
			// do something
		}
		@Override
		public void onError(String code, String error) {
			// do something
		}
	});

接受或拒绝家庭邀请

接口说明

void processInvitation(long homeId, boolean action, IResultCallback callBack)

参数说明

参数 说明
homeId 家庭 ID
action 接受或拒绝邀请

示例代码

ThingHomeSdk.getMemberInstance().processInvitation(homeId, action, new IResultCallback() {
		@Override
		public void onSuccess() {
			// do something
		}
		@Override
		public void onError(String code, String error) {
			// do something
		}
	});

查询邀请成员记录

接口说明

void getInvitationList(long homeId, IThingDataCallback callback)

参数说明

参数 说明
homeId 家庭 ID

InviteListResponseBean 数据模型

参数 类型 说明
validTime long 邀请有效期
invitationId long 邀请 ID
invitationCode String 邀请码
gid long 要添加成员的家庭的 ID
name String 受邀请者设置的昵称
admin boolean 是否是家庭管理员
dealStatus int
  • 1:待接受
  • 2:已接受邀请
  • 3:已拒绝邀请
  • 4:无效状态
role int 成员角色(请查看 MemberRole 定义类型)
role int 成员角色(请查看 MemberRole 定义类型)
  • -1:自定义角色
  • 0:普通成员
  • 1:管理员
  • 2:所有者
  • -999:非法角色

示例代码

ThingHomeSdk.getMemberInstance().getInvitationList(homeId, new IThingDataCallback() {
		@Override
		public void onSuccess(List<InvitedMemberBean> memberBeans) {
			// do something
		}
		@Override
		public void onError(String errorCode, String error) {
			// do something
		}
	});

修改被邀请者信息

接口说明

void updateInvitedMember(long invitationId, String memberName, int memberRole, IResultCallback callBack)

参数说明

参数 说明
invitationId 邀请 ID
memberName 受邀者昵称
memberRole 受邀者在家庭下的角色

示例代码

ThingHomeSdk.getMemberInstance().updateInvitedMember(invitationId, memberName, membeRole, new IResultCallback() {
		@Override
		public void onSuccess() {
			// do something
		}
		@Override
		public void onError(String code, String error) {
			// do something
		}
	});