From 4c1abca185a5727da6fb314a0cb4cd44bfe1b3bf Mon Sep 17 00:00:00 2001
From: Davin <591807572@qq.com>
Date: 星期五, 07 六月 2024 17:48:47 +0800
Subject: [PATCH] feature appkey修改
---
EZSDK/EZSDK/EZ/TempPassword/Controllers/HDLEZDeviceMsgListViewController.m | 155 +++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 148 insertions(+), 7 deletions(-)
diff --git a/EZSDK/EZSDK/EZ/TempPassword/Controllers/HDLEZDeviceMsgListViewController.m b/EZSDK/EZSDK/EZ/TempPassword/Controllers/HDLEZDeviceMsgListViewController.m
index 0c1ca3e..b4eb890 100644
--- a/EZSDK/EZSDK/EZ/TempPassword/Controllers/HDLEZDeviceMsgListViewController.m
+++ b/EZSDK/EZSDK/EZ/TempPassword/Controllers/HDLEZDeviceMsgListViewController.m
@@ -10,7 +10,10 @@
#import "MJRefreshNormalHeader.h"
#import "MJRefreshAutoNormalFooter.h"
#import "HDLEZDevMsgListModel.h"
-@interface HDLEZDeviceMsgListViewController ()
+#import "MWPhotoBrowser.h"
+#import "SDWebImageManager.h"
+#import <Photos/Photos.h>
+@interface HDLEZDeviceMsgListViewController ()<MWPhotoBrowserDelegate>
@property (nonatomic, strong) HDLEZDeviceMsgListView *msgListV;//娑堟伅鍒楄〃view
@property (nonatomic, strong) MJRefreshNormalHeader *header;//鍒锋柊header
@@ -25,6 +28,9 @@
@property (nonatomic, assign) NSInteger pageSize;//鍒嗛〉瀹归噺
+@property (nonatomic, strong) NSMutableArray <MWPhoto *>*photos; // 棰勮鍥剧墖淇℃伅
+@property (nonatomic, strong) NSString *currentPreviewPhoto; // 褰撳墠棰勮鐨勫浘鐗�
+
@end
@implementation HDLEZDeviceMsgListViewController
@@ -45,7 +51,10 @@
make.top.equalTo(self.view).offset(HDLEZ_APP_TOP_BAR_HEIGHT);
make.left.bottom.right.equalTo(self.view);
}];
-// _msgListV.choseDelegate=self;
+ __weak __typeof(self)weakSelf = self;
+ [_msgListV previewPicture:^(NSString * _Nonnull pictureUrl) {
+ [weakSelf previewPictureWithUrl:pictureUrl];
+ }];
//涓嬫媺鍒锋柊
// 璁剧疆鍥炶皟锛堜竴鏃﹁繘鍏ュ埛鏂扮姸鎬侊紝灏辫皟鐢╰arget鐨刟ction锛屼篃灏辨槸璋冪敤self鐨刲oadNewData鏂规硶锛�
@@ -101,14 +110,16 @@
weakSelf.msgListModel=[HDLEZDevMsgListModel yy_modelWithDictionary:responseData.data];
if (responseData.success) {
weakSelf.msgListModel=[HDLEZDevMsgListModel yy_modelWithDictionary:responseData.data];
- if (weakSelf.msgListModel.list.count!=0) {
- [weakSelf.msgList addObjectsFromArray:weakSelf.msgListModel.list];
- weakSelf.msgListV.msgList=weakSelf.msgList;
+ 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{
+ } else {
[weakSelf.footer endRefreshingWithNoMoreData];
}
-
}else{
[weakSelf.view makeToast:responseData.message
duration:1.5
@@ -117,5 +128,135 @@
}];
}
+#pragma mark MWPhotoBrowserDelegate
+- (NSUInteger)numberOfPhotosInPhotoBrowser:(MWPhotoBrowser *)photoBrowser {
+ return self.photos.count;
+}
+
+- (id <MWPhoto>)photoBrowser:(MWPhotoBrowser *)photoBrowser photoAtIndex:(NSUInteger)index {
+ if (index < self.photos.count) {
+ return [self.photos objectAtIndex:index];
+ }
+ return nil;
+}
+
+- (void)didClickCurrentPhotoBrowserBlank:(MWPhotoBrowser *)photoBrowser {
+ [self.navigationController popToViewController:self animated:NO];
+}
+
+- (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", @"涓嬭浇澶辫触")];
+ return;
+ }
+ NSURL *url = [NSURL URLWithString:self.currentPreviewPhoto];
+ SDWebImageManager *manager = [SDWebImageManager sharedManager];
+ UIImage *img;
+ if ([manager diskImageExistsForURL:url]) {
+ img = [[manager imageCache] imageFromDiskCacheForKey:url.absoluteString];
+ } else {
+ //浠庣綉缁滀笅杞藉浘鐗�
+ NSData *data = [NSData dataWithContentsOfURL:url];
+ img = [UIImage imageWithData:data];
+ }
+ // 淇濆瓨鍥剧墖鍒扮浉鍐屼腑
+ dispatch_async(dispatch_get_main_queue(), ^{
+ UIImageWriteToSavedPhotosAlbum(img,self, @selector(image:didFinishSavingWithError
+ :contextInfo:),nil);
+ });
+ });
+}
+
+//淇濆瓨鍥剧墖瀹屾垚涔嬪悗鐨勫洖璋�
+- (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error
+ contextInfo:(void *)contextInfo {
+ // Was there an error?
+ NSString *message = nil;
+ if (!error) {
+ message = NSLocalizedString(@"device_save_gallery", @"宸蹭繚瀛樿嚦鎵嬫満鐩稿唽");
+ }
+ else
+ {
+ 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
+- (void)previewPictureWithUrl:(NSString *)picUrl {
+ self.currentPreviewPhoto = picUrl;
+ self.photos = [NSMutableArray array];
+ [self.photos addObject:[MWPhoto photoWithURL:[NSURL URLWithString:picUrl]]];
+ MWPhotoBrowser *browser = [[MWPhotoBrowser alloc] initWithDelegate:self];
+ browser.displayActionButton = NO;
+ browser.zoomPhotosToFill = NO;
+ [browser showDownloadBtn];
+
+ [self.navigationController pushViewController:browser animated:NO];
+}
+
@end
--
Gitblit v1.8.0