消息相关功能

更新时间:2023-04-13 09:32:58下载pdf

查询消息列表

接口说明

- (void)getMessageList:(void (^)(NSArray<ThingSmartMessageListModel *> *list))success
               failure:(ThingFailureError)failure

参数说明

参数 说明
success 成功回调,返回消息数组
failure 失败回调,返回失败原因

示例代码

Objc:

//    self.smartMessage = [[ThingSmartMessage alloc] init];
    [self.smartMessage getMessageList:^(NSArray<ThingSmartMessageListModel *> *list) {
        NSLog(@"get message list success:%@", list);
    } failure:^(NSError *error) {
        NSLog(@"get message list failure:%@", error);
    }];

Swift:

    smartMessage?.getList({ (list) in
        print("get message list success: \(list)")
    }, failure: { (error) in
        if let e = error {
            print("get message list failure: \(e)")
        }
    })

分页查询消息列表

接口说明

- (void)getMessageList:(NSInteger)limit
                offset:(NSInteger)offset
               success:(void (^)(NSArray<ThingSmartMessageListModel *> *list))success
               failure:(ThingFailureError)failure

参数说明

参数 说明
limit 每页请求数据数
offset 已请求到的消息总数
success 成功回调,返回消息数组
failure 失败回调,返回失败原因

示例代码

//  self.smartMessage = [[ThingSmartMessage alloc] init];
    NSNumber *limit = @15;
    NSNumber *offset = @0;
    [self.smartMessage getMessageList:limit offset:offset success:^(NSArray<ThingSmartMessageListModel *> *list) {
        NSLog(@"get message list success:%@", list);
    } failure:^(NSError *error) {
        NSLog(@"get message list failure:%@", error);
    }];

根据消息类型分页查询

接口说明

- (void)getMessageListWithType:(NSInteger)msgType limit:(NSInteger)limit offset:(NSInteger)offset success:(void (^)(NSArray<ThingSmartMessageListModel *> *list))success failure:(ThingFailureError)failure

参数说明

参数 说明
msgType 消息类型:
  • 1:告警消息
  • 2:家庭消息
  • 3:通知消息
limit 每页请求数据数
offset 已请求到的消息总数
success 成功回调,返回消息数组
failure 失败回调,返回失败原因

示例代码

//   self.smartMessage = [[ThingSmartMessage alloc] init];
    NSNumber *limit = @15;
    NSNumber *offset = @0;
    [self.smartMessage getMessageList:limit offset:offset success:^(NSArray<ThingSmartMessageListModel *> *list) {
        NSLog(@"get message list success:%@", list);
    } failure:^(NSError *error) {
        NSLog(@"get message list failure:%@", error);
    }];

根据消息组 ID 查询消息详情

接口说明

- (void)getMessageDetailListWithType:(NSInteger)msgType msgSrcId:(NSString *)msgSrcId limit:(NSInteger)limit offset:(NSInteger)offset success:(void (^)(NSArray<ThingSmartMessageListModel *> *list))success failure:(ThingFailureError)failure

参数说明

参数 说明
msgType 消息类型:
  • 1:告警消息
  • 2:家庭消息
  • 3:通知消息
msgSrcId 消息组 ID
limit 每页请求数据数
offset 已请求到的消息总数
success 成功回调,返回消息详情数组
failure 失败回调,返回失败原因

示例代码

        //   self.smartMessage = [[ThingSmartMessage alloc] init];
    NSNumber *limit = @15;
    NSNumber *offset = @0;
    [self.smartMessage getMessageDetailListWithType:1 msgSrcId:@"xxx" limit offset:offset success:^(NSArray<ThingSmartMessageListModel *> *list) {
        NSLog(@"get message list success:%@", list);
    } failure:^(NSError *error) {
        NSLog(@"get message list failure:%@", error);
    }];

删除消息

批量删除消息

接口说明

- (void)deleteMessage:(NSArray <NSString *> *)messgeIdList
              success:(ThingSuccessHandler)success
              failure:(ThingFailureError)failure

参数说明

参数 说明
messgeIdList 要删除的消息 ID 组
success 成功回调
failure 失败回调,返回失败原因

示例代码

Objc:

//  self.smartMessage = [[ThingSmartMessage alloc] init];
    [self.smartMessage deleteMessage:(NSArray <NSString *> *)messgeIdList success:^{
        NSLog(@"delete message success");
    } failure:^(NSError *error) {
        NSLog(@"delete message failure:%@", error);
    }];

Swift:

    smartMessage?.delete(["messgeIdList"], success: {
        print("delete message success")
    }, failure: { (error) in
        if let e = error {
            print("delete message failure: \(e)")
        }
    })

删除指定类型的消息

接口说明

- (void)deleteMessageWithType:(NSInteger)msgType ids:(NSArray *)ids msgSrcIds:(NSArray *)msgSrcIds success:(ThingSuccessHandler)success failure:(ThingFailureError)failure

参数说明

参数 说明
msgType 消息类型:
  • 1:告警消息
  • 2:家庭消息
  • 3:通知消息
ids 要删除的消息 ID 组
msgSrcIds 告警消息 ID 组,传 nil@[] 表示不删除告警消息
success 成功回调
failure 失败回调,返回失败原因
  • 删除告警消息 列表 中的消息,请设置为参数 msgSrcIds
  • 删除告警消息 详情列表 中的消息,请设置为参数 ids

不可以同时设置 msgSrcIdsids 参数,否则 详情列表 中的消息将无法被删除。

示例代码

Objc:

//    self.smartMessage = [[ThingSmartMessage alloc] init];
    [self.smartMessage deleteMessageWithType:msgType ids:ids msgSrcIds:nil success:^{
        NSLog(@"delete message success");
    } failure:^(NSError *error) {
        NSLog(@"delete message failure:%@", error);
    }];

检查新消息

接口说明

- (void)getLatestMessageWithSuccess:(ThingSuccessDict)success failure:(ThingFailureError)failure

参数说明

参数 说明
success 成功回调,返回字典类型,包含的字典 Key 有:
  • alarm:告警消息
  • family:家庭消息
  • notification:通知消息
failure 失败回调,返回失败原因

请求不同的 ThingSmartMessageListRequestModelmsgType 会有不同新消息判断逻辑。

  • 对于家庭消息和通知消息,当有新消息时,调用 getLatestMessageWithSuccess:failure: 后会返回 true。在调用 查询消息列表 之后,再次调用 getLatestMessageWithSuccess:failure: 时状态结果将被置为 false。

  • 对于告警消息,当调用 readMessageWithReadRequestModel:success:failure: 后,再调用 查询消息列表 时,ThingSmartMessageListModelhasNotRead 字段会被置为 false。

示例代码

Objc:

//      self.smartMessage = [[ThingSmartMessage alloc] init];
    [self.smartMessage getLatestMessageWithSuccess:^(NSDictionary *result) {
        NSLog(@"get latesMessage success:%@", result);
    } failure:^(NSError *error) {
        NSLog(@"get message max time failure:%@", error);
    }];

Swift:

    smartMessage?.getLatestMessageWithSuccess({ (result) in
        print("get message max time success :\(result)")
    }, failure: { (error) in
        if let e = error {
            print("get message max time failure: \(e)")
        }
    })