Commit ab334129 cgx

优化加载页面

1 个父辈 4294cdf2
...@@ -26,10 +26,15 @@ ...@@ -26,10 +26,15 @@
[self.dataSource addDataArray:self.articleVM.articleArr]; [self.dataSource addDataArray:self.articleVM.articleArr];
} }
- (void)fireHandler {
[super fireHandler];
[self.articleView.mj_header beginRefreshing];
}
- (void)getArticleListRequest:(BOOL)loadMore { - (void)getArticleListRequest:(BOOL)loadMore {
[self.articleVM querySsmianKnowledgeListWithLoadMore:loadMore completion:^(ArticleRequestModel * _Nonnull requestModel) { [self.articleVM querySsmianKnowledgeListWithLoadMore:loadMore completion:^(ArticleRequestModel * _Nonnull requestModel) {
[self endRefreshing:loadMore]; [self endRefreshing:loadMore];
if (requestModel.resCode == DSResCodeSuccess) { if (requestModel.resCode == DSResCodeSuccess) {
if (requestModel.articleArr.count == 0) { if (requestModel.articleArr.count == 0) {
[self updateDefalutView:DefaultTypeEmpty info:@""]; [self updateDefalutView:DefaultTypeEmpty info:@""];
......
...@@ -26,6 +26,11 @@ ...@@ -26,6 +26,11 @@
[self.evaluateListView.mj_header beginRefreshing]; [self.evaluateListView.mj_header beginRefreshing];
} }
- (void)fireHandler {
[super fireHandler];
[self.evaluateListView.mj_header beginRefreshing];
}
- (void)getEvaluateListData { - (void)getEvaluateListData {
[EvaluateRequestModel queryCommunityEvaluationListWithCompletion:^(EvaluateRequestModel * _Nonnull requestModel) { [EvaluateRequestModel queryCommunityEvaluationListWithCompletion:^(EvaluateRequestModel * _Nonnull requestModel) {
[self.evaluateListView.mj_header endRefreshing]; [self.evaluateListView.mj_header endRefreshing];
......
...@@ -26,6 +26,11 @@ ...@@ -26,6 +26,11 @@
[self.listView.mj_header beginRefreshing]; [self.listView.mj_header beginRefreshing];
} }
- (void)fireHandler {
[super fireHandler];
[self.listView.mj_header beginRefreshing];
}
- (void)getListDataRequest { - (void)getListDataRequest {
[OfficialNotiViewModel queryUserOfficeMessagesWithCompletion:^(OfficialNotiViewModel * _Nonnull viewModel) { [OfficialNotiViewModel queryUserOfficeMessagesWithCompletion:^(OfficialNotiViewModel * _Nonnull viewModel) {
[self.listView.mj_header endRefreshing]; [self.listView.mj_header endRefreshing];
......
...@@ -5,12 +5,12 @@ ...@@ -5,12 +5,12 @@
// Created by peter on 2022/10/11. // Created by peter on 2022/10/11.
// //
#import <UIKit/UIKit.h> #import "BaseViewController.h"
NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_BEGIN
/// 点赞列表 /// 点赞列表
@interface PraiseListController : UITableViewController @interface PraiseListController : BaseViewController
@end @end
......
...@@ -9,8 +9,9 @@ ...@@ -9,8 +9,9 @@
#import "PraiseCell.h" #import "PraiseCell.h"
#import "PraiseListViewModel.h" #import "PraiseListViewModel.h"
@interface PraiseListController () @interface PraiseListController () <UITableViewDelegate>
@property (nonatomic, strong) DSDataSource *dataSource; @property (nonatomic, strong) DSDataSource *dataSource;
@property (nonatomic, strong) UITableView *listView;
@property (nonatomic, assign) int offset; @property (nonatomic, assign) int offset;
@property (nonatomic, strong) NSMutableArray *praiseList; @property (nonatomic, strong) NSMutableArray *praiseList;
@property (nonatomic, strong) ExceptionDefaultView *exceptionView; @property (nonatomic, strong) ExceptionDefaultView *exceptionView;
...@@ -23,48 +24,40 @@ ...@@ -23,48 +24,40 @@
[self initUI]; [self initUI];
[self.tableView.mj_header beginRefreshing]; [self.listView.mj_header beginRefreshing];
} }
#pragma mark - init #pragma mark - init
- (void)initUI { - (void)initUI {
self.navigationItem.title = @"收到的赞"; self.navigationItem.title = @"收到的赞";
self.view.dk_backgroundColorPicker = DKColorPickerWithKey(VCViewBG);
self.offset = 1; self.offset = 1;
self.praiseList = [NSMutableArray array]; self.praiseList = [NSMutableArray array];
[self.dataSource addDataArray:self.praiseList]; [self.dataSource addDataArray:self.praiseList];
}
self.tableView.dk_backgroundColorPicker = DKColorPickerWithKey(VCViewBG);
self.tableView.showsVerticalScrollIndicator = NO;
self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
[self.tableView registerClass:[PraiseCell class] forCellReuseIdentifier:NSStringFromClass([PraiseCell class])];
self.tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
self.tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 10, 24 + Bottom_SafeArea_Height)];
WS(weakSelf); - (void)fireHandler {
self.tableView.mj_header = [DSGifHeader headerWithRefreshingBlock:^{ [super fireHandler];
[weakSelf getPraiseList:NO]; [self.listView.mj_header beginRefreshing];
}];
self.tableView.mj_footer = [MJRefreshBackNormalFooter footerWithRefreshingBlock:^{
[weakSelf getPraiseList:YES];
}];
} }
- (void)getPraiseList:(BOOL)loadMore { - (void)getPraiseList:(BOOL)loadMore {
if (loadMore == NO) { self.offset = 1; } if (loadMore == NO) { self.offset = 1; }
[PraiseListViewModel queryUserDynamicPraiseWithOffset:self.offset completion:^(PraiseListViewModel * _Nonnull viewModel) { [PraiseListViewModel queryUserDynamicPraiseWithOffset:self.offset completion:^(PraiseListViewModel * _Nonnull viewModel) {
[self.tableView.mj_footer endRefreshing]; [self.listView.mj_footer endRefreshing];
[self.tableView.mj_header endRefreshing]; [self.listView.mj_header endRefreshing];
if (viewModel.resCode == DSResCodeSuccess) { if (viewModel.resCode == DSResCodeSuccess) {
if (self.praiseList.count == 0 && viewModel.resultArr.count == 0) { if (self.praiseList.count == 0 && viewModel.resultArr.count == 0) {
[self dealErrorWithType:ExceptionTypeNoData errInfo:@""]; [self updateDefalutView:DefaultTypeEmpty info:@""];
return; return;
} }
if (loadMore) { if (loadMore) {
if (viewModel.resultArr.count == 0) { if (viewModel.resultArr.count == 0) {
[self.tableView.mj_footer endRefreshingWithNoMoreData]; [self.listView.mj_footer endRefreshingWithNoMoreData];
} }
[self.praiseList addObjectsFromArray:viewModel.resultArr]; [self.praiseList addObjectsFromArray:viewModel.resultArr];
} else { } else {
...@@ -73,18 +66,18 @@ ...@@ -73,18 +66,18 @@
} }
self.exceptionView.hidden = YES; self.exceptionView.hidden = YES;
[self.dataSource addDataArray:self.praiseList]; [self.dataSource addDataArray:self.praiseList];
[self.tableView reloadData]; [self.listView reloadData];
} else { } else {
if (self.praiseList.count) { if (self.praiseList.count) {
[DSProgressHUD showToast:viewModel.errMessage]; [DSProgressHUD showToast:viewModel.errMessage];
} else { } else {
[self dealErrorWithType:ExceptionTypeNet errInfo:viewModel.errMessage]; [self updateDefalutView:DefaultTypeNet info:viewModel.errMessage];
} }
} }
}]; }];
} }
#pragma mark - UITableViewDelegate, UITableViewDataSource #pragma mark - UITableViewDelegate
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
return 97; return 97;
} }
...@@ -96,30 +89,31 @@ ...@@ -96,30 +89,31 @@
cell.praiseModel = model; cell.praiseModel = model;
}; };
_dataSource = [[DSDataSource alloc] initWithIdentifier:NSStringFromClass([PraiseCell class]) datas:@[] isSection:NO configureBlock:cellBlock]; _dataSource = [[DSDataSource alloc] initWithIdentifier:NSStringFromClass([PraiseCell class]) datas:@[] isSection:NO configureBlock:cellBlock];
self.tableView.dataSource = _dataSource;
UITableView *listView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain];
listView.separatorStyle = UITableViewCellSeparatorStyleNone;
listView.delegate = self;
listView.dataSource = _dataSource;
listView.showsVerticalScrollIndicator = NO;
listView.backgroundColor = DSClearColor;
listView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
[listView registerClass:[PraiseCell class] forCellReuseIdentifier:NSStringFromClass([PraiseCell class])];
listView.tableFooterView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 10, 24 + Bottom_SafeArea_Height)];
[self.view addSubview:listView];
[listView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self.view);
}];
self.listView = listView;
WS(weakSelf);
self.listView.mj_header = [DSGifHeader headerWithRefreshingBlock:^{
[weakSelf getPraiseList:NO];
}];
self.listView.mj_footer = [MJRefreshBackNormalFooter footerWithRefreshingBlock:^{
[weakSelf getPraiseList:YES];
}];
} }
return _dataSource; return _dataSource;
} }
- (ExceptionDefaultView *)exceptionView {
if (!_exceptionView) {
_exceptionView = [[ExceptionDefaultView alloc] initWithType:ExceptionTypeNet block:^{
} superView:self.view];
}
return _exceptionView;
}
#pragma mark - 品牌模式
- (NaviStyle)navigationBarStyle {
return NaviStyleDefault;
}
- (void)dealErrorWithType:(ExceptionType)type errInfo:(NSString *)errInfo {
self.exceptionView.hidden = NO;
[self.exceptionView showErrorInfo:type];
if (type == ExceptionTypeNet) {
[self.exceptionView showServerErrInfo:errInfo];
}
}
@end @end
...@@ -32,6 +32,11 @@ ...@@ -32,6 +32,11 @@
self.edgesForExtendedLayout = UIRectEdgeNone; self.edgesForExtendedLayout = UIRectEdgeNone;
} }
- (void)fireHandler {
[super fireHandler];
[self.myDynamicView reRefresh];
}
#pragma mark - MyDynamicViewDelegate #pragma mark - MyDynamicViewDelegate
- (void)getDynamicListRequest:(BOOL)loadMore { - (void)getDynamicListRequest:(BOOL)loadMore {
if (loadMore == NO) { self.offset = 1; } if (loadMore == NO) { self.offset = 1; }
......
...@@ -50,6 +50,8 @@ NS_ASSUME_NONNULL_BEGIN ...@@ -50,6 +50,8 @@ NS_ASSUME_NONNULL_BEGIN
/// 删除成功取消确认框 /// 删除成功取消确认框
- (void)deleteSuccess; - (void)deleteSuccess;
/// 失败重新刷新
- (void)reRefresh;
@end @end
NS_ASSUME_NONNULL_END NS_ASSUME_NONNULL_END
...@@ -59,6 +59,10 @@ ...@@ -59,6 +59,10 @@
[self.deleteConfirmBox dismiss]; [self.deleteConfirmBox dismiss];
} }
- (void)reRefresh {
[self.listView.mj_header beginRefreshing];
}
#pragma mark - ConfirmBoxDelegate #pragma mark - ConfirmBoxDelegate
- (void)excuteDeleteAction:(NSIndexPath *)indexPath { - (void)excuteDeleteAction:(NSIndexPath *)indexPath {
ComDynModel *model = self.myDynVM.listArr[indexPath.section]; ComDynModel *model = self.myDynVM.listArr[indexPath.section];
...@@ -139,7 +143,7 @@ ...@@ -139,7 +143,7 @@
_listView.separatorStyle = UITableViewCellSeparatorStyleNone; _listView.separatorStyle = UITableViewCellSeparatorStyleNone;
_listView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever; _listView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
_listView.tableFooterView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, CGFLOAT_MIN)];; _listView.tableFooterView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, CGFLOAT_MIN)];;
WS(weakSelf); WS(weakSelf);
_listView.mj_header = [DSGifHeader headerWithRefreshingBlock:^{ _listView.mj_header = [DSGifHeader headerWithRefreshingBlock:^{
if (weakSelf.delegate && [weakSelf.delegate respondsToSelector:@selector(getDynamicListRequest:)]) { if (weakSelf.delegate && [weakSelf.delegate respondsToSelector:@selector(getDynamicListRequest:)]) {
......
...@@ -52,7 +52,8 @@ ...@@ -52,7 +52,8 @@
NSString *api = @"query_relax_meditation_audios"; NSString *api = @"query_relax_meditation_audios";
NSString *argStr = [NSString stringWithFormat:@"query{%@(type_id:%d)}", api, type_id]; NSString *argStr = [NSString stringWithFormat:@"query{%@(type_id:%d)}", api, type_id];
SafeSleepRequestModel * requestModel = [[SafeSleepRequestModel alloc] init]; SafeSleepRequestModel * requestModel = [[SafeSleepRequestModel alloc] init];
return [self httpPostBodyRequestWithAPI:api params:@{@"query" : argStr} view:nil hasNetActivity:YES loadingInfo:nil hasFailInfo:YES success:^(NSDictionary *apiDic) { BOOL hasFailInfo = type_id == 501 ? NO : YES;
return [self httpPostBodyRequestWithAPI:api params:@{@"query" : argStr} view:nil hasNetActivity:YES loadingInfo:nil hasFailInfo:hasFailInfo success:^(NSDictionary *apiDic) {
requestModel.resCode = DSResCodeSuccess; requestModel.resCode = DSResCodeSuccess;
DSLog(@"睡眠-放松训练-冥想分类详情数据接口dataDic:%@", apiDic); DSLog(@"睡眠-放松训练-冥想分类详情数据接口dataDic:%@", apiDic);
NSDictionary *resultDic = apiDic[@"result"]; NSDictionary *resultDic = apiDic[@"result"];
......
...@@ -26,6 +26,11 @@ ...@@ -26,6 +26,11 @@
self.navigationItem.title = @"睡前故事"; self.navigationItem.title = @"睡前故事";
} }
- (void)fireHandler {
[super fireHandler];
[self.sleepStoryView reRefresh];
}
#pragma mark - SleepStoryViewDelegate #pragma mark - SleepStoryViewDelegate
- (void)getSleepStoryListData { - (void)getSleepStoryListData {
[SafeSleepRequestModel queryRelaxMeditationAudiosWithTypeID:501 completion:^(SafeSleepRequestModel * _Nonnull requestModel) { [SafeSleepRequestModel queryRelaxMeditationAudiosWithTypeID:501 completion:^(SafeSleepRequestModel * _Nonnull requestModel) {
...@@ -37,7 +42,8 @@ ...@@ -37,7 +42,8 @@
[self.sleepStoryView updateList:requestModel.subAudioListData]; [self.sleepStoryView updateList:requestModel.subAudioListData];
} }
} else { } else {
[DSProgressHUD showToast:requestModel.errMessage]; [self.sleepStoryView endRefresh];
[self updateDefalutView:DefaultTypeNet info:requestModel.errMessage];
} }
}]; }];
......
...@@ -24,7 +24,8 @@ NS_ASSUME_NONNULL_BEGIN ...@@ -24,7 +24,8 @@ NS_ASSUME_NONNULL_BEGIN
- (instancetype)initWithDelegate:(id<SleepStoryViewDelegate>)delegate; - (instancetype)initWithDelegate:(id<SleepStoryViewDelegate>)delegate;
- (void)updateList:(NSArray *)dataList; - (void)updateList:(NSArray *)dataList;
- (void)endRefresh;
- (void)reRefresh;
@end @end
NS_ASSUME_NONNULL_END NS_ASSUME_NONNULL_END
...@@ -31,6 +31,14 @@ ...@@ -31,6 +31,14 @@
[self.storyListView.mj_header endRefreshing]; [self.storyListView.mj_header endRefreshing];
} }
- (void)endRefresh {
[self.storyListView.mj_header endRefreshing];
}
- (void)reRefresh {
[self.storyListView.mj_header beginRefreshing];
}
#pragma mark - UITableViewDelegate #pragma mark - UITableViewDelegate
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
return 105; return 105;
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!