更新时间:2022-02-17 06:45:08下载pdf
TuyaCommunityHouse
用于描述整个房屋的所有信息,包括房屋信息、查询房屋中的房间列表、设备和群组顺序等 API。
接口说明
+ (instancetype)houseWithHouseId:(long long)houseId;
参数说明
参数 | 说明 |
---|---|
houseId | 房屋 ID |
示例代码
long long houseId;
TuyaCommunityHouse *house = [TuyaCommunityHouse houseWithHouseId:houseId];
接口说明
- (void)getHouseDetailWithSuccess:(void(^)(TuyaCommunityHouseModel *result))success
failure:(void(^)(NSError *error))failure;
参数说明
参数 | 说明 |
---|---|
success | 成功回调 |
failure | 失败回调 |
示例代码
[house getHouseDetailWithSuccess:^(TuyaCommunityHouseModel * _Nonnull result) {
// success handler
} failure:^(NSError * _Nonnull error) {
// failure handler
}];
- (void)updateHouseLocationWithGeoName:(NSString *)geoName
latitude:(double)latitude
longitude:(double)longitude
success:(void(^)(void))success
failure:(void(^)(NSError *error))failure;
参数说明
参数 | 说明 |
---|---|
geoName | NSString |
latitude | double |
longitude | double |
success | 成功回调 |
failure | 失败回调 |
示例代码
[house updateHouseLocationWithGeoName:@"xxx" latitude:0 longitude:0 success:^{
// success handler
} failure:^(NSError * _Nonnull error) {
// failure handler
}];
对所有的设备或者群组进行排序。
接口说明
- (void)sortDeviceOrGroupWithOrderList:(NSArray<NSDictionary *>*)orderList
success:(void(^)(void))success
failure:(void(^)(NSError *error))failure;
参数说明
参数 | 说明 |
---|---|
orderList | 设备或者群组数据,[@{@"bizId": @"XXX", @"bizType": @"XXX"}] |
success | 成功回调 |
failure | 失败回调 |
示例代码
[house sortDeviceOrGroupWithOrderList:@[] success:^{
// success handler
} failure:^(NSError * _Nonnull error) {
// failure handler
}];
接口说明
- (void)getHouseWeatherSketchWithSuccess:(void(^)(TuyaCommunityWeatherSketchModel *result))success
failure:(void(^)(NSError *error))failure;
参数说明
参数 | 说明 |
---|---|
success | 成功回调 |
failure | 失败回调 |
示例代码
[house getHouseWeatherSketchWithSuccess:^(TuyaCommunityWeatherSketchModel * _Nonnull result) {
// success handler
} failure:^(NSError * _Nonnull error) {
// failure handler
}];
查询房屋天气的详细参数,如温度、湿度、紫外线指数、空气质量等。
接口说明
- (void)getHouseWeatherDetailWithOptionModel:(TuyaCommunityWeatherOptionModel *)optionModel
success:(void(^)(NSArray<TuyaCommunityWeatherModel *>*list))success
failure:(void(^)(NSError *error))failure;
参数说明
参数 | 说明 |
---|---|
optionModel | - |
success | 成功回调 |
failure | 失败回调 |
示例代码
TuyaCommunityWeatherOptionModel *model;
[house getHouseWeatherDetailWithOptionModel:model
success:^(NSArray<TuyaCommunityWeatherModel *> * _Nonnull list) {
// success handler
} failure:^(NSError * _Nonnull error) {
// failure handler
}];
TuyaCommunityHouseManager
用于管理 TuyaCommunityHouse
,其功能包括添加房屋、查询房屋列表以及监听房屋相关的变更。
房屋相关信息由 TuyaCommunityHouseModel
提供。
查询当前用户所在所有房屋。
接口说明
- (void)getHouseListWithSuccess:(void(^)(NSArray<TuyaCommunityHouseModel *>*list))success
failure:(void(^)(NSError *error))failure;
参数说明
参数 | 说明 |
---|---|
success | 成功回调 |
failure | 失败回调 |
示例代码
self.houseManager = [TuyaCommunityHouseManager new];
[self.houseManager getHouseListWithSuccess:^(NSArray<TuyaCommunityHouseModel *> * _Nonnull list) {
// success handler
} failure:^(NSError * _Nonnull error) {
// failure handler
}];
添加房屋时,需要先选择小区。因此,您可以先查询小区列表,再添加房屋。
接口说明
- (void)getCommunityListWithKeyword:(NSString * _Nullable)keyword
latitude:(double)latitude
longitude:(double)longitude
success:(void(^)(NSArray<TuyaCommunityListModel *>*list))success
failure:(void(^)(NSError *error))failure;
参数说明
参数 | 说明 |
---|---|
keyword | 小区名称,非必传,用于搜索小区时传入 |
latitude | 纬度,非必传,用于显示附近的小区 |
longitude | 经度,非必传,用于显示附近的小区 |
success | 成功回调 |
failure | 失败回调 |
示例代码
[self.houseManager getCommunityListWithKeyword:@""
latitude:0
longitude:0
success:^(NSArray<TuyaCommunityListModel *> * _Nonnull list) {
// success handler
} failure:^(NSError * _Nonnull error) {
// failure handler
}];
添加房屋时,选择小区后,查询小区下空间树的列表,包括楼幢、单元、楼层、房号。根据返回数据中 hasMore
字段判断是否有下级空间。
接口说明
- (void)getHouseTreeListWithTreeId:(NSString *)treeId
success:(void(^)(NSArray<TuyaCommunityHouseTreeModel *>*list))success
failure:(void(^)(NSError *error))failure;
参数说明
参数 | 说明 |
---|---|
treeId | 空间树 ID,如查询小区下空间树,传小区对应的 communityId |
success | 成功回调 |
failure | 失败回调 |
示例代码
[self.houseManager getHouseTreeListWithTreeId:@"xxx"
success:^(NSArray<TuyaCommunityHouseTreeModel *> * _Nonnull list) {
// success handler
} failure:^(NSError * _Nonnull error) {
// failure handler
}];
接口说明
- (void)addHouseWithName:(NSString *)name
communityId:(NSString *)communityId
roomId:(NSString *)roomId
userType:(NSString *)userType
expireTime:(NSString * _Nullable)expireTime
success:(void(^)(TuyaCommunityHouseModel *result))success
failure:(void(^)(NSError *error))failure;
参数说明
参数 | 说明 |
---|---|
name | 房屋的全称,包括楼幢、单元、楼层、房号 |
roomId | 房号 ID,即房屋选择时最后一级空间对应的 treeId |
userType | 成员类型,如业主、家人、租客等 |
expireTime | 到期时间,非必传,成员类型为租客时,需要传入租赁到期时间,格式为 yyyyMMdd |
success | 成功回调 |
failure | 失败回调 |
示例代码
[self.houseManager addHouseWithName:@"xxx"
communityId:@"xxx"
roomId:@"xxx"
userType:@"xxx"
expireTime:nil
success:^(TuyaCommunityHouseModel * _Nonnull result) {
// success handler
} failure:^(NSError * _Nonnull error) {
// failure handler
}];
添加房屋前需要用户完成认证,可调用TuyaCommunityHouseMemberService
类的getUserCertificationInfoWithSuccess:failure:
查询用户认证状态。若用户未认证,需调用TuyaCommunityHouseMemberService
类的verifyUserInfoWithRealName:sex:idCard:success:failure:
方法完成用户认证。
userType
成员类型的查询,通过TuyaCommunityHouseMemberService
类的getMemberTypeListWithroomId:success:failure:
查询成员类型列表。TuyaCommunityMemberTypeModel
中的memberTypeCode
的值即为userType
所需的值。
查询房屋基本信息。
接口说明
- (void)getHouseInfoWithHouseId:(long long)houseId
success:(void(^)(TuyaCommunityHouseModel *result))success
failure:(void(^)(NSError *error))failure;
参数说明
参数 | 说明 |
---|---|
houseId | 房屋 ID |
success | 成功回调 |
failure | 失败回调 |
示例代码
[self.houseManager getHouseInfoWithHouseId:@"xxx"
success:^(TuyaCommunityHouseModel * _Nonnull result) {
// success handler
} failure:^(NSError * _Nonnull error) {
// failure handler
}];
返回房屋审核状态。
接口说明
- (void)getHouseAuditResultWithCommunityId:(NSString *)communityId
roomUserId:(NSString *)roomUserId
success:(void(^)(TuyaCommunityHouseAuditStatus auditStatus, NSString *msg))success
failure:(void(^)(NSError *error))failure;
参数说明
参数 | 说明 |
---|---|
communityId | 小区 ID |
roomUserId | 人房绑定关系 ID |
success | 成功回调 |
failure | 失败回调 |
示例代码
[self.houseManager getHouseAuditResultWithCommunityId:@"xxx"
roomUserId:@"xxx"
success:^(TuyaCommunityHouseAuditStatus auditStatus, NSString * _Nonnull msg) {
// success handler
} failure:^(NSError * _Nonnull error) {
// failure handler
}];
用户本人由于产权变更、租期到期或其他原因不属于当前房屋住户时,可迁出房屋。
接口说明
- (void)moveOutHouseWithCommunityId:(NSString *)communityId
roomUserId:(NSString *)roomUserId
success:(void(^)(void))success
failure:(void(^)(NSError *error))failure;
参数说明
参数 | 说明 |
---|---|
communityId | 小区 ID |
roomUserId | 人房绑定关系 ID |
success | 成功回调 |
failure | 失败回调 |
示例代码
[self.houseManager moveOutHouseWithCommunityId:@"xxx"
roomUserId:@"xxx"
success:^{
// success handler
} failure:^(NSError * _Nonnull error) {
// failure handler
}];
当房屋状态处于待审核、已迁出和审核不通过时可以进行删除房屋操作。
接口说明
- (void)deleteHouseWithCommunityId:(NSString *)communityId
houseId:(long long)houseId
success:(void(^)(void))success
failure:(void(^)(NSError *error))failure;
功能说明
参数 | 说明 |
---|---|
communityId | 小区 ID |
houseId | 房屋 ID |
success | 成功回调 |
failure | 失败回调 |
示例代码
[self.houseManager deleteHouseWithCommunityId:@"xxx"
houseId:@"xxx"
success:^{
// success handler
} failure:^(NSError * _Nonnull error) {
// failure handler
}];
实现 TuyaCommunityHouseManagerDelegate
协议后,可以对房屋增删、房屋审核状态改变、MQTT 服务连接成功进行后续处理。
接口说明
// 添加一个房屋的回调
- (void)houseManager:(TuyaCommunityHouseManager *)houseManager didAddHouse:(TuyaCommunityHouseModel *)house;
// 删除一个房屋的回调
- (void)houseManager:(TuyaCommunityHouseManager *)houseManager didRemoveHouse:(long long)houseId;
// 房屋审核状态改变的回调
- (void)houseManager:(TuyaCommunityHouseManager *)houseManager didUpdateHouseAuditStatus:(TuyaCommunityHouseModel *)house;
// MQTT 连接成功
// 说明: 程序进入后台,MQTT 长连接会断开连接,进入前台后会进行重连,所以需要在此代理这里重新查询当前房屋的详情,保证当前房屋下的数据是最新数据。
- (void)houseManagerServiceConnectedSuccess:(TuyaCommunityHouseManager *)houseManager;
属性 | 类型 | 说明 |
---|---|---|
communityId | NSString | 小区 ID |
communityName | NSString | 小区名称 |
houseAddress | NSString | 房屋地址 |
houseId | long long | 房屋 ID |
houseName | NSString | 房屋名称 |
auditStatus | TuyaCommunityHouseAuditStatus | 房屋审核状态:
|
guestHouse | BOOL | 是否为游客 |
userTypeName | NSString | 当前用户的成员类型名称 |
memberNum | NSInteger | 房屋成员人数 |
roomUserId | NSString | 人房绑定关系 ID |
roomId | NSString | 房号 ID |
name | NSString | 房屋名 |
admin | BOOL | 是否有智家管理权限(包括智家拥有者和管理者) |
geoName | NSString | 房屋地理位置名称 |
longitude | double | 经度 |
latitude | double | 纬度 |
dealStatus | TuyaCommunityMemberInviteStatus | 加入房屋要求的状态
|
role | TuyaCommunityMemberRole | 房屋成员权限:
|
rooms | NSArray<TuyaCommunityRoomModel> | 房间列表 |
nickName | NSString | 邀请人 |
propertyCompanyName | NSString | 物业公司 |
属性 | 类型 | 说明 |
---|---|---|
communityName | NSString | 小区名 |
communityId | NSString | 小区 ID |
属性 | 类型 | 说明 |
---|---|---|
city | NSString | 城市 |
hasLocation | BOOL | 是否含有位置 |
list | NSArray<TuyaComunityModel> | 小区列表 |
属性 | 类型 | 说明 |
---|---|---|
spaceTreeName | NSString | 小区下层级名,例如 1幢、1单元等 |
spaceTreeId | NSString | 小区下层级 id,最后一个层级的spaceTreeId即为房号 ID |
hasMore | BOOL | 是否含有下一层级 |
属性 | 类型 | 说明 |
---|---|---|
houseModel | TuyaCommunityHouseModel | 房屋信息 |
delegate | id<TuyaCommunityHouseDelegate> | 房屋代理 |
roomList | NSArray<TuyaCommunityRoomModel> | 排序后的房间列表 |
deviceList | NSArray<TuyaSmartDeviceModel> | 设备列表 |
groupList | NSArray<TuyaSmartGroupModel> | 群组列表 |
sharedDeviceList | NSArray<TuyaSmartDeviceModel> | 共享设备列表 |
sharedGroupList | NSArray<TuyaSmartGroupModel> | 共享群组列表 |
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈