You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
206 lines
6.7 KiB
206 lines
6.7 KiB
1 year ago
|
//
|
||
|
// MyWatchDialViewController.m
|
||
|
// tongxin
|
||
|
//
|
||
|
// Created by ecell on 2023/3/22.
|
||
|
// Copyright © 2023 xTT. All rights reserved.
|
||
|
//
|
||
|
|
||
|
#import "MyWatchDialViewController.h"
|
||
|
#import "WSLWaterFlowLayout.h"
|
||
|
#import "WatchDialCollectionViewCell.h"
|
||
|
#import <AFNetworking.h>
|
||
|
#import "DialMsgModel.h"
|
||
|
|
||
|
@interface MyWatchDialViewController ()<WSLWaterFlowLayoutDelegate,UICollectionViewDelegate,UICollectionViewDataSource>
|
||
|
|
||
|
@property (nonatomic, assign) WSLWaterFlowLayoutStyle flowLayoutStyle;
|
||
|
@property (nonatomic ,strong) UICollectionView *menuCollectionView;
|
||
|
@property (nonatomic ,assign) NSInteger page;
|
||
|
|
||
|
@end
|
||
|
|
||
|
@implementation MyWatchDialViewController
|
||
|
|
||
|
- (void)viewDidLoad {
|
||
|
[super viewDidLoad];
|
||
|
// Do any additional setup after loading the view.
|
||
|
self.view.backgroundColor = self.myTableView.backgroundColor;
|
||
|
self.title = @"我的表盘";
|
||
|
self.page = 1;
|
||
|
WSLWaterFlowLayout *FlowLayout = [[WSLWaterFlowLayout alloc] init];
|
||
|
FlowLayout.delegate = self;
|
||
|
FlowLayout.flowLayoutStyle = self.flowLayoutStyle;
|
||
|
|
||
|
_menuCollectionView = [[UICollectionView alloc] initWithFrame:CGRectMake(0, 0, ScreenWidth, ScreenHeight) collectionViewLayout:FlowLayout];
|
||
|
_menuCollectionView.backgroundColor = UIColor.clearColor;
|
||
|
_menuCollectionView.dataSource = self;
|
||
|
_menuCollectionView.delegate = self;
|
||
|
_menuCollectionView.showsVerticalScrollIndicator = NO;
|
||
|
_menuCollectionView.alwaysBounceVertical = NO;
|
||
|
// _menuCollectionView.scrollEnabled = NO;
|
||
|
if (@available(iOS 11.0, *))
|
||
|
_menuCollectionView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
|
||
|
[_menuCollectionView registerClass:WatchDialCollectionViewCell.class forCellWithReuseIdentifier:NSStringFromClass(WatchDialCollectionViewCell.class)];
|
||
|
[self.view addSubview:_menuCollectionView];
|
||
|
[_menuCollectionView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||
|
make.edges.equalTo(self.view);
|
||
|
}];
|
||
|
[SVProgressHUD show];
|
||
|
[self GetListModel];
|
||
|
}
|
||
|
|
||
|
|
||
|
#pragma mark - WSLWaterFlowLayoutDelegate
|
||
|
//返回每个item大小
|
||
|
- (CGSize)waterFlowLayout:(WSLWaterFlowLayout *)waterFlowLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath
|
||
|
{
|
||
|
return CGSizeMake((ScreenWidth-35)/2, (ScreenWidth)/1.85);
|
||
|
}
|
||
|
|
||
|
/** 头视图Size */
|
||
|
-(CGSize )waterFlowLayout:(WSLWaterFlowLayout *)waterFlowLayout sizeForHeaderViewInSection:(NSInteger)section
|
||
|
{
|
||
|
return CGSizeMake(ScreenWidth, 0.1);
|
||
|
}
|
||
|
/** 列数*/
|
||
|
-(CGFloat)columnCountInWaterFlowLayout:(WSLWaterFlowLayout *)waterFlowLayout
|
||
|
{
|
||
|
return 2;
|
||
|
}
|
||
|
|
||
|
/** 列间距*/
|
||
|
-(CGFloat)columnMarginInWaterFlowLayout:(WSLWaterFlowLayout *)waterFlowLayout
|
||
|
{
|
||
|
return 15;
|
||
|
}
|
||
|
/** 行间距*/
|
||
|
-(CGFloat)rowMarginInWaterFlowLayout:(WSLWaterFlowLayout *)waterFlowLayout
|
||
|
{
|
||
|
return 10;
|
||
|
}
|
||
|
/** 边缘之间的间距*/
|
||
|
-(UIEdgeInsets)edgeInsetInWaterFlowLayout:(WSLWaterFlowLayout *)waterFlowLayout
|
||
|
{
|
||
|
return UIEdgeInsetsMake(5, 10, 5, 10);
|
||
|
}
|
||
|
|
||
|
#pragma mark - UICollectionView数据源
|
||
|
//组个数
|
||
|
- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView
|
||
|
{
|
||
|
|
||
|
return 1;
|
||
|
}
|
||
|
|
||
|
//组内成员个数
|
||
|
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
|
||
|
{
|
||
|
return self.myDataSource.count;
|
||
|
}
|
||
|
|
||
|
|
||
|
//设置元素内容
|
||
|
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
|
||
|
{
|
||
|
|
||
|
WatchDialCollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:NSStringFromClass(WatchDialCollectionViewCell.class) forIndexPath:indexPath];
|
||
|
DialMsgModel *model = self.myDataSource[indexPath.item];
|
||
|
cell.Mymodel = model;
|
||
|
WEAKSELF
|
||
|
cell.labelTouch = ^(DialMsgModel * _Nonnull model) {
|
||
|
[weakSelf setMyDial:model];
|
||
|
};
|
||
|
|
||
|
return cell;
|
||
|
}
|
||
|
|
||
|
-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
|
||
|
{
|
||
|
|
||
|
}
|
||
|
|
||
|
#pragma mark 同步表盘到手表
|
||
|
/// 同步表盘到手表
|
||
|
- (void)setMyDial:(DialMsgModel *)model
|
||
|
{
|
||
|
[SVProgressHUD show];
|
||
|
NSMutableDictionary *parameters = [NSMutableDictionary dictionary];
|
||
|
[parameters setValue:model.dialDownload forKey:@"url"];
|
||
|
[parameters setValue:cUser.cDevice.imei forKey:@"imei"];
|
||
|
[parameters setValue:cUser.openid forKey:@"openid"];
|
||
|
[parameters setValue:cUser.accesstoken forKey:@"accesstoken"];
|
||
|
|
||
|
[cUser.cDevice updateMyDial:parameters success:^{
|
||
|
[SVProgressHUD dismiss];
|
||
|
[SVProgressHUD showInfoWithStatus:@"同步成功"];
|
||
|
|
||
|
} failure:^(NSError *error) {
|
||
|
[SVProgressHUD showErrorWithStatus:error.userInfo[@"msg"]];
|
||
|
}];
|
||
|
}
|
||
|
|
||
|
|
||
|
#pragma mark 获取我的表盘
|
||
|
/// 获取我的标配
|
||
|
- (void)GetListModel
|
||
|
{
|
||
|
if (self.page == 1)
|
||
|
{
|
||
|
[self.myDataSource removeAllObjects];
|
||
|
}
|
||
|
NSMutableDictionary *parameters = [NSMutableDictionary dictionary];
|
||
|
[parameters setObject:@(self.page) forKey:@"current"];
|
||
|
[parameters setObject:@(20) forKey:@"pageSize"];
|
||
|
|
||
|
AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];
|
||
|
NSMutableURLRequest *request = [[AFJSONRequestSerializer serializer] requestWithMethod:@"POST" URLString:HTTP_POST_MYPAGELIST parameters:parameters error:nil];
|
||
|
request.timeoutInterval = 10.f;
|
||
|
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
|
||
|
[request setValue:@"application/json" forHTTPHeaderField:@"Accept"];
|
||
|
[request setValue:cUser.openid forHTTPHeaderField:@"userId"];
|
||
|
|
||
|
NSURLSessionDataTask*task = [manager dataTaskWithRequest:request completionHandler:^(NSURLResponse * _Nonnull response, id _Nullable responseObject, NSError * _Nullable error) {
|
||
|
|
||
|
[SVProgressHUD dismiss];
|
||
|
NSDictionary *dic = responseObject;
|
||
|
if (dic && [dic[@"code"] integerValue] == 200)
|
||
|
{
|
||
|
NSArray *arr = dic[@"data"][@"records"];
|
||
|
[arr enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
|
||
|
DialMsgModel *model = [DialMsgModel yy_modelWithJSON:obj];
|
||
|
[self.myDataSource addObject:model];
|
||
|
}];
|
||
|
if(arr.count > 0)
|
||
|
{
|
||
|
self.page++;
|
||
|
[self.menuCollectionView reloadData];
|
||
|
}
|
||
|
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
NSLog(@"请求失败error=%@", error);
|
||
|
}
|
||
|
|
||
|
}];
|
||
|
[task resume];
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
/*
|
||
|
#pragma mark - Navigation
|
||
|
|
||
|
// In a storyboard-based application, you will often want to do a little preparation before navigation
|
||
|
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
|
||
|
// Get the new view controller using [segue destinationViewController].
|
||
|
// Pass the selected object to the new view controller.
|
||
|
}
|
||
|
*/
|
||
|
|
||
|
@end
|