更新时间:2022-06-23 10:06:50下载pdf
智慧居住设备群组 UI 业务包功能封装了群组业务逻辑和 UI 界面,创建群组后可以同时控制群组内的设备。业务逻辑包括创建相同设备类型的群组、添加群组设备、删除群组设备等。
在工程的 Podfile
文件中添加群组业务包组件,并执行 pod update
命令:
source "https://github.com/tuya/TuyaPublicSpecs.git"
source 'https://cdn.cocoapods.org/'
target 'your_target_name' do
# TuyaSmartResidence SDK
pod "TuyaSmartResidenceKit"
# 添加设备群组 UI 业务包
pod 'TuyaSmartResidenceGroupHandleBizBundle'
end
UI 业务包实现 TuyaSmartResidenceGroupHandleProtocol
协议以提供对外服务。在 TYModuleServices
组件中查看 TuyaSmartResidenceGroupHandleProtocol.h
协议文件内容为:
@protocol TuyaSmartResidenceGroupHandleProtocol <NSObject>
/**
创建群组
@param deviceId 设备 ID
@param completion 回调返回该设备是否支持群组控制
*/
- (void)createGroup:(NSString *_Nonnull)deviceId completion:(void (^ _Nullable)(TYGroupHandleType type))completion;
/**
编辑群组
@param groupId 群组 ID
@param completion 回调
*/
- (void)editGroup:(NSString *_Nonnull)groupId completion:(void (^ _Nullable)(TYGroupHandleType type))completion;
@end
site
相关数据,便于作为接口入参。#import <TuyaSmartBizCore/TuyaSmartBizCore.h>
#import <TYModuleServices/TuyaSmartResidenceGroupHandleProtocol.h>
- (void)initCurrentSite {
self.site = [TuyaResidenceSite siteWithSiteId:@"siteId"];
[self.site fetchSiteDetailWithSuccess:^(TuyaResidenceSiteModel * _Nonnull siteModel) {
} failure:^(NSError *error) {
}];
}
#import <TuyaSmartBizCore/TuyaSmartBizCore.h>
#import <TYModuleServices/TuyaSmartResidenceGroupHandleProtocol.h>
- (void)createGroup:(NSString *_Nonnull)deviceId completion:(void (^ _Nullable)(TYGroupHandleType type))completion {
id <TuyaSmartResidenceGroupHandleProtocol> impl = [[TuyaSmartBizCore sharedInstance] serviceOfProtocol:@protocol(TuyaSmartResidenceGroupHandleProtocol)];
[impl createGroup:deviceId completion:^(TYGroupHandleType type) {
switch (type) {
case TYGroupHandleTypeInvalid:
NSLog(@"DeviceId is invalid");
break;
case TYGroupHandleTypeSupport:
NSLog(@"Support");
break;
case TYGroupHandleTypeNotSupport:
NSLog(@"Not Support");
break;
default:
break;
}
}];
}
#import <TuyaSmartBizCore/TuyaSmartBizCore.h>
#import <TYModuleServices/TuyaSmartResidenceGroupHandleProtocol.h>
// 此处 groupId 可以通过获取 site.groupList 子元素获取
- (void)editGroup:(NSString *_Nonnull)groupId completion:(void (^ _Nullable)(TYGroupHandleType type))completion {
id <TuyaSmartResidenceGroupHandleProtocol> impl = [[TuyaSmartBizCore sharedInstance] serviceOfProtocol:@protocol(TuyaSmartResidenceGroupHandleProtocol)];
[impl editGroup:groupId completion:^(TYGroupHandleType type) {
switch (type) {
case TYGroupHandleTypeInvalid:
NSLog(@"DeviceId is invalid");
break;
case TYGroupHandleTypeSupport:
NSLog(@"Support");
break;
case TYGroupHandleTypeNotSupport:
NSLog(@"Not Support");
break;
default:
break;
}
}];
}
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈