From 41ad8d446fb3deb22305603b8bb4506291797b15 Mon Sep 17 00:00:00 2001 From: wu736139669 Date: Wed, 17 Jun 2015 14:12:21 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=A3=B0=E9=9F=B3=E7=9A=84?= =?UTF-8?q?=E8=AF=84=E8=AE=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Ash_AWord.xcodeproj/project.pbxproj | 10 + .../xcdebugger/Breakpoints_v2.xcbkptlist | 442 +++++++++++------- Ash_AWord/Config/Common.h | 4 + .../ViewControllers/Main/NoteViewController.m | 2 +- .../Message/MessageCommentViewController.h | 20 + .../Message/MessageCommentViewController.m | 254 ++++++++++ .../Message/MessageCommentViewController.xib | 78 ++++ .../My/PersonalInfoViewController.h | 3 + .../My/PersonalInfoViewController.m | 13 +- .../My/PersonalInfoViewController.xib | 3 + .../Note/NoteCommentViewController.m | 6 +- .../User/PraiseUserListViewController.h | 9 + .../User/PraiseUserListViewController.m | 27 +- .../ViewModels/Common/CommentViewModel.h | 5 +- Ash_AWord/ViewModels/Common/UserViewModel.h | 8 +- Ash_AWord/ViewModels/Common/UserViewModel.m | 57 ++- .../ViewModels/Message/MessageViewModel.h | 2 + .../ViewModels/Message/MessageViewModel.m | 1 + Ash_AWord/Views/Common/CommentTextView.h | 1 + Ash_AWord/Views/Common/CommentTextView.m | 2 +- .../Views/Message/MessageTableViewCell.h | 4 + .../Views/Message/MessageTableViewCell.m | 27 +- .../Views/Message/MessageTableViewCell.xib | 81 +++- Ash_AWord/Views/Note/NoteTableViewCell.m | 9 +- Ash_AWord/Views/User/PersonalTopView.h | 2 + Ash_AWord/Views/User/PersonalTopView.m | 61 ++- Ash_AWord/Views/User/PersonalTopView.xib | 44 +- 27 files changed, 955 insertions(+), 220 deletions(-) create mode 100644 Ash_AWord/ViewControllers/Message/MessageCommentViewController.h create mode 100644 Ash_AWord/ViewControllers/Message/MessageCommentViewController.m create mode 100644 Ash_AWord/ViewControllers/Message/MessageCommentViewController.xib diff --git a/Ash_AWord.xcodeproj/project.pbxproj b/Ash_AWord.xcodeproj/project.pbxproj index 7065801..a545adc 100644 --- a/Ash_AWord.xcodeproj/project.pbxproj +++ b/Ash_AWord.xcodeproj/project.pbxproj @@ -101,6 +101,8 @@ A96F27F51B21C5AC00DA0A66 /* PraiseUserListTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = A96F27F31B21C5AC00DA0A66 /* PraiseUserListTableViewCell.xib */; }; A96F27F91B21C5C800DA0A66 /* PraiseUserListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = A96F27F71B21C5C800DA0A66 /* PraiseUserListViewController.m */; }; A96F27FA1B21C5C800DA0A66 /* PraiseUserListViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = A96F27F81B21C5C800DA0A66 /* PraiseUserListViewController.xib */; }; + A9744EDD1B311DBA0082301D /* MessageCommentViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = A9744EDB1B311DBA0082301D /* MessageCommentViewController.m */; }; + A9744EDE1B311DBA0082301D /* MessageCommentViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = A9744EDC1B311DBA0082301D /* MessageCommentViewController.xib */; }; A9754A1C1ADC080E0018BAAD /* AudioPlayer.m in Sources */ = {isa = PBXBuildFile; fileRef = A9754A0F1ADC080E0018BAAD /* AudioPlayer.m */; }; A9754A1D1ADC080E0018BAAD /* AutoRecoveringHttpDataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = A9754A111ADC080E0018BAAD /* AutoRecoveringHttpDataSource.m */; }; A9754A1E1ADC080E0018BAAD /* CoreFoundationDataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = A9754A131ADC080E0018BAAD /* CoreFoundationDataSource.m */; }; @@ -383,6 +385,9 @@ A96F27F61B21C5C800DA0A66 /* PraiseUserListViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PraiseUserListViewController.h; sourceTree = ""; }; A96F27F71B21C5C800DA0A66 /* PraiseUserListViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PraiseUserListViewController.m; sourceTree = ""; }; A96F27F81B21C5C800DA0A66 /* PraiseUserListViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = PraiseUserListViewController.xib; sourceTree = ""; }; + A9744EDA1B311DBA0082301D /* MessageCommentViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MessageCommentViewController.h; sourceTree = ""; }; + A9744EDB1B311DBA0082301D /* MessageCommentViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MessageCommentViewController.m; sourceTree = ""; }; + A9744EDC1B311DBA0082301D /* MessageCommentViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = MessageCommentViewController.xib; sourceTree = ""; }; A9754A0E1ADC080E0018BAAD /* AudioPlayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AudioPlayer.h; sourceTree = ""; }; A9754A0F1ADC080E0018BAAD /* AudioPlayer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AudioPlayer.m; sourceTree = ""; }; A9754A101ADC080E0018BAAD /* AutoRecoveringHttpDataSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AutoRecoveringHttpDataSource.h; sourceTree = ""; }; @@ -1217,6 +1222,9 @@ A90B9FFD1AD6031E00728393 /* MessagePublishViewController.h */, A90B9FFE1AD6031E00728393 /* MessagePublishViewController.m */, A90B9FFF1AD6031E00728393 /* MessagePublishViewController.xib */, + A9744EDA1B311DBA0082301D /* MessageCommentViewController.h */, + A9744EDB1B311DBA0082301D /* MessageCommentViewController.m */, + A9744EDC1B311DBA0082301D /* MessageCommentViewController.xib */, ); path = Message; sourceTree = ""; @@ -1559,6 +1567,7 @@ A90BA01D1AD606A700728393 /* voice-record-bg@2x.png in Resources */, A90BA0231AD619B500728393 /* voice-record-level-bg@2x.png in Resources */, A93441F61ACA918100A6B233 /* tabbarSetup-dark@2x.png in Resources */, + A9744EDE1B311DBA0082301D /* MessageCommentViewController.xib in Resources */, A97DBE421ACAE4E300705682 /* first-login-icon.png in Resources */, A97C55051AC933AD0038818A /* UMSLoginViewController.xib in Resources */, A97C55081AC933AD0038818A /* UMSocialSDKResourcesNew.bundle in Resources */, @@ -1623,6 +1632,7 @@ A9754A221ADC080E0018BAAD /* LocalFileDataSource.m in Sources */, A97559BF1ACBE6C6004ADA42 /* NotePublishViewModel.m in Sources */, A96862781ACCF13300DDAA6B /* PSTGridLayoutItem.m in Sources */, + A9744EDD1B311DBA0082301D /* MessageCommentViewController.m in Sources */, A97938781B20BB0900180C08 /* CommentViewModel.m in Sources */, A97559B21ACBC683004ADA42 /* NotePublishViewController.m in Sources */, A9754A1F1ADC080E0018BAAD /* DataSource.m in Sources */, diff --git a/Ash_AWord.xcworkspace/xcuserdata/xmfish.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/Ash_AWord.xcworkspace/xcuserdata/xmfish.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist index be2ee33..9b17021 100644 --- a/Ash_AWord.xcworkspace/xcuserdata/xmfish.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +++ b/Ash_AWord.xcworkspace/xcuserdata/xmfish.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -953,11 +953,11 @@ ignoreCount = "0" continueAfterRunningActions = "No" filePath = "Ash_AWord/Views/Message/MessageTableViewCell.m" - timestampString = "455713467.245974" + timestampString = "456214002.949678" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "101" - endingLineNumber = "101" + startingLineNumber = "114" + endingLineNumber = "114" landmarkName = "-tick" landmarkType = "5"> @@ -1033,11 +1033,11 @@ ignoreCount = "0" continueAfterRunningActions = "No" filePath = "Ash_AWord/Views/Message/MessageTableViewCell.m" - timestampString = "455713467.245974" + timestampString = "456214002.949678" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "52" - endingLineNumber = "52" + startingLineNumber = "65" + endingLineNumber = "65" landmarkName = "-playBtnClick:" landmarkType = "5"> @@ -1049,11 +1049,11 @@ ignoreCount = "0" continueAfterRunningActions = "No" filePath = "Ash_AWord/Views/Message/MessageTableViewCell.m" - timestampString = "455713467.245974" + timestampString = "456214002.949678" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "91" - endingLineNumber = "91" + startingLineNumber = "104" + endingLineNumber = "104" landmarkName = "-tick" landmarkType = "5"> @@ -1065,11 +1065,11 @@ ignoreCount = "0" continueAfterRunningActions = "No" filePath = "Ash_AWord/Views/Message/MessageTableViewCell.m" - timestampString = "455713467.245974" + timestampString = "456214264.873794" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "247" - endingLineNumber = "247" + startingLineNumber = "261" + endingLineNumber = "261" landmarkName = "-audioPlayer:stateChanged:" landmarkType = "5"> @@ -1081,11 +1081,11 @@ ignoreCount = "0" continueAfterRunningActions = "No" filePath = "Ash_AWord/Views/Message/MessageTableViewCell.m" - timestampString = "455713467.245974" + timestampString = "456214264.873794" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "252" - endingLineNumber = "252" + startingLineNumber = "266" + endingLineNumber = "266" landmarkName = "-audioPlayer:didEncounterError:" landmarkType = "5"> @@ -1097,11 +1097,11 @@ ignoreCount = "0" continueAfterRunningActions = "No" filePath = "Ash_AWord/Views/Message/MessageTableViewCell.m" - timestampString = "455713467.245974" + timestampString = "456214264.873794" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "257" - endingLineNumber = "257" + startingLineNumber = "271" + endingLineNumber = "271" landmarkName = "-audioPlayer:didStartPlayingQueueItemId:" landmarkType = "5"> @@ -1113,11 +1113,11 @@ ignoreCount = "0" continueAfterRunningActions = "No" filePath = "Ash_AWord/Views/Message/MessageTableViewCell.m" - timestampString = "455713467.245974" + timestampString = "456214264.873794" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "261" - endingLineNumber = "261" + startingLineNumber = "275" + endingLineNumber = "275" landmarkName = "-audioPlayer:didFinishBufferingSourceWithQueueItemId:" landmarkType = "5"> @@ -1129,11 +1129,11 @@ ignoreCount = "0" continueAfterRunningActions = "No" filePath = "Ash_AWord/Views/Message/MessageTableViewCell.m" - timestampString = "455713467.245974" + timestampString = "456214264.873794" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "262" - endingLineNumber = "262" + startingLineNumber = "276" + endingLineNumber = "276" landmarkName = "-audioPlayer:didFinishBufferingSourceWithQueueItemId:" landmarkType = "5"> @@ -1145,11 +1145,11 @@ ignoreCount = "0" continueAfterRunningActions = "No" filePath = "Ash_AWord/Views/Message/MessageTableViewCell.m" - timestampString = "455713467.245974" + timestampString = "456214264.873794" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "267" - endingLineNumber = "267" + startingLineNumber = "281" + endingLineNumber = "281" landmarkName = "-audioPlayer:didFinishPlayingQueueItemId:withReason:andProgress:andDuration:" landmarkType = "5"> @@ -1161,11 +1161,11 @@ ignoreCount = "0" continueAfterRunningActions = "No" filePath = "Ash_AWord/Views/Message/MessageTableViewCell.m" - timestampString = "455713467.245974" + timestampString = "456214002.949678" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "102" - endingLineNumber = "102" + startingLineNumber = "115" + endingLineNumber = "115" landmarkName = "-tick" landmarkType = "5"> @@ -2041,11 +2041,11 @@ ignoreCount = "0" continueAfterRunningActions = "No" filePath = "Ash_AWord/ViewControllers/My/PersonalInfoViewController.m" - timestampString = "456130232.856231" + timestampString = "456156474.252497" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "124" - endingLineNumber = "124" + startingLineNumber = "130" + endingLineNumber = "130" landmarkName = "-loadData" landmarkType = "5"> @@ -2085,32 +2085,16 @@ - - - - @@ -2121,11 +2105,11 @@ ignoreCount = "0" continueAfterRunningActions = "No" filePath = "Ash_AWord/Views/User/PersonalTopView.m" - timestampString = "455781238.68549" + timestampString = "456201133.829127" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "24" - endingLineNumber = "24" + startingLineNumber = "26" + endingLineNumber = "26" landmarkName = "-awakeFromNib" landmarkType = "5"> @@ -2133,32 +2117,16 @@ - - - - @@ -2169,11 +2137,11 @@ ignoreCount = "0" continueAfterRunningActions = "No" filePath = "Ash_AWord/ViewControllers/Note/NoteCommentViewController.m" - timestampString = "456026339.189984" + timestampString = "456214002.949678" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "131" - endingLineNumber = "131" + startingLineNumber = "133" + endingLineNumber = "133" landmarkName = "-loadData" landmarkType = "5"> @@ -2185,11 +2153,11 @@ ignoreCount = "0" continueAfterRunningActions = "No" filePath = "Ash_AWord/ViewControllers/Note/NoteCommentViewController.m" - timestampString = "456026339.990015" + timestampString = "456214002.949678" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "129" - endingLineNumber = "129" + startingLineNumber = "131" + endingLineNumber = "131" landmarkName = "-loadData" landmarkType = "5"> @@ -2233,11 +2201,11 @@ ignoreCount = "0" continueAfterRunningActions = "No" filePath = "Ash_AWord/ViewControllers/Note/NoteCommentViewController.m" - timestampString = "456026340.397798" + timestampString = "456214002.949678" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "128" - endingLineNumber = "128" + startingLineNumber = "130" + endingLineNumber = "130" landmarkName = "-loadData" landmarkType = "5"> @@ -2265,45 +2233,45 @@ ignoreCount = "0" continueAfterRunningActions = "No" filePath = "Ash_AWord/ViewControllers/Note/NoteCommentViewController.m" - timestampString = "456026763.299717" + timestampString = "456214002.949678" + startingColumnNumber = "9223372036854775807" + endingColumnNumber = "9223372036854775807" + startingLineNumber = "108" + endingLineNumber = "108" + landmarkName = "-requirePraiseUser" + landmarkType = "5"> + + + + + + + + - - - - - - - - @@ -2370,38 +2338,6 @@ landmarkType = "5"> - - - - - - - - @@ -2489,11 +2425,11 @@ ignoreCount = "0" continueAfterRunningActions = "No" filePath = "Ash_AWord/ViewControllers/My/PersonalInfoViewController.m" - timestampString = "456130232.856231" + timestampString = "456156474.252497" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "119" - endingLineNumber = "119" + startingLineNumber = "125" + endingLineNumber = "125" landmarkName = "-loadData" landmarkType = "5"> @@ -2517,18 +2453,194 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Ash_AWord/Config/Common.h b/Ash_AWord/Config/Common.h index 05bb32d..239db47 100644 --- a/Ash_AWord/Config/Common.h +++ b/Ash_AWord/Config/Common.h @@ -100,4 +100,8 @@ #define DefaultUserIcon [UIImage imageNamed:@"defaultUserIcon"] #define DefaultPageSize 20 +typedef enum{ + Image_Type = 0, + Voice_Type = 1, +}CommentType; #endif diff --git a/Ash_AWord/ViewControllers/Main/NoteViewController.m b/Ash_AWord/ViewControllers/Main/NoteViewController.m index 9952f7b..7ea9d8c 100644 --- a/Ash_AWord/ViewControllers/Main/NoteViewController.m +++ b/Ash_AWord/ViewControllers/Main/NoteViewController.m @@ -258,7 +258,7 @@ picker.sourceType = UIImagePickerControllerSourceTypeCamera; } if (buttonIndex == 1) { - picker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum; + picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; } if(buttonIndex == 2) diff --git a/Ash_AWord/ViewControllers/Message/MessageCommentViewController.h b/Ash_AWord/ViewControllers/Message/MessageCommentViewController.h new file mode 100644 index 0000000..3063d3f --- /dev/null +++ b/Ash_AWord/ViewControllers/Message/MessageCommentViewController.h @@ -0,0 +1,20 @@ +// +// MessageCommentViewController.h +// Ash_AWord +// +// Created by xmfish on 15/6/17. +// Copyright (c) 2015年 ash. All rights reserved. +// + +#import +#import "BaseRefreshViewController.h" +@class Text_Voice; +@interface MessageCommentViewController : BaseRefreshViewController +@property (weak, nonatomic) IBOutlet UITableView *tableView; +@property (weak, nonatomic) IBOutlet UIButton *commentBtn; +- (IBAction)commentBtnClick:(id)sender; +@property (weak, nonatomic) IBOutlet NSLayoutConstraint *lineHeight; +@property (weak, nonatomic) IBOutlet UIView *lineView; +@property (strong, nonatomic)Text_Voice* text_Voice; + +@end diff --git a/Ash_AWord/ViewControllers/Message/MessageCommentViewController.m b/Ash_AWord/ViewControllers/Message/MessageCommentViewController.m new file mode 100644 index 0000000..f21032b --- /dev/null +++ b/Ash_AWord/ViewControllers/Message/MessageCommentViewController.m @@ -0,0 +1,254 @@ +// +// MessageCommentViewController.m +// Ash_AWord +// +// Created by xmfish on 15/6/17. +// Copyright (c) 2015年 ash. All rights reserved. +// + +#import "MessageCommentViewController.h" +#import "MessageTableViewCell.h" +#import "CommentTextView.h" +#import "CommentGoodListCellTableViewCell.h" +#import "PraiseUserListViewController.h" +#import "MessageViewModel.h" +#import "UserViewModel.h" +#import "CommentViewModel.h" +#import "CommentTableViewCell.h" +@interface MessageCommentViewController () +{ + MessageTableViewCell* _headView; + CommentTextView* _commentTextView; + CommentGoodListCellTableViewCell* _commentGoodListCellTableViewCell; + NSInteger _page; + NSMutableArray* _commentInfoArr; + BOOL _isFirstLoad; + +} +@end + +@implementation MessageCommentViewController + +-(id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil +{ + return [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; +} +- (void)viewDidLoad { + [super viewDidLoad]; + // Do any additional setup after loading the view from its nib. + _page = 1; + _isFirstLoad = YES; + + _commentInfoArr = [[NSMutableArray alloc] init]; + [self customViewDidLoad]; + self.navigationItem.title = @"评论"; + + self.tableView.delegate = self; + self.tableView.dataSource = self; + self.tableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine; + + _headView = [Ash_UIUtil instanceXibView:@"MessageTableViewCell"]; + [_headView setText_Voice:_text_Voice]; + CGFloat height = [MessageTableViewCell heightWith:_text_Voice]; + _headView.frame = CGRectMake(0, 0, kScreenWidth, height); + _headView.isComment = YES; + UIView* tableHeadView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, height+80)]; + [tableHeadView addSubview:_headView]; + + _commentGoodListCellTableViewCell = [Ash_UIUtil instanceXibView:@"CommentGoodListCellTableViewCell"]; + _commentGoodListCellTableViewCell.frame = CGRectMake(0, height, kScreenWidth, 80); + + __weak MessageCommentViewController* weakSelf = self; + [_commentGoodListCellTableViewCell setShowPraiseList:^(void){ + PraiseUserListViewController *praiseUserListViewController = [[PraiseUserListViewController alloc] init]; + praiseUserListViewController.hidesBottomBarWhenPushed = YES; + praiseUserListViewController.recordId = weakSelf.text_Voice.messageId; + praiseUserListViewController.userListType = UserList_Praise_Type; + praiseUserListViewController.commentType = Voice_Type; + [weakSelf.navigationController pushViewController:praiseUserListViewController animated:YES]; + } + ]; + [tableHeadView addSubview:_commentGoodListCellTableViewCell]; + + self.tableView.tableHeaderView = tableHeadView; + + + _lineView.backgroundColor = [UIColor lineColor]; + _lineHeight.constant = 0.5; + + CGFloat top = 0; // 顶端盖高度 + CGFloat bottom = 0 ; // 底端盖高度 + CGFloat left = 50; // 左端盖宽度 + CGFloat right = 30; // 右端盖宽度 + UIEdgeInsets insets = UIEdgeInsetsMake(top, left, bottom, right); + + UIImage *img=[UIImage imageNamed:@"toolbar_light_comment.png"]; + img=[img resizableImageWithCapInsets:insets resizingMode:UIImageResizingModeStretch]; + [_commentBtn setBackgroundImage:img forState:UIControlStateNormal]; + + + _commentTextView = [Ash_UIUtil instanceXibView:@"CommentTextView"]; + _commentTextView.frame = self.view.frame; + _commentTextView.commentType = Voice_Type; + + [_commentTextView setComentComplete:^(){ + [weakSelf headerBeginRefreshing]; + }]; + [self.view addSubview:_commentTextView]; + _commentTextView.recordId = _text_Voice.messageId; + _commentTextView.aothourId = _text_Voice.ownerId; + [_commentTextView setHidden:YES]; + + + [self loadData]; + [self requirePraiseUser]; + +} +-(void)requirePraiseUser +{ + PropertyEntity* pro = [UserViewModel requireLoadPraiseUserWithRecordId:_text_Voice.messageId withPage:1 withPage_size:10 withType:Voice_Type]; + [RequireEngine requireWithProperty:pro completionBlock:^(id viewModel) { + if ([viewModel success]) { + [_commentGoodListCellTableViewCell setUserInfoArr:[(UserViewModel*)viewModel userInfoArr]]; + } + } failedBlock:^(NSError *error) { + + }]; +} + +#pragma mark MJRefreshDelegate +-(void)headerRereshing +{ + _page=1; + [self requirePraiseUser]; + [self loadData]; +} +-(void)footerRereshing +{ + [self loadData]; +} +-(void)loadData +{ + [MobClick event:kUmen_note]; + + PropertyEntity* pro = [CommentViewModel requireLoadCommentWithRecordId:_text_Voice.messageId withPage:_page withPage_size:DefaultPageSize WithType:Voice_Type]; + [RequireEngine requireWithProperty:pro completionBlock:^(id viewModel) { + + if ([viewModel success]) { + CommentViewModel* commentViewModel = (CommentViewModel*)viewModel; + + if (_page <= 1) { + [_commentInfoArr removeAllObjects]; + } + if (commentViewModel.commentInfoArr) { + [_commentInfoArr addObjectsFromArray:commentViewModel.commentInfoArr]; + } + [self footerEndRefreshing]; + [self headerEndRefreshing]; + if (commentViewModel.commentInfoArr.count + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Ash_AWord/ViewControllers/My/PersonalInfoViewController.h b/Ash_AWord/ViewControllers/My/PersonalInfoViewController.h index ba2c03b..681279e 100644 --- a/Ash_AWord/ViewControllers/My/PersonalInfoViewController.h +++ b/Ash_AWord/ViewControllers/My/PersonalInfoViewController.h @@ -11,6 +11,9 @@ @interface PersonalInfoViewController : BaseRefreshViewController @property (weak, nonatomic) IBOutlet UITableView *tableView; @property (weak, nonatomic) IBOutlet UIImageView *topViewImage; +@property (weak, nonatomic) IBOutlet NSLayoutConstraint *tableBottomHeight; +@property (weak, nonatomic) IBOutlet UIButton *chatBtn; +@property (weak, nonatomic) IBOutlet UIView *bottomView; - (IBAction)chatBtnClick:(id)sender; @property (weak, nonatomic) IBOutlet UIView *lineView; @property (weak, nonatomic) IBOutlet NSLayoutConstraint *lineHeight; diff --git a/Ash_AWord/ViewControllers/My/PersonalInfoViewController.m b/Ash_AWord/ViewControllers/My/PersonalInfoViewController.m index 376f7c2..528518b 100644 --- a/Ash_AWord/ViewControllers/My/PersonalInfoViewController.m +++ b/Ash_AWord/ViewControllers/My/PersonalInfoViewController.m @@ -40,11 +40,17 @@ _voicePage = 1; _playIndex = -1; + self.navigationItem.title = @"个人主页"; _imageArr = [[NSMutableArray alloc] init]; _voiceArr = [[NSMutableArray alloc] init]; + NSLog(@"%@",[AWordUser sharedInstance].uid); + if ([_otherUserId isEqualToString:[AWordUser sharedInstance].uid]) { + _bottomView.hidden = YES; + _tableBottomHeight.constant = 0.0; + } self.tableView.hidden = YES; [DejalActivityView activityViewForView:self.view withLabel:kLoadingTips]; @@ -152,11 +158,12 @@ }else{ PropertyEntity* pro ; if (_otherUserId && [_otherUserId isEqualToString:[AWordUser sharedInstance].uid]) { - pro = [MessageViewModel requireOhterWithOrder_by:Order_by_Time withPage:_voicePage withPage_size:DefaultPageSize withOtherId:_otherUserId]; + pro = [MessageViewModel requireMyWithOrder_by:Order_by_Time withPage:_voicePage withPage_size:DefaultPageSize]; + }else{ - pro = [MessageViewModel requireMyWithOrder_by:Order_by_Time withPage:_voicePage withPage_size:DefaultPageSize]; - + pro = [MessageViewModel requireOhterWithOrder_by:Order_by_Time withPage:_voicePage withPage_size:DefaultPageSize withOtherId:_otherUserId]; + } [RequireEngine requireWithProperty:pro completionBlock:^(id viewModel) { diff --git a/Ash_AWord/ViewControllers/My/PersonalInfoViewController.xib b/Ash_AWord/ViewControllers/My/PersonalInfoViewController.xib index ddd462d..ec714f7 100644 --- a/Ash_AWord/ViewControllers/My/PersonalInfoViewController.xib +++ b/Ash_AWord/ViewControllers/My/PersonalInfoViewController.xib @@ -7,8 +7,11 @@ + + + diff --git a/Ash_AWord/ViewControllers/Note/NoteCommentViewController.m b/Ash_AWord/ViewControllers/Note/NoteCommentViewController.m index 1e50b70..b963685 100644 --- a/Ash_AWord/ViewControllers/Note/NoteCommentViewController.m +++ b/Ash_AWord/ViewControllers/Note/NoteCommentViewController.m @@ -58,6 +58,8 @@ PraiseUserListViewController *praiseUserListViewController = [[PraiseUserListViewController alloc] init]; praiseUserListViewController.hidesBottomBarWhenPushed = YES; praiseUserListViewController.recordId = weakSelf.text_image.messageId; + praiseUserListViewController.userListType = UserList_Praise_Type; + praiseUserListViewController.commentType = Image_Type; [weakSelf.navigationController pushViewController:praiseUserListViewController animated:YES]; } ]; @@ -81,7 +83,7 @@ _commentTextView = [Ash_UIUtil instanceXibView:@"CommentTextView"]; _commentTextView.frame = self.view.frame; - + _commentTextView.commentType = Image_Type; [_commentTextView setComentComplete:^(){ _isFirstLoad = YES; [weakSelf headerBeginRefreshing]; @@ -100,7 +102,7 @@ -(void)requirePraiseUser { - PropertyEntity* pro = [UserViewModel requireLoadPraiseUserWithRecordId:_text_image.messageId withPage:1 withPage_size:10]; + PropertyEntity* pro = [UserViewModel requireLoadPraiseUserWithRecordId:_text_image.messageId withPage:1 withPage_size:10 withType:Image_Type]; [RequireEngine requireWithProperty:pro completionBlock:^(id viewModel) { if ([viewModel success]) { [_commentGoodListCellTableViewCell setUserInfoArr:[(UserViewModel*)viewModel userInfoArr]]; diff --git a/Ash_AWord/ViewControllers/User/PraiseUserListViewController.h b/Ash_AWord/ViewControllers/User/PraiseUserListViewController.h index 57c9d80..3e8b48a 100644 --- a/Ash_AWord/ViewControllers/User/PraiseUserListViewController.h +++ b/Ash_AWord/ViewControllers/User/PraiseUserListViewController.h @@ -7,10 +7,19 @@ // #import "BaseRefreshViewController.h" +typedef enum { + UserList_Praise_Type = 1, //点赞列表 + UserList_Attention_Type = 2, //关注列表 + UserList_Fans_Type = 3, //粉丝列表 +}UserList_Type; @interface PraiseUserListViewController : BaseRefreshViewController @property (weak, nonatomic) IBOutlet UITableView *tableView; @property(assign, nonatomic)NSInteger recordId; +@property(strong, nonatomic)NSString* targetId; @property(strong, nonatomic)NSArray* firstPraiseUserArr; + +@property(assign, nonatomic)UserList_Type userListType; +@property(assign, nonatomic)CommentType commentType; @end diff --git a/Ash_AWord/ViewControllers/User/PraiseUserListViewController.m b/Ash_AWord/ViewControllers/User/PraiseUserListViewController.m index d2406f8..8137e12 100644 --- a/Ash_AWord/ViewControllers/User/PraiseUserListViewController.m +++ b/Ash_AWord/ViewControllers/User/PraiseUserListViewController.m @@ -9,7 +9,7 @@ #import "PraiseUserListViewController.h" #import "PraiseUserListTableViewCell.h" #import "UserViewModel.h" - +#import "PersonalInfoViewController.h" @interface PraiseUserListViewController () { NSInteger _page; @@ -22,7 +22,14 @@ - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view from its nib. - self.navigationItem.title = @"最近点赞的用户"; + + self.navigationItem.title = @"最近点赞"; + if (_userListType == UserList_Attention_Type) { + self.navigationItem.title = @"关注"; + }else if(_userListType == UserList_Fans_Type){ + self.navigationItem.title = @"粉丝"; + + } self.tableView.delegate = self; self.tableView.dataSource = self; @@ -60,7 +67,16 @@ -(void)loadData { - PropertyEntity* pro = [UserViewModel requireLoadPraiseUserWithRecordId:_recordId withPage:1 withPage_size:DefaultPageSize]; + PropertyEntity* pro; + if (_userListType == UserList_Praise_Type) { + pro = [UserViewModel requireLoadPraiseUserWithRecordId:_recordId withPage:_page withPage_size:DefaultPageSize withType:_commentType]; + }else if (_userListType == UserList_Attention_Type){ + pro = [UserViewModel requireLoadUserListWithTargetUid:_targetId withType:1 withPage:_page withPage_size:DefaultPageSize]; + }else{ + pro = [UserViewModel requireLoadUserListWithTargetUid:_targetId withType:2 withPage:_page withPage_size:DefaultPageSize]; + + } + [RequireEngine requireWithProperty:pro completionBlock:^(id viewModel) { if ([viewModel success]) { UserViewModel* userViewModel = (UserViewModel*)viewModel; @@ -138,6 +154,11 @@ -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { [tableView deselectRowAtIndexPath:indexPath animated:YES]; + UserInfoViewModel* userInfoViewModel = [_dataArr objectAtIndex:indexPath.row]; + PersonalInfoViewController* personalInfoViewController = [[PersonalInfoViewController alloc] init]; + personalInfoViewController.hidesBottomBarWhenPushed = YES; + personalInfoViewController.otherUserId = userInfoViewModel.uid; + [self.navigationController pushViewController:personalInfoViewController animated:YES]; } /* #pragma mark - Navigation diff --git a/Ash_AWord/ViewModels/Common/CommentViewModel.h b/Ash_AWord/ViewModels/Common/CommentViewModel.h index b23b982..db15783 100644 --- a/Ash_AWord/ViewModels/Common/CommentViewModel.h +++ b/Ash_AWord/ViewModels/Common/CommentViewModel.h @@ -7,10 +7,7 @@ // #import "BaseViewModel.h" -typedef enum{ - Image_Type = 0, - Voice_Type = 1, -}CommentType; + @interface CommentInfoViewModel : BaseViewModel @property (nonatomic, strong) NSString *commentId; @property (nonatomic, strong) NSString *ownerId; diff --git a/Ash_AWord/ViewModels/Common/UserViewModel.h b/Ash_AWord/ViewModels/Common/UserViewModel.h index 841a384..b645808 100644 --- a/Ash_AWord/ViewModels/Common/UserViewModel.h +++ b/Ash_AWord/ViewModels/Common/UserViewModel.h @@ -24,10 +24,14 @@ @end @interface UserViewModel : BaseViewModel -@property (nonatomic, strong) NSArray *userInfoArr;; +@property (nonatomic, strong) NSArray *userInfoArr; +@property (nonatomic, strong) NSArray *friendUserArr; @property (nonatomic, strong)UserInfoViewModel* userInfo; @property (nonatomic, assign)NSInteger relation;//与当前用户关系。0:没有关系,1:已关注此人,2:已被此人关注,3:相互关注(如果是获取自己的个人信息,可以无视该项0.0) -+(PropertyEntity*)requireLoadPraiseUserWithRecordId:(NSInteger)recordId withPage:(NSInteger)page withPage_size:(NSInteger)page_size; ++(PropertyEntity*)requireLoadPraiseUserWithRecordId:(NSInteger)recordId withPage:(NSInteger)page withPage_size:(NSInteger)page_size withType:(CommentType)type; +(PropertyEntity*)requireUserInfoWithTargetUid:(NSString*)targetUid; + ++(PropertyEntity*)requireLoadUserListWithTargetUid:(NSString*)targetUid withType:(NSInteger)isAttention withPage:(NSInteger)page withPage_size:(NSInteger)page_size; // 1是关注列表,2是粉丝列表 ++(PropertyEntity*)requireAttentionWithTargetUid:(NSString*)targetUid withIsAttention:(BOOL)isAttention; @end diff --git a/Ash_AWord/ViewModels/Common/UserViewModel.m b/Ash_AWord/ViewModels/Common/UserViewModel.m index ba581b6..a890bef 100644 --- a/Ash_AWord/ViewModels/Common/UserViewModel.m +++ b/Ash_AWord/ViewModels/Common/UserViewModel.m @@ -19,22 +19,30 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { NSMutableDictionary* dic = [NSMutableDictionary dictionaryWithDictionary:[super JSONKeyPathsByPropertyKey]]; [dic setObject:@"users" forKey:@"userInfoArr"]; + [dic setObject:@"friends" forKey:@"friendUserArr"]; [dic setObject:@"userinfo" forKey:@"userInfo"]; return dic; } - (instancetype)initWithDictionary:(NSDictionary *)dictionaryValue error:(NSError **)error { self = [super initWithDictionary:dictionaryValue error:error]; - if (self == nil) return nil; + if (self != nil){ + if (_friendUserArr && !_userInfoArr) { + _userInfoArr = _friendUserArr; + } + }; return self; } + (NSValueTransformer *)userInfoArrJSONTransformer{ return [NSValueTransformer mtl_JSONArrayTransformerWithModelClass:UserInfoViewModel.class]; } ++ (NSValueTransformer *)friendUserArrJSONTransformer{ + return [NSValueTransformer mtl_JSONArrayTransformerWithModelClass:UserInfoViewModel.class]; +} + (NSValueTransformer *)userInfoJSONTransformer{ return [NSValueTransformer mtl_JSONDictionaryTransformerWithModelClass:UserInfoViewModel.class]; } -+(PropertyEntity*)requireLoadPraiseUserWithRecordId:(NSInteger)recordId withPage:(NSInteger)page withPage_size:(NSInteger)page_size ++(PropertyEntity*)requireLoadPraiseUserWithRecordId:(NSInteger)recordId withPage:(NSInteger)page withPage_size:(NSInteger)page_size withType:(CommentType)type { PropertyEntity *pro = [[PropertyEntity alloc] init]; pro.requireType = HTTPRequestTypeWithPOSTDATA; @@ -45,8 +53,13 @@ @"page": [NSString stringWithFormat:@"%ld",page], @"pageSize": [NSString stringWithFormat:@"%ld",page_size], }; + + NSString* command = @"20008"; + if (type == Voice_Type) { + command = @"30008"; + } pro.pro = @{@"root": dic, - @"command": @"20008", + @"command": command, }; return pro; } @@ -64,4 +77,42 @@ }; return pro; } + ++(PropertyEntity*)requireAttentionWithTargetUid:(NSString *)targetUid withIsAttention:(BOOL)isAttention +{ + PropertyEntity *pro = [[PropertyEntity alloc] init]; + pro.requireType = HTTPRequestTypeWithPOSTDATA; + pro.responesOBJ = self.class; + + NSString* command = @"10101"; + if (!isAttention) { + command = @"10102"; + } + NSDictionary* dic = @{@"targetUid": targetUid, + }; + pro.pro = @{@"root": dic, + @"command": command, + }; + return pro; +} ++(PropertyEntity*)requireLoadUserListWithTargetUid:(NSString *)targetUid withType:(NSInteger)isAttention withPage:(NSInteger)page withPage_size:(NSInteger)page_size +{ + PropertyEntity *pro = [[PropertyEntity alloc] init]; + pro.requireType = HTTPRequestTypeWithPOSTDATA; + pro.responesOBJ = self.class; + + + NSDictionary* dic = @{@"targetUid": targetUid, + @"page": [NSString stringWithFormat:@"%ld",page], + @"pageSize": [NSString stringWithFormat:@"%ld",page_size], + }; + NSString* command = @"10103"; + if (isAttention == 2) { + command = @"10104"; + } + pro.pro = @{@"root": dic, + @"command": command, + }; + return pro; +} @end \ No newline at end of file diff --git a/Ash_AWord/ViewModels/Message/MessageViewModel.h b/Ash_AWord/ViewModels/Message/MessageViewModel.h index 9010767..b88637a 100644 --- a/Ash_AWord/ViewModels/Message/MessageViewModel.h +++ b/Ash_AWord/ViewModels/Message/MessageViewModel.h @@ -22,6 +22,8 @@ @property (nonatomic, assign)NSInteger shareCount; @property (nonatomic, assign)NSInteger praiseCount; @property (nonatomic, assign)NSInteger messageId; +@property (nonatomic, assign)NSInteger commentCount; + @end @interface MessageViewModel : BaseViewModel diff --git a/Ash_AWord/ViewModels/Message/MessageViewModel.m b/Ash_AWord/ViewModels/Message/MessageViewModel.m index c14f523..613f905 100644 --- a/Ash_AWord/ViewModels/Message/MessageViewModel.m +++ b/Ash_AWord/ViewModels/Message/MessageViewModel.m @@ -22,6 +22,7 @@ @"ownerName" : @"ownerName", @"shareCount": @"shareCount", @"hasShared": @"hasShared", + @"commentCount": @"commentCount", }; } + (NSValueTransformer *)voiceUrlJSONTransformer { diff --git a/Ash_AWord/Views/Common/CommentTextView.h b/Ash_AWord/Views/Common/CommentTextView.h index bfd5f63..2215002 100644 --- a/Ash_AWord/Views/Common/CommentTextView.h +++ b/Ash_AWord/Views/Common/CommentTextView.h @@ -15,6 +15,7 @@ typedef void (^CommentComplete)(void); @property (nonatomic, assign) NSInteger recordId; @property (nonatomic, strong) NSString* aothourId; @property (nonatomic, strong) CommentComplete comentComplete; +@property (nonatomic, assign)CommentType commentType; @property (weak, nonatomic) IBOutlet UITextView *contentTextView; @property (weak, nonatomic) IBOutlet UILabel *tipLabel; - (IBAction)cancelBtnClick:(id)sender; diff --git a/Ash_AWord/Views/Common/CommentTextView.m b/Ash_AWord/Views/Common/CommentTextView.m index 8128345..3f723ea 100644 --- a/Ash_AWord/Views/Common/CommentTextView.m +++ b/Ash_AWord/Views/Common/CommentTextView.m @@ -120,7 +120,7 @@ if (!commentId) { commentId = _aothourId; } - PropertyEntity* pro = [CommentViewModel requireAddCommentWithReconrdId:_recordId withContent:_contentTextView.text WithType:Image_Type withToUid:commentId]; + PropertyEntity* pro = [CommentViewModel requireAddCommentWithReconrdId:_recordId withContent:_contentTextView.text WithType:_commentType withToUid:commentId]; [RequireEngine requireWithProperty:pro completionBlock:^(id viewModel) { [MBProgressHUD hideAllHUDsForView:nil animated:YES]; diff --git a/Ash_AWord/Views/Message/MessageTableViewCell.h b/Ash_AWord/Views/Message/MessageTableViewCell.h index 065bfaa..24e50e1 100644 --- a/Ash_AWord/Views/Message/MessageTableViewCell.h +++ b/Ash_AWord/Views/Message/MessageTableViewCell.h @@ -20,7 +20,9 @@ @property (weak, nonatomic) IBOutlet UITextView *content; @property (weak, nonatomic) IBOutlet UILabel *timeLabel; @property (weak, nonatomic) IBOutlet UIProgressView *timeProgressView; +- (IBAction)commitBtnClick:(id)sender; - (IBAction)avatarBtnClick:(id)sender; +@property (weak, nonatomic) IBOutlet UIButton *commitBtn; @property (weak, nonatomic) IBOutlet UILabel *nowTimeLabel; @property (weak, nonatomic) IBOutlet UIButton *playBtn; @property (weak, nonatomic) IBOutlet UIButton *goodBtn; @@ -32,6 +34,8 @@ @property (weak, nonatomic) IBOutlet UIButton *closeBtn; @property (weak, nonatomic) IBOutlet NSLayoutConstraint *contentHeight; @property (weak, nonatomic) IBOutlet UILabel *totalTimeLabel; +@property (nonatomic, assign)BOOL isComment; + - (IBAction)playBtnClick:(id)sender; -(void)stopPlay; diff --git a/Ash_AWord/Views/Message/MessageTableViewCell.m b/Ash_AWord/Views/Message/MessageTableViewCell.m index e2cc6fb..fa0db15 100644 --- a/Ash_AWord/Views/Message/MessageTableViewCell.m +++ b/Ash_AWord/Views/Message/MessageTableViewCell.m @@ -13,6 +13,8 @@ #import "AppDelegate.h" #import "MyMessageViewController.h" #import "PersonalInfoViewController.h" +#import "MessageCommentViewController.h" + @interface MessageTableViewCell() @end @implementation MessageTableViewCell @@ -37,6 +39,9 @@ _shareBtn.layer.masksToBounds = YES; _goodBtn.backgroundColor = [UIColor lineColor]; _shareBtn.backgroundColor = [UIColor lineColor]; + _commitBtn.layer.cornerRadius = 3; + _commitBtn.layer.masksToBounds = YES; + _commitBtn.backgroundColor = [UIColor lineColor]; _audioPlayer = [[AudioPlayer alloc] init]; _audioPlayer.delegate = self; @@ -47,7 +52,15 @@ // Configure the view for the selected state } - +-(void)setIsComment:(BOOL)isComment +{ + if (isComment) { + _commitBtn.hidden = YES; + }else + { + _commitBtn.hidden = NO; + } +} - (IBAction)playBtnClick:(id)sender { if (_playBtn.selected == NO) { _playBtn.selected = YES; @@ -127,7 +140,8 @@ [_goodBtn setTitle:[NSString stringWithFormat:@"%ld",(long)text_voice.praiseCount] forState:UIControlStateNormal]; [_goodBtn setTitle:[NSString stringWithFormat:@"%ld",(long)text_voice.praiseCount] forState:UIControlStateSelected]; [_shareBtn setTitle:[NSString stringWithFormat:@"%ld",(long)text_voice.shareCount] forState:UIControlStateNormal]; - + [_commitBtn setTitle:[NSString stringWithFormat:@"%ld",(long)text_voice.commentCount] forState:UIControlStateNormal]; + _closeBtn.hidden = YES; [self setGoodBtnSelect:text_voice.hasPraised]; @@ -267,8 +281,15 @@ [self updateControls]; } +- (IBAction)commitBtnClick:(id)sender { + MessageCommentViewController* messageCommentViewController = [[MessageCommentViewController alloc] init]; + messageCommentViewController.hidesBottomBarWhenPushed = YES; + messageCommentViewController.text_Voice = _text_voice; + [[AppDelegate visibleViewController].navigationController pushViewController:messageCommentViewController animated:YES]; +} + - (IBAction)avatarBtnClick:(id)sender { - if (![_text_voice.ownerId isEqualToString:[AWordUser sharedInstance].uid] ) { PersonalInfoViewController* personalInfoViewController = [[PersonalInfoViewController alloc] init]; + if (![_text_voice.ownerId isEqualToString:[AWordUser sharedInstance].uid] ) { PersonalInfoViewController* personalInfoViewController = [[PersonalInfoViewController alloc] initWithNibName:@"NoteCommentViewController" bundle:nil]; personalInfoViewController.hidesBottomBarWhenPushed = YES; personalInfoViewController.otherUserId = _text_voice.ownerId; [[AppDelegate visibleViewController].navigationController pushViewController:personalInfoViewController animated:YES]; diff --git a/Ash_AWord/Views/Message/MessageTableViewCell.xib b/Ash_AWord/Views/Message/MessageTableViewCell.xib index f12b394..03590cc 100644 --- a/Ash_AWord/Views/Message/MessageTableViewCell.xib +++ b/Ash_AWord/Views/Message/MessageTableViewCell.xib @@ -8,33 +8,39 @@ - - + + - + - - + + - + + @@ -234,14 +272,17 @@ - + + + + diff --git a/Ash_AWord/Views/Note/NoteTableViewCell.m b/Ash_AWord/Views/Note/NoteTableViewCell.m index f66833d..158a4a1 100644 --- a/Ash_AWord/Views/Note/NoteTableViewCell.m +++ b/Ash_AWord/Views/Note/NoteTableViewCell.m @@ -202,11 +202,10 @@ - (IBAction)avatarBtnClick:(id)sender { - if (![_text_image.ownerId isEqualToString:[AWordUser sharedInstance].uid] ) { PersonalInfoViewController* personalInfoViewController = [[PersonalInfoViewController alloc] init]; - personalInfoViewController.hidesBottomBarWhenPushed = YES; - personalInfoViewController.otherUserId = _text_image.ownerId; - [[AppDelegate visibleViewController].navigationController pushViewController:personalInfoViewController animated:YES]; - } + PersonalInfoViewController* personalInfoViewController = [[PersonalInfoViewController alloc] init]; + personalInfoViewController.hidesBottomBarWhenPushed = YES; + personalInfoViewController.otherUserId = _text_image.ownerId; + [[AppDelegate visibleViewController].navigationController pushViewController:personalInfoViewController animated:YES]; } - (IBAction)imageBtnClick:(id)sender { diff --git a/Ash_AWord/Views/User/PersonalTopView.h b/Ash_AWord/Views/User/PersonalTopView.h index 5460b71..f107557 100644 --- a/Ash_AWord/Views/User/PersonalTopView.h +++ b/Ash_AWord/Views/User/PersonalTopView.h @@ -15,6 +15,8 @@ typedef void (^IsSelectImage)(BOOL); @property (weak, nonatomic) IBOutlet UILabel *nameLabel; @property (weak, nonatomic) IBOutlet UIButton *avatarBtn; - (IBAction)avatarBtnClick:(id)sender; +- (IBAction)attentionListClick:(id)sender; +- (IBAction)fansListClick:(id)sender; @property (weak, nonatomic) IBOutlet UILabel *signatureLabel; - (IBAction)voiceBtnClick:(id)sender; @property (weak, nonatomic) IBOutlet UIButton *voiceBtn; diff --git a/Ash_AWord/Views/User/PersonalTopView.m b/Ash_AWord/Views/User/PersonalTopView.m index c8c4923..746f418 100644 --- a/Ash_AWord/Views/User/PersonalTopView.m +++ b/Ash_AWord/Views/User/PersonalTopView.m @@ -8,9 +8,13 @@ #import "PersonalTopView.h" #import "UserViewModel.h" +#import "PraiseUserListViewController.h" +#import "AppDelegate.h" @implementation PersonalTopView { BOOL _isSelectImage; + UserViewModel* _userViewModel; + BOOL _isAttention; } /* // Only override drawRect: if you perform custom drawing. @@ -22,6 +26,7 @@ -(void)awakeFromNib { _isSelectImage = YES; + _isAttention = NO; _line1.backgroundColor = [UIColor lineColor]; _line2.backgroundColor = [UIColor lineColor]; @@ -38,12 +43,14 @@ [_attentionBtn setTitleColor:[UIColor appMainColor] forState:UIControlStateNormal]; _attentionBtn.layer.masksToBounds = YES; + _attentionBtn.titleLabel.adjustsFontSizeToFitWidth = YES; _attentionBtn.layer.cornerRadius = 2.0; } -(void)setuserInfoViewModel:(UserViewModel *)userViewModel { + _userViewModel = userViewModel; _nameLabel.text = userViewModel.userInfo.name; _attentionCountLabel.text = [NSString stringWithFormat:@"%ld",userViewModel.userInfo.followCount]; _fansCountLabel.text = [NSString stringWithFormat:@"%ld",userViewModel.userInfo.followerCount]; @@ -52,12 +59,43 @@ }else{ _signatureLabel.text = @"该用户暂时没有填写签名~"; } - + if ([userViewModel.userInfo.uid isEqualToString:[AWordUser sharedInstance].uid] ) { + _attentionBtn.hidden = YES; + }else{ + _attentionBtn.hidden = NO; + } + if (userViewModel.relation == 0 || userViewModel.relation == 2) { + [_attentionBtn setTitle:@"关注" forState:UIControlStateNormal]; + _isAttention = NO; + }else{ + [_attentionBtn setTitle:@"取消关注" forState:UIControlStateNormal]; + [_attentionBtn setTitleColor:[UIColor lightGrayColor] forState:UIControlStateNormal]; + _isAttention = YES; + + } [_avatarBtn sd_setImageWithURL:[NSURL URLWithString:userViewModel.userInfo.figureurl] forState:UIControlStateNormal placeholderImage:DefaultUserIcon]; } - (IBAction)avatarBtnClick:(id)sender { } + +- (IBAction)attentionListClick:(id)sender { + PraiseUserListViewController* praiseUserListViewController = [[PraiseUserListViewController alloc] init]; + praiseUserListViewController.targetId = _userViewModel.userInfo.uid; + praiseUserListViewController.userListType = UserList_Attention_Type; + praiseUserListViewController.hidesBottomBarWhenPushed = YES; + [[AppDelegate visibleViewController].navigationController pushViewController:praiseUserListViewController animated:YES]; + +} + +- (IBAction)fansListClick:(id)sender { + PraiseUserListViewController* praiseUserListViewController = [[PraiseUserListViewController alloc] init]; + praiseUserListViewController.targetId = _userViewModel.userInfo.uid; + praiseUserListViewController.userListType = UserList_Fans_Type; + praiseUserListViewController.hidesBottomBarWhenPushed = YES; + [[AppDelegate visibleViewController].navigationController pushViewController:praiseUserListViewController animated:YES]; + +} - (IBAction)voiceBtnClick:(id)sender { if (_isSelectImage == NO) { return; @@ -93,6 +131,27 @@ } } - (IBAction)attentionBtnClick:(id)sender { + PropertyEntity* pro; + pro = [UserViewModel requireAttentionWithTargetUid:_userViewModel.userInfo.uid withIsAttention:!_isAttention]; + [RequireEngine requireWithProperty:pro completionBlock:^(id viewModel) { + if ([viewModel success]) { + if (!_isAttention) { + [_attentionBtn setTitle:@"取消关注" forState:UIControlStateNormal]; +// [_attentionBtn setBackgroundColor:[UIColor lightGrayColor]]; + [_attentionBtn setTitleColor:[UIColor lightGrayColor] forState:UIControlStateNormal]; + + }else{ + [_attentionBtn setTitle:@"关注" forState:UIControlStateNormal]; + [_attentionBtn setTitleColor:[UIColor appMainColor] forState:UIControlStateNormal]; + + } + _isAttention = !_isAttention; + }else{ + [MBProgressHUD errorHudWithView:nil label:[viewModel errMessage] hidesAfter:1.0]; + } + } failedBlock:^(NSError *error) { + [MBProgressHUD errorHudWithView:nil label:kNetworkErrorTips hidesAfter:1.0]; + }]; } @end diff --git a/Ash_AWord/Views/User/PersonalTopView.xib b/Ash_AWord/Views/User/PersonalTopView.xib index 3b18c27..d794143 100644 --- a/Ash_AWord/Views/User/PersonalTopView.xib +++ b/Ash_AWord/Views/User/PersonalTopView.xib @@ -81,16 +81,16 @@ -