通用接口

更新时间:2024-03-04 07:33:23

服务端接口

假如您运行的 SDK 版本为 5.2 或者以上,便无需考虑以下内容,因为所有网络请求都已内置于各个库中。即使下述接口依然有效,涂鸦并不推荐您使用它们。对于 5.2 版本以下的 SDK,部分功能需要通过以下接口实现。具体应使用哪个 apiName,详情请参考相应文档。

服务端接口调用功能对应 ThingSmartRequest 类。

接口说明

- (void)requestWithApiName:(NSString *)apiName
                  postData:(nullable NSDictionary *)postData
                   getData:(nullable NSDictionary *)getData
                   version:(NSString *)version
                   success:(nullable ThingSuccessID)success
                   failure:(nullable ThingFailureError)failure;

参数说明

参数 说明
apiName API 名称
postData 业务参数
getData 公共参数
version API 版本号
success 成功回调
failure 失败回调

代码示例

- (void)getCountryList {
  // self.request = [ThingSmartRequest alloc] init];

  [self.request requestWithApiName:@"tuya.m.country.list" postData:nil version:@"1.0" success:^(id result) {

  } failure:^(NSError *error) {

  }];

}

组合接口

接口说明

组合接口指一起使用两个方法,适用于多个业务接口一起请求。

- (void)addMergeRequestWithApiName:(NSString *)apiName
                          postData:(nullable NSDictionary *)postData
                           version:(NSString *)version
                           success:(nullable ThingSuccessID)success
                           failure:(nullable ThingFailureError)failure;

- (void)sendMergeRequestWithGetData:(nullable NSDictionary *)getData
                            success:(nullable ThingSuccessList)success
                            failure:(nullable ThingFailureError)failure;

参数说明

参数 说明
apiName API 名称
postData 业务参数
version API 版本号
getData 公共参数
success 成功回调
failure 失败回调

代码示例

- (void)loadHomeDataWithHomeId:(long long)homeId {
  // self.request = [ThingSmartRequest alloc] init];

  [self.request addMergeRequestWithApiName:@"tuya.m.my.group.mesh.list" postData:@{} version:@"1.0" success:nil failure:nil];
  [self.request addApiRequest:@"tuya.m.location.get" postData:@{@"gid": @(homeId)} version:@"2.0" success:nil failure:nil];

  [self.request sendMergeRequestWithGetData:@{@"gid": @(homeId)} success:success failure:failure];
}