YXHomeSceneModel.m 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. //
  2. // YXHomeSceneModel.m
  3. // Temperature
  4. //
  5. // Created by TC on 2025/3/8.
  6. //
  7. #import "YXHomeSceneModel.h"
  8. #import "RDSRootControl.h"
  9. @implementation YXHomeSceneModel
  10. + (NSDictionary *)objectClassInArray
  11. {
  12. return @{
  13. @"actions": @"YXHomeSceneActionModel",
  14. @"conditions": @"YXHomeSceneConditionModel",
  15. @"device_infos":@"YXHomeSceneDeviceModel"
  16. };
  17. }
  18. +(void)rds_getHomeScenesWithHomeId:(NSString *)homeId homepage:(NSNumber *)page type:(NSString *)type finished:(void (^)(NSArray * _Nonnull, NSError * _Nonnull))finished
  19. {
  20. [RDSDemoApiHelper rds_getHomeScenesWithHomeId:homeId homepage:page type:type success:^(id responseObject) {
  21. if ([responseObject[@"code"] intValue] == 9999) {
  22. [RDSRootControl shareControl].isLoginSuccess = NO;
  23. TheDataManager.token = @"";
  24. }
  25. if ([responseObject[@"code"] intValue] == 0) {
  26. NSArray *data = responseObject[@"data"];
  27. NSMutableArray *scenesArray = [YXHomeSceneModel mj_objectArrayWithKeyValuesArray:data];
  28. NSMutableArray *homeScenesArray = [[NSMutableArray alloc]init];
  29. for (YXHomeSceneModel *model in scenesArray) {
  30. model.actions = [YXHomeSceneActionModel mj_objectArrayWithKeyValuesArray:model.actions];
  31. model.conditions = [YXHomeSceneActionModel mj_objectArrayWithKeyValuesArray:model.conditions];
  32. model.device_infos = [YXHomeSceneDeviceModel mj_objectArrayWithKeyValuesArray:model.device_infos];
  33. if ([model.show_homepage isEqual:@1]) {
  34. [homeScenesArray addObject:model];
  35. }
  36. }
  37. NSArray *resultArray = [[NSArray alloc]init];
  38. if ([page isEqual:@1]) {
  39. resultArray = homeScenesArray;
  40. }else{
  41. resultArray = scenesArray;
  42. }
  43. BLOCK_SAFE_RUN(finished,resultArray,nil)
  44. } else{
  45. NSError *error = [NSError errorWithDomain:responseObject[@"message"] code:[responseObject[@"code"] intValue] userInfo:nil];
  46. BLOCK_SAFE_RUN(finished,nil,error)
  47. }
  48. } failure:^(NSError *error) {
  49. BLOCK_SAFE_RUN(finished,nil,error)
  50. }];
  51. }
  52. @end
  53. @implementation YXEffectiveTimeModel
  54. @end
  55. @implementation YXHomeSceneDeviceModel
  56. @end