// // GroupInfoVC.m // smartRhino // // Created by niuzhen on 2020/7/16. // Copyright © 2020 tederen. All rights reserved. // #import "GroupInfoVC.h" #import "_NoInputAccessoryView.h" #import "GroupEditerVC.h" #import "NoteBookShareVC.h" #import "ShareListVC.h" #import "MyTDGroupViewController.h" @interface GroupInfoVC () @property (weak, nonatomic) IBOutlet UIButton *shareBtn; @property (weak, nonatomic) IBOutlet UIView *NavBarV; @property (nonatomic,strong) WKWebView *webView; @property (nonatomic,strong) NoteBookShareVC *noteBookShareVC; @end @implementation GroupInfoVC +(GroupInfoVC *)initGroupInfoVC{ GroupInfoVC *controller = [StoryboardManager.shared.Source instantiateViewControllerWithIdentifier:@"GroupInfoVC"]; return controller; } - (void)viewDidLoad { [super viewDidLoad]; self.fd_prefersNavigationBarHidden = YES; self.view.backgroundColor = UIColorHex(0xF8F8F8); [self.view addSubview:self.webView]; WS(weakSelf); [self.webView mas_makeConstraints:^(MASConstraintMaker *make) { make.top.mas_equalTo(weakSelf.NavBarV.mas_bottom); make.left.right.mas_equalTo(weakSelf.view); if (@available(iOS 11.0, *)) { make.bottom.equalTo(weakSelf.view.mas_safeAreaLayoutGuideBottom); } else { make.bottom.equalTo(weakSelf.view.mas_bottom); } }]; self.webView.UIDelegate = self; // 导航代理 self.webView.navigationDelegate = self; self.webView.scrollView.delegate = self; // self.automaticallyAdjustsScrollViewInsets = YES; NSURL *pathUrl = [NSURL URLWithString:@"https://apk.tederen.com/mobile/groupintroduce"]; // NSURL *pathUrl = [NSURL URLWithString:HtmlHost(@"/mobile/groupintroduce")]; // NSURL *pathUrl = [NSURL URLWithString:@"http://192.168.0.111:8081/mobile/groupintroduce"]; NSURLRequest *request = [NSURLRequest requestWithURL:pathUrl]; [self.webView loadRequest:request]; [self.shareBtn setAction:^{ [weakSelf shareHander]; }]; [self.view addSubview:self.noteBookShareVC.view]; } #pragma mark - layload - (WKWebView *)webView { if (!_webView) { WKWebViewConfiguration *configuration = [[WKWebViewConfiguration alloc] init]; // 实例化对象 WKUserContentController* userContent = [[WKUserContentController alloc] init]; [userContent addScriptMessageHandler:self name:@"getNotice"]; [userContent addScriptMessageHandler:self name:@"toEditor"]; configuration.userContentController = userContent; WKPreferences *preferences = [WKPreferences new]; preferences.javaScriptCanOpenWindowsAutomatically = YES; preferences.minimumFontSize = 10.0; configuration.preferences = preferences; // 初始化WKWebView _webView = [[WKWebView alloc]initWithFrame:CGRectZero configuration:configuration]; _NoInputAccessoryView *noInputView = [[_NoInputAccessoryView alloc] init]; [noInputView removeInputAccessoryViewFromWKWebView:_webView]; // UI代理 } return _webView; } #pragma mark - WKScriptMessageHandler - (void)userContentController:(nonnull WKUserContentController *)userContentController didReceiveScriptMessage:(nonnull WKScriptMessage *)message { WS(weakSelf); NSLog(@"messageName:%@",message.name); if ([message.name isEqualToString:@"getNotice"]) { NSString *jsonString = [NSString stringWithFormat:@"getInfo('%ld','%@','%d')",(long)self.Id,USERDEFAULTSGET(@"LOGINTOKEN"),self.IsOwner]; NSLog(@"%@",jsonString); [weakSelf.webView evaluateJavaScript:jsonString completionHandler:^(id _Nullable data, NSError * _Nullable error) { NSLog(@"%@",error); }]; } if ([message.name isEqualToString:@"toEditor"]) { GroupEditerVC * vc = [GroupEditerVC initGroupEditerVC]; vc.Id = self.Id; [self.navigationController pushViewController:vc animated:YES]; } } - (void)shareHander{ [self.noteBookShareVC initNoteBookShareData]; self.noteBookShareVC.view.hidden = !self.noteBookShareVC.view.hidden; } - (NoteBookShareVC *)noteBookShareVC{ if (_noteBookShareVC == nil) { _noteBookShareVC = [NoteBookShareVC initNoteBookShareVC]; [_noteBookShareVC.view setHidden:YES]; _noteBookShareVC.delegate = self; } return _noteBookShareVC; } - (void)userSelectType:(NSString *)typeName WithIndexPath:(NSIndexPath *)indexPath { self.noteBookShareVC.view.hidden = !self.noteBookShareVC.view.hidden; if ([typeName isEqualToString:@"发给微信好友"]) { [self returnToWechatSession]; }else if ([typeName isEqualToString:@"发到朋友圈"]){ [self returnToWechatTimeLine]; }else if ([typeName isEqualToString:@"发到微博"]){ [self returnToSina]; }else if ([typeName isEqualToString:@"发给QQ好友"]){ [self returnToQQ]; }else if ([typeName isEqualToString:@"发到消息"]){ [self returnToMessage]; }else if ([typeName isEqualToString:@"发到小组"]){ [self returnToGroup]; }else if ([typeName isEqualToString:@"发到笔记"]){ [self returnToNote]; }else if ([typeName isEqualToString:@"发到话题"]){ [self returnToTopic]; } } - (void)shareWebPageToPlatformType:(UMSocialPlatformType)platformType title:(NSString *)title desc:(NSString *)desc url:(NSString *)url { //创建分享消息对象 UMSocialMessageObject *messageObject = [UMSocialMessageObject messageObject]; messageObject.title = title; //创建网页内容对象 UMShareWebpageObject *shareObject = [UMShareWebpageObject shareObjectWithTitle:title descr:desc thumImage:IMG(@"小组")]; //设置网页地址 shareObject.webpageUrl = url; //分享消息对象设置分享内容对象 messageObject.shareObject = shareObject; //调用分享接口 [[UMSocialManager defaultManager] shareToPlatform:platformType messageObject:messageObject currentViewController:self completion:^(id data, NSError *error) { if (error) { NSLog(@"************Share fail with error %@*********",error); }else{ NSLog(@"response data is %@",data); } }]; } - (void)returnToWechatSession { [self shareWebPageToPlatformType:UMSocialPlatformType_WechatSession title:self.GroupName desc:self.GroupName url:[self returnUrl]]; } - (void)returnToWechatTimeLine { [self shareWebPageToPlatformType:UMSocialPlatformType_WechatTimeLine title:self.GroupName desc:self.GroupName url:[self returnUrl]]; } - (void)returnToSina { [self shareWebPageToPlatformType:UMSocialPlatformType_Sina title:self.GroupName desc:self.GroupName url:[self returnUrl]]; } - (void)returnToQQ { [self shareWebPageToPlatformType:UMSocialPlatformType_QQ title:self.GroupName desc:self.GroupName url:[self returnUrl]]; } - (NSString *)returnUrl { NSString * url = [NSString stringWithFormat:@"%@%ld",ShareHost(@"mobile/topicDetailsWx?"),(long)self.Id]; return url; } #pragma mark - 分享功能 - (void)returnToMessage { ShareListVC * vc = [ShareListVC initShareListVC]; FlowAttachmentsModel * model = [[FlowAttachmentsModel alloc] init]; model.SoureId = self.Id; model.SoureTypeId = CollectModel_Group; model.Title = self.GroupName; model.Author = self.GroupName; vc.sendModel = model; vc.isReturn = YES; [self.navigationController pushViewController:vc animated:YES]; } - (void)returnToGroup { MyTDGroupViewController * vc = [[MyTDGroupViewController alloc] init]; vc.type = CollectModel_Group; FlowAttachmentsModel * model = [[FlowAttachmentsModel alloc] init]; model.SoureId = self.Id; model.SoureTypeId = CollectModel_Group; model.Title = self.GroupName; model.Author = self.GroupName; vc.sendModel = model; vc.isReturn = YES; [self.navigationController pushViewController:vc animated:YES]; } - (void)returnToNote { MyTDTopicCreateVC * vc = [MyTDTopicCreateVC initMyTDTopicCreateVC]; vc.type = CollectModel_NoteBook; FlowAttachmentsModel * model = [[FlowAttachmentsModel alloc] init]; model.SoureId = self.Id; model.SoureTypeId = CollectModel_Group; model.Title = self.GroupName; model.Author = self.GroupName; vc.sendModel = model; vc.isReturn = YES; [self.navigationController pushViewController:vc animated:YES]; } - (void)returnToTopic { MyTDTopicCreateVC * vc = [MyTDTopicCreateVC initMyTDTopicCreateVC]; vc.type = CollectModel_NewTopic; FlowAttachmentsModel * model = [[FlowAttachmentsModel alloc] init]; model.SoureId = self.Id; model.SoureTypeId = CollectModel_Group; model.Title = self.GroupName; model.Author = self.GroupName; vc.sendModel = model; vc.isReturn = YES; [self.navigationController pushViewController:vc animated:YES]; } @end