73 lines
2.1 KiB
Objective-C
73 lines
2.1 KiB
Objective-C
//
|
|
// TLExpressionGroupModel+Download.m
|
|
// TLChat
|
|
//
|
|
// Created by 李伯坤 on 2018/1/2.
|
|
// Copyright © 2018年 李伯坤. All rights reserved.
|
|
//
|
|
|
|
#import "TLExpressionGroupModel+Download.h"
|
|
#import "TLExpressionGroupModel+DetailRequest.h"
|
|
#import "TLExpressionHelper.h"
|
|
#import "NSFileManager+TLChat.h"
|
|
|
|
@implementation TLExpressionGroupModel (Download)
|
|
|
|
- (void)startDownload
|
|
{
|
|
self.status = TLExpressionGroupStatusDownloading;
|
|
if (self.data.count == 0) {
|
|
self.data = @[].mutableCopy;
|
|
[self requestDetailInfoWithPageIndex:1];
|
|
}
|
|
else {
|
|
[self p_startDownload];
|
|
}
|
|
}
|
|
|
|
- (void)requestDetailInfoWithPageIndex:(NSInteger)pageIndex
|
|
{
|
|
[self requestExpressionGroupDetailByPageIndex:pageIndex success:^(NSArray *successData) {
|
|
if (successData.count > 0) {
|
|
[self.data addObjectsFromArray:successData];
|
|
|
|
[self p_startDownload];
|
|
}
|
|
else {
|
|
self.status = TLExpressionGroupStatusNet;
|
|
if (self.downloadCompleteAction) {
|
|
self.downloadCompleteAction(self, NO, @"表情包数据错误");
|
|
}
|
|
}
|
|
} failure:^(id failureData) {
|
|
self.status = TLExpressionGroupStatusNet;
|
|
if (self.downloadCompleteAction) {
|
|
self.downloadCompleteAction(self, NO, @"获取表情包信息失败");
|
|
}
|
|
}];
|
|
}
|
|
|
|
- (void)p_startDownload
|
|
{
|
|
[[TLExpressionHelper sharedHelper] downloadExpressionsWithGroupInfo:self progress:^(CGFloat progress) {
|
|
self.downloadProgress = progress;
|
|
if (self.downloadProgressAction) {
|
|
self.downloadProgressAction(self, progress);
|
|
}
|
|
} success:^(TLExpressionGroupModel *group) {
|
|
self.status = TLExpressionGroupStatusLocal;
|
|
[[TLExpressionHelper sharedHelper] addExpressionGroup:group];
|
|
if (self.downloadCompleteAction) {
|
|
self.downloadCompleteAction(group, YES, nil);
|
|
}
|
|
} failure:^(TLExpressionGroupModel *group, NSString *error) {
|
|
self.status = TLExpressionGroupStatusNet;
|
|
if (self.downloadCompleteAction) {
|
|
self.downloadCompleteAction(group, NO, error);
|
|
}
|
|
}];
|
|
}
|
|
|
|
|
|
@end
|