萤石云 iOSSDK,移植跨平台相关工程
Davin
2023-07-10 0de4cf306d8e13fd57b3e04bfb81362a10f12a4d
EZSDK/EZSDK/EZ/TempPassword/Controllers/HDLEZDeviceMsgListViewController.m
@@ -110,39 +110,15 @@
        weakSelf.msgListModel=[HDLEZDevMsgListModel yy_modelWithDictionary:responseData.data];
        if (responseData.success) {
            weakSelf.msgListModel=[HDLEZDevMsgListModel yy_modelWithDictionary:responseData.data];
            if (weakSelf.msgListModel.list.count!=0) {
            if (weakSelf.currentPageNo == 1) {
                [weakSelf.msgList removeAllObjects];
            }
                [weakSelf.msgList addObjectsFromArray:weakSelf.msgListModel.list];
                weakSelf.msgListV.msgList=weakSelf.msgList;
            if (weakSelf.msgListModel.list.count == weakSelf.pageSize) {
                weakSelf.currentPageNo+=1;
            }else{
#warning mock
            if (weakSelf.msgList.count == 0) {
                HDLEZDeviceMsgInfoModel *model = [[HDLEZDeviceMsgInfoModel alloc] init];
                model.title = @"mock title 你好你好我是超长的测试标题,你来看下是否超出长度,你好你好我是超长的测试标题,你来看下是否超出长度";
                model.createTime = @"2023.06.15";
                model.content = @"mock content";
                model.imageUrl = @"https://upload-images.jianshu.io/upload_images/5809200-a99419bb94924e6d.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240";
                [weakSelf.msgList addObject:model];
                HDLEZDeviceMsgInfoModel *model1 = [[HDLEZDeviceMsgInfoModel alloc] init];
                model1.title = @"mock title1,你好你好";
                model1.createTime = @"2023.06.15";
                model1.content = @"mock content1";
                model1.imageUrl = @"http://b.hiphotos.baidu.com/image/pic/item/e824b899a9014c08878b2c4c0e7b02087af4f4a3.jpg";
                [weakSelf.msgList addObject:model1];
                HDLEZDeviceMsgInfoModel *model2 = [[HDLEZDeviceMsgInfoModel alloc] init];
                model2.title = @"mock title2";
                model2.createTime = @"2023.06.15";
                model2.content = @"mock content2";
                model2.imageUrl = @"https://fastly.picsum.photos/id/452/1000/3000.jpg?hmac=g6GQYs1wmiPeoKOdwI3ot1y4MInIj_dnPk_jCYbVYfk";
                [weakSelf.msgList addObject:model2];
            }
                weakSelf.msgListV.msgList=weakSelf.msgList;
                [weakSelf.footer endRefreshingWithNoMoreData];
            }
        }else{
            [weakSelf.view makeToast:responseData.message
                            duration:1.5
@@ -168,6 +144,18 @@
}
- (void)didClickDownLoad:(MWPhotoBrowser *)photoBrowser {
    __weak __typeof(self)weakSelf = self;
    [self authPhotoLibraries:^(BOOL isAblity) {
        if (isAblity) {
            [weakSelf downloadTheImage];
        } else {
            [weakSelf guideUserOpenAuth];
        }
    }];
}
- (void)downloadTheImage {
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
        if (!self.currentPreviewPhoto || self.currentPreviewPhoto.length == 0) {
            [UIView dd_showMessage:NSLocalizedString(@"device_save_gallery_failure", @"下载失败")];
@@ -201,9 +189,59 @@
    }
    else
    {
        message = [error description];
        message = NSLocalizedString(@"device_save_gallery_failure", @"下载失败");
        NSLog(@"#######图片保存失败:%@", [error description]);
    }
    [UIView dd_showMessage:message];
}
/*访问相册权限
 */
-(void)authPhotoLibraries:(void(^)(BOOL isAblity))result {
    PHAuthorizationStatus author =[PHPhotoLibrary authorizationStatus];
    if (author == PHAuthorizationStatusRestricted || author ==PHAuthorizationStatusDenied){
        if (result) {
            result(NO);
        }
    } else if (author == PHAuthorizationStatusNotDetermined) {  // 首次授权
        dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
        dispatch_async(queue, ^{
            [PHPhotoLibrary requestAuthorization:^(PHAuthorizationStatus status) {
                if (status != PHAuthorizationStatusAuthorized) {
                    if (result) {
                        result(NO);
                    }
                } else {
                    if (result) {
                        result(YES);
                    }
                }
            }];
        });
    } else {
        if (result) {
            result(YES);
        }
    }
}
/*引导用户授权获取图片
 */
- (void)guideUserOpenAuth{
    UIAlertController *alertC = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"hdl_ez_download_tip", @"温馨提示") message:NSLocalizedString(@"hdl_ez_download_auth", @"请打开访问权限") preferredStyle:(UIAlertControllerStyleAlert)];
    UIAlertAction *alertA = [UIAlertAction actionWithTitle:NSLocalizedString(@"hdl_ez_download_cancle", @"取消") style:(UIAlertActionStyleDefault) handler:nil];
    UIAlertAction *act = [UIAlertAction actionWithTitle:NSLocalizedString(@"hdl_ez_download_toSet", @"去设置") style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
        // 引导用户设置
        NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
        if ([[UIApplication sharedApplication] canOpenURL:url]) {
            [[UIApplication sharedApplication] openURL:url options:@{} completionHandler:nil];
        }
    }];
    [alertC addAction:alertA];
    [alertC addAction:act];
    [self presentViewController:alertC animated:YES completion:nil];
}
#pragma mark PrivateMethod
@@ -212,6 +250,7 @@
    self.photos = [NSMutableArray array];
    [self.photos addObject:[MWPhoto photoWithURL:[NSURL URLWithString:picUrl]]];
    MWPhotoBrowser *browser = [[MWPhotoBrowser alloc] initWithDelegate:self];
    browser.zoomPhotosToFill = NO;
    [browser showDownloadBtn];
    [self.navigationController pushViewController:browser animated:NO];