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 5373fd1..6e4e91b 100644
--- a/Ash_AWord.xcworkspace/xcuserdata/xmfish.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
+++ b/Ash_AWord.xcworkspace/xcuserdata/xmfish.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
@@ -51,38 +51,6 @@
landmarkType = "5">
-
-
-
-
-
-
-
-
@@ -182,7 +150,7 @@
@@ -234,11 +202,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Ash_AWord/ViewControllers/Main/NoteViewController.m"
- timestampString = "451793638.678693"
+ timestampString = "451816790.449978"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
- startingLineNumber = "190"
- endingLineNumber = "190"
+ startingLineNumber = "195"
+ endingLineNumber = "195"
landmarkName = "-numberOfSectionsInTableView:"
landmarkType = "5">
@@ -282,11 +250,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Ash_AWord/ViewControllers/My/SetUpViewController.m"
- timestampString = "451790257.979938"
+ timestampString = "451813331.227353"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
- startingLineNumber = "86"
- endingLineNumber = "86"
+ startingLineNumber = "87"
+ endingLineNumber = "87"
landmarkName = "-tableView:cellForRowAtIndexPath:"
landmarkType = "5">
@@ -298,11 +266,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Ash_AWord/ViewControllers/Main/NoteViewController.m"
- timestampString = "451793638.678693"
+ timestampString = "451816790.449978"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
- startingLineNumber = "164"
- endingLineNumber = "164"
+ startingLineNumber = "169"
+ endingLineNumber = "169"
landmarkName = "-loadData"
landmarkType = "5">
@@ -314,11 +282,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Ash_AWord/ViewControllers/Main/NoteViewController.m"
- timestampString = "451793638.678693"
+ timestampString = "451816790.449978"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
- startingLineNumber = "162"
- endingLineNumber = "162"
+ startingLineNumber = "167"
+ endingLineNumber = "167"
landmarkName = "-loadData"
landmarkType = "5">
@@ -515,22 +483,6 @@
landmarkType = "5">
-
-
-
-
@@ -1097,11 +1049,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Ash_AWord/ViewControllers/Main/MessageViewController.m"
- timestampString = "451657851.990071"
+ timestampString = "451817100.154543"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
- startingLineNumber = "122"
- endingLineNumber = "122"
+ startingLineNumber = "129"
+ endingLineNumber = "129"
landmarkName = "-headerRereshing"
landmarkType = "5">
@@ -1113,11 +1065,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Ash_AWord/ViewControllers/Main/NoteViewController.m"
- timestampString = "451793638.678693"
+ timestampString = "451816790.449978"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
- startingLineNumber = "150"
- endingLineNumber = "150"
+ startingLineNumber = "155"
+ endingLineNumber = "155"
landmarkName = "-headerRereshing"
landmarkType = "5">
@@ -1161,11 +1113,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Ash_AWord/ViewControllers/My/MyNoteViewController.m"
- timestampString = "451710471.277773"
+ timestampString = "451816891.857481"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
- startingLineNumber = "172"
- endingLineNumber = "172"
+ startingLineNumber = "178"
+ endingLineNumber = "178"
landmarkName = "-footerRereshing"
landmarkType = "5">
@@ -1209,11 +1161,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Ash_AWord/Views/Message/MessageTableViewCell.m"
- timestampString = "451711171.409368"
+ timestampString = "451817100.154543"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
- startingLineNumber = "239"
- endingLineNumber = "239"
+ startingLineNumber = "246"
+ endingLineNumber = "246"
landmarkName = "-audioPlayer:stateChanged:"
landmarkType = "5">
@@ -1225,11 +1177,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Ash_AWord/Views/Message/MessageTableViewCell.m"
- timestampString = "451711171.409368"
+ timestampString = "451817100.154543"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
- startingLineNumber = "244"
- endingLineNumber = "244"
+ startingLineNumber = "251"
+ endingLineNumber = "251"
landmarkName = "-audioPlayer:didEncounterError:"
landmarkType = "5">
@@ -1241,11 +1193,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Ash_AWord/Views/Message/MessageTableViewCell.m"
- timestampString = "451711171.409368"
+ timestampString = "451817100.154543"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
- startingLineNumber = "249"
- endingLineNumber = "249"
+ startingLineNumber = "256"
+ endingLineNumber = "256"
landmarkName = "-audioPlayer:didStartPlayingQueueItemId:"
landmarkType = "5">
@@ -1257,11 +1209,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Ash_AWord/Views/Message/MessageTableViewCell.m"
- timestampString = "451711171.409368"
+ timestampString = "451817100.154543"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
- startingLineNumber = "253"
- endingLineNumber = "253"
+ startingLineNumber = "260"
+ endingLineNumber = "260"
landmarkName = "-audioPlayer:didFinishBufferingSourceWithQueueItemId:"
landmarkType = "5">
@@ -1273,11 +1225,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Ash_AWord/Views/Message/MessageTableViewCell.m"
- timestampString = "451711171.409368"
+ timestampString = "451817100.154543"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
- startingLineNumber = "254"
- endingLineNumber = "254"
+ startingLineNumber = "261"
+ endingLineNumber = "261"
landmarkName = "-audioPlayer:didFinishBufferingSourceWithQueueItemId:"
landmarkType = "5">
@@ -1289,11 +1241,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Ash_AWord/Views/Message/MessageTableViewCell.m"
- timestampString = "451711171.409368"
+ timestampString = "451817100.154543"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
- startingLineNumber = "259"
- endingLineNumber = "259"
+ startingLineNumber = "266"
+ endingLineNumber = "266"
landmarkName = "-audioPlayer:didFinishPlayingQueueItemId:withReason:andProgress:andDuration:"
landmarkType = "5">
@@ -1321,11 +1273,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Ash_AWord/ViewControllers/Main/NoteViewController.m"
- timestampString = "451793638.678693"
+ timestampString = "451816790.449978"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
- startingLineNumber = "159"
- endingLineNumber = "159"
+ startingLineNumber = "164"
+ endingLineNumber = "164"
landmarkName = "-loadData"
landmarkType = "5">
@@ -1378,22 +1330,6 @@
landmarkType = "5">
-
-
-
-
-
-
-
-
@@ -1561,11 +1481,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Ash_AWord/ViewControllers/My/MyNoteViewController.m"
- timestampString = "451710471.277773"
+ timestampString = "451816891.857481"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
- startingLineNumber = "87"
- endingLineNumber = "87"
+ startingLineNumber = "93"
+ endingLineNumber = "93"
landmarkName = "-longPressToDo:"
landmarkType = "5">
@@ -1586,5 +1506,85 @@
landmarkType = "5">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Ash_AWord/Utility/Tool/CommonUtil.m b/Ash_AWord/Utility/Tool/CommonUtil.m
index f1c5caf..c25f339 100644
--- a/Ash_AWord/Utility/Tool/CommonUtil.m
+++ b/Ash_AWord/Utility/Tool/CommonUtil.m
@@ -280,14 +280,14 @@
}
+ (BOOL) validateUserName:(NSString *)name
{
- NSString *userNameRegex = @"^[a-zA-z_][a-zA-Z0-9_]{5,29}+$";
+ NSString *userNameRegex = @"^[a-zA-Z0-9_]{6,30}+$";
NSPredicate *userNamePredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",userNameRegex];
BOOL B = [userNamePredicate evaluateWithObject:name];
return B;
}
+ (BOOL) validateNickname:(NSString *)nickname
{
- NSString *nicknameRegex = @"^[\u4e00-\u9fa5]{2,20}$";
+ NSString *nicknameRegex = @"^[\u4e00-\u9fa5a-zA-Z0-9_]{2,30}$";
NSPredicate *passWordPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",nicknameRegex];
return [passWordPredicate evaluateWithObject:nickname];
}
diff --git a/Ash_AWord/ViewControllers/Login/LoginViewController.m b/Ash_AWord/ViewControllers/Login/LoginViewController.m
index 7034325..b25921d 100644
--- a/Ash_AWord/ViewControllers/Login/LoginViewController.m
+++ b/Ash_AWord/ViewControllers/Login/LoginViewController.m
@@ -100,7 +100,7 @@
if ([[response.data objectForKey:@"gender"] integerValue]==0) {
gender = @"女";
}
- NSString* openid = [NSString stringWithFormat:@"%ld",((NSNumber*)[response.data objectForKey:@"uid"]).integerValue];
+ NSString* openid = [NSString stringWithFormat:@"%ld",(long)((NSNumber*)[response.data objectForKey:@"uid"]).integerValue];
[self loginWithOpenId:openid withName:[response.data objectForKey:@"screen_name"] withGender:gender withFigureUrl:[response.data objectForKey:@"profile_image_url"]];
}else{
[MBProgressHUD errorHudWithView:self.view label:kSSoErrorTips hidesAfter:1.0];
diff --git a/Ash_AWord/ViewControllers/Login/OurLoginViewController.m b/Ash_AWord/ViewControllers/Login/OurLoginViewController.m
index 82528cc..2586969 100644
--- a/Ash_AWord/ViewControllers/Login/OurLoginViewController.m
+++ b/Ash_AWord/ViewControllers/Login/OurLoginViewController.m
@@ -7,7 +7,7 @@
//
#import "OurLoginViewController.h"
-
+#import "LoginViewModel.h"
@interface OurLoginViewController ()
@end
@@ -91,5 +91,35 @@
return;
}
+
+ PropertyEntity* pro = [LoginViewModel requireLoginWithUserName:_userAccountTextField.text withPassWord:_passwordTextField.text];
+ [RequireEngine requireWithProperty:pro completionBlock:^(id viewModel) {
+ LoginViewModel* loginViewModel = (LoginViewModel*)viewModel;
+ [MBProgressHUD hideAllHUDsForView:self.view animated:YES];
+
+ if ([loginViewModel success]) {
+
+ [AWordUser sharedInstance].isLogin = YES;
+ [AWordUser sharedInstance].uid = loginViewModel.uId;
+ [AWordUser sharedInstance].userName = loginViewModel.userName;
+ [AWordUser sharedInstance].userAvatar = loginViewModel.figureurl;
+ [AWordUser sharedInstance].userGender = @"";
+ [[NSNotificationCenter defaultCenter] postNotificationName:kLoginSuccessNotificationName object:nil];
+
+ [MBProgressHUD checkHudWithView:nil label:@"登录成功" hidesAfter:1.0];
+ dispatch_after(dispatch_time(DISPATCH_TIME_NOW, NSEC_PER_SEC*1.0), dispatch_get_main_queue(), ^{
+ [self dismissViewControllerAnimated:YES completion:nil];
+ });
+
+
+ }else{
+ [MBProgressHUD errorHudWithView:self.view label:kSSoErrorTips hidesAfter:1.0];
+ }
+
+
+ } failedBlock:^(NSError *error) {
+ [MBProgressHUD errorHudWithView:nil label:kNetworkErrorTips hidesAfter:1.0];
+ }];
+
}
@end
diff --git a/Ash_AWord/ViewControllers/Login/OurLoginViewController.xib b/Ash_AWord/ViewControllers/Login/OurLoginViewController.xib
index 300b6d8..7d94df0 100644
--- a/Ash_AWord/ViewControllers/Login/OurLoginViewController.xib
+++ b/Ash_AWord/ViewControllers/Login/OurLoginViewController.xib
@@ -1,8 +1,8 @@
-
+
-
+
@@ -33,10 +33,10 @@
-
+
-
+
@@ -54,7 +54,7 @@
diff --git a/Ash_AWord/ViewControllers/Login/RegistAccountViewController.m b/Ash_AWord/ViewControllers/Login/RegistAccountViewController.m
index 2075fce..324587b 100644
--- a/Ash_AWord/ViewControllers/Login/RegistAccountViewController.m
+++ b/Ash_AWord/ViewControllers/Login/RegistAccountViewController.m
@@ -105,6 +105,8 @@
}
RegistInfoViewController* registInfoViewController = [[RegistInfoViewController alloc] init];
+ registInfoViewController.userAccount = _userAccountTextField.text;
+ registInfoViewController.passWord = _firstPassWordTextField.text;
[self.navigationController pushViewController:registInfoViewController animated:YES];
}
diff --git a/Ash_AWord/ViewControllers/Login/RegistInfoViewController.h b/Ash_AWord/ViewControllers/Login/RegistInfoViewController.h
index b63bb5b..56ee04f 100644
--- a/Ash_AWord/ViewControllers/Login/RegistInfoViewController.h
+++ b/Ash_AWord/ViewControllers/Login/RegistInfoViewController.h
@@ -13,5 +13,9 @@
- (IBAction)avatarBtnClick:(id)sender;
@property (weak, nonatomic) IBOutlet UIButton *avatarBtn;
@property (weak, nonatomic) IBOutlet UITextField *nickNameTextField;
+- (IBAction)completeRegistBtnClick:(id)sender;
+
+@property (strong, nonatomic)NSString* userAccount;
+@property (strong, nonatomic)NSString* passWord;
@end
diff --git a/Ash_AWord/ViewControllers/Login/RegistInfoViewController.m b/Ash_AWord/ViewControllers/Login/RegistInfoViewController.m
index 7701662..963c718 100644
--- a/Ash_AWord/ViewControllers/Login/RegistInfoViewController.m
+++ b/Ash_AWord/ViewControllers/Login/RegistInfoViewController.m
@@ -7,7 +7,7 @@
//
#import "RegistInfoViewController.h"
-
+#import "LoginViewModel.h"
@interface RegistInfoViewController ()
{
UIImage* _avatarImage;
@@ -28,7 +28,7 @@
_nickNameTextField.delegate = self;
-
+ _avatarImage = [UIImage imageNamed:@"Icon"];
UITapGestureRecognizer *singleRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(singleTap:)];
singleRecognizer.numberOfTapsRequired = 1;
[self.view addGestureRecognizer:singleRecognizer];
@@ -138,4 +138,39 @@
_avatarImageView.image = _avatarImage;
}
+- (IBAction)completeRegistBtnClick:(id)sender {
+ if (![CommonUtil validateNickname:_nickNameTextField.text]) {
+ [MBProgressHUD errorHudWithView:nil label:@"昵称不合法" hidesAfter:1.0];
+ return;
+ }
+
+ PropertyEntity* pro = [LoginViewModel requireRegistWithUserName:_userAccount withNickName:_nickNameTextField.text withPassword:_passWord withGender:@"" withAvatar:_avatarImage];
+ [RequireEngine requireWithProperty:pro completionBlock:^(id viewModel) {
+ LoginViewModel* loginViewModel = (LoginViewModel*)viewModel;
+ [MBProgressHUD hideAllHUDsForView:self.view animated:YES];
+
+ if ([loginViewModel success]) {
+
+ [AWordUser sharedInstance].isLogin = YES;
+ [AWordUser sharedInstance].uid = loginViewModel.uId;
+ [AWordUser sharedInstance].userName = _nickNameTextField.text;
+ [AWordUser sharedInstance].userAvatar = loginViewModel.figureurl;
+ [AWordUser sharedInstance].userGender = @"";
+ [[NSNotificationCenter defaultCenter] postNotificationName:kLoginSuccessNotificationName object:nil];
+
+ [MBProgressHUD checkHudWithView:nil label:@"注册成功" hidesAfter:1.0];
+ dispatch_after(dispatch_time(DISPATCH_TIME_NOW, NSEC_PER_SEC*1.0), dispatch_get_main_queue(), ^{
+ [self dismissViewControllerAnimated:YES completion:nil];
+ });
+
+
+ }else{
+ [MBProgressHUD errorHudWithView:self.view label:kSSoErrorTips hidesAfter:1.0];
+ }
+
+
+ } failedBlock:^(NSError *error) {
+ [MBProgressHUD errorHudWithView:nil label:kNetworkErrorTips hidesAfter:1.0];
+ }];
+}
@end
diff --git a/Ash_AWord/ViewControllers/Login/RegistInfoViewController.xib b/Ash_AWord/ViewControllers/Login/RegistInfoViewController.xib
index 1e5bd99..532a434 100644
--- a/Ash_AWord/ViewControllers/Login/RegistInfoViewController.xib
+++ b/Ash_AWord/ViewControllers/Login/RegistInfoViewController.xib
@@ -1,8 +1,8 @@
-
+
-
+
@@ -32,7 +32,7 @@
-
+
@@ -68,6 +68,9 @@
+
+
+
-
+
-
+
diff --git a/Ash_AWord/ViewControllers/My/FeedbackViewController.m b/Ash_AWord/ViewControllers/My/FeedbackViewController.m
index bc973dc..217820a 100644
--- a/Ash_AWord/ViewControllers/My/FeedbackViewController.m
+++ b/Ash_AWord/ViewControllers/My/FeedbackViewController.m
@@ -7,7 +7,7 @@
//
#import "FeedbackViewController.h"
-
+#import "LoginViewModel.h"
@interface FeedbackViewController ()
@end
@@ -22,7 +22,7 @@
_contentTextView.placeholder = @"感谢您提出宝贵的意见";
_contentTextView.delegate = self;
- self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"确定" style:UIBarButtonItemStyleDone target:self action:@selector(completeBtnClick:)];
+// self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"确定" style:UIBarButtonItemStyleDone target:self action:@selector(completeBtnClick:)];
UITapGestureRecognizer *singleRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(singleTap:)];
singleRecognizer.numberOfTapsRequired = 1;
@@ -60,8 +60,33 @@
*/
- (IBAction)completeBtnClick:(id)sender {
- if(_contentTextView.text.length <= 0){
+ if(_contentTextView.text.length <= 0 || [_contentTextView.text isEqualToString:@""]){
[MBProgressHUD errorHudWithView:nil label:@"请输入内容" hidesAfter:1.0];
+ return;
}
+
+ PropertyEntity* pro = [LoginViewModel requireFeedbackWithContent:_contentTextView.text];
+ [RequireEngine requireWithProperty:pro completionBlock:^(id viewModel) {
+ LoginViewModel* loginViewModel = (LoginViewModel*)viewModel;
+ [MBProgressHUD hideAllHUDsForView:self.view animated:YES];
+
+ if ([loginViewModel success]) {
+ [[NSNotificationCenter defaultCenter] postNotificationName:kLoginSuccessNotificationName object:nil];
+
+ [MBProgressHUD checkHudWithView:nil label:@"举报成功" hidesAfter:1.0];
+ dispatch_after(dispatch_time(DISPATCH_TIME_NOW, NSEC_PER_SEC*1.0), dispatch_get_main_queue(), ^{
+ [self.navigationController popViewControllerAnimated:YES];
+ });
+
+
+ }else{
+ [MBProgressHUD errorHudWithView:self.view label:kSSoErrorTips hidesAfter:1.0];
+ }
+
+ } failedBlock:^(NSError *error) {
+ [MBProgressHUD errorHudWithView:nil label:kNetworkErrorTips hidesAfter:1.0];
+
+ }];
+
}
@end
diff --git a/Ash_AWord/ViewControllers/My/ModifyPassWordViewController.m b/Ash_AWord/ViewControllers/My/ModifyPassWordViewController.m
index 7fabaa1..90fe935 100644
--- a/Ash_AWord/ViewControllers/My/ModifyPassWordViewController.m
+++ b/Ash_AWord/ViewControllers/My/ModifyPassWordViewController.m
@@ -7,7 +7,7 @@
//
#import "ModifyPassWordViewController.h"
-
+#import "LoginViewModel.h"
@interface ModifyPassWordViewController ()
@end
@@ -87,7 +87,7 @@
- (IBAction)completeBtnClick:(id)sender {
if (_oldPassWordTextField.text.length <= 0) {
- [MBProgressHUD errorHudWithView:nil label:@"用户名不合法" hidesAfter:1.0];
+ [MBProgressHUD errorHudWithView:nil label:@"输入密码" hidesAfter:1.0];
return;
}
if (_firstNewPswTextField.text.length<6 && _secondNewPswTextField.text.length<20){
@@ -98,5 +98,29 @@
[MBProgressHUD errorHudWithView:nil label:@"两次密码输入不同" hidesAfter:1.0];
return;
}
+
+ PropertyEntity* pro = [LoginViewModel requireModifyPassWord:_firstNewPswTextField.text withOldPaaaWord:_oldPassWordTextField.text];
+ [RequireEngine requireWithProperty:pro completionBlock:^(id viewModel) {
+ LoginViewModel* loginViewModel = (LoginViewModel*)viewModel;
+ [MBProgressHUD hideAllHUDsForView:self.view animated:YES];
+
+ if ([loginViewModel success]) {
+ [[NSNotificationCenter defaultCenter] postNotificationName:kLoginSuccessNotificationName object:nil];
+
+ [MBProgressHUD checkHudWithView:nil label:@"修改成功" hidesAfter:1.0];
+ dispatch_after(dispatch_time(DISPATCH_TIME_NOW, NSEC_PER_SEC*1.0), dispatch_get_main_queue(), ^{
+ [self.navigationController popViewControllerAnimated:YES];
+ });
+
+
+ }else{
+ [MBProgressHUD errorHudWithView:self.view label:kSSoErrorTips hidesAfter:1.0];
+ }
+
+
+ } failedBlock:^(NSError *error) {
+ [MBProgressHUD errorHudWithView:nil label:kNetworkErrorTips hidesAfter:1.0];
+ }];
+
}
@end
diff --git a/Ash_AWord/ViewControllers/My/ModifyPassWordViewController.xib b/Ash_AWord/ViewControllers/My/ModifyPassWordViewController.xib
index d4be1a9..ffafbd8 100644
--- a/Ash_AWord/ViewControllers/My/ModifyPassWordViewController.xib
+++ b/Ash_AWord/ViewControllers/My/ModifyPassWordViewController.xib
@@ -1,8 +1,8 @@
-
+
-
+
@@ -54,7 +54,7 @@
-
+
diff --git a/Ash_AWord/ViewControllers/My/MyMessageViewController.m b/Ash_AWord/ViewControllers/My/MyMessageViewController.m
index b53f67c..ca07149 100644
--- a/Ash_AWord/ViewControllers/My/MyMessageViewController.m
+++ b/Ash_AWord/ViewControllers/My/MyMessageViewController.m
@@ -50,6 +50,12 @@
UILongPressGestureRecognizer * longPressGr = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longPressToDo:)];
longPressGr.minimumPressDuration = 1.0;
[self.tableView addGestureRecognizer:longPressGr];
+
+ NSMutableArray *menuItems = [NSMutableArray array];
+ UIMenuItem *messageRepItem = [[UIMenuItem alloc] initWithTitle:@"举报" action:@selector(messageRep:)];
+ [menuItems addObject:messageRepItem];
+ UIMenuController *menu = [UIMenuController sharedMenuController];
+ [menu setMenuItems:menuItems];
}
-(void)showDelBtn
{
@@ -115,7 +121,7 @@
Text_Voice* text_Voice = [_text_voiceArr objectAtIndex:_reportIndex];
reportViewController.authorName = text_Voice.ownerName;
reportViewController.msgId = text_Voice.messageId;
- reportViewController.msgType = Msg_Message;
+ reportViewController.msgType = Message_Type;
reportViewController.hidesBottomBarWhenPushed = YES;
[self.navigationController pushViewController:reportViewController animated:YES];
}
@@ -220,7 +226,7 @@
}
-(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
- NSString* cellIdentifier = [NSString stringWithFormat:@"cellIdentifier%ld",indexPath.section];
+ NSString* cellIdentifier = [NSString stringWithFormat:@"cellIdentifier%ld",(long)indexPath.section];
MessageTableViewCell* cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
if (!cell) {
UINib* nib = [UINib nibWithNibName:@"MessageTableViewCell" bundle:nil];
@@ -261,7 +267,11 @@
}
_playIndex = index;
}
-
+#pragma mark NoteCellDelegate
+-(void)reportWithIndex:(NSInteger)index
+{
+ _reportIndex = index;
+}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
diff --git a/Ash_AWord/ViewControllers/My/MyNoteViewController.m b/Ash_AWord/ViewControllers/My/MyNoteViewController.m
index e247a5c..8da728c 100644
--- a/Ash_AWord/ViewControllers/My/MyNoteViewController.m
+++ b/Ash_AWord/ViewControllers/My/MyNoteViewController.m
@@ -10,7 +10,7 @@
#import "NoteViewModel.h"
#import "NoteTableViewCell.h"
#import "ReportViewController.h"
-@interface MyNoteViewController ()
+@interface MyNoteViewController ()
{
NSInteger _page;
NSMutableArray* _text_imageArr;
@@ -50,6 +50,12 @@
longPressGr.minimumPressDuration = 1.0;
[self.tableView addGestureRecognizer:longPressGr];
+ NSMutableArray *menuItems = [NSMutableArray array];
+ UIMenuItem *messageRepItem = [[UIMenuItem alloc] initWithTitle:@"举报" action:@selector(messageRep:)];
+ [menuItems addObject:messageRepItem];
+ UIMenuController *menu = [UIMenuController sharedMenuController];
+ [menu setMenuItems:menuItems];
+
}
-(void)showDelBtn
@@ -112,7 +118,7 @@
Text_Image* text_image = [_text_imageArr objectAtIndex:_reportIndex];
reportViewController.authorName = text_image.ownerName;
reportViewController.msgId = text_image.messageId;
- reportViewController.msgType = Msg_Note;
+ reportViewController.msgType = Note_Type;
reportViewController.hidesBottomBarWhenPushed = YES;
[self.navigationController pushViewController:reportViewController animated:YES];
}
@@ -236,6 +242,8 @@
}
cell.selectionStyle = UITableViewCellSelectionStyleNone;
Text_Image* text_image = [_text_imageArr objectAtIndex:indexPath.section];
+ cell.delegate = self;
+ cell.tag = indexPath.section;
[cell setText_Image:text_image];
if (_isShowDel) {
cell.closeBtn.hidden = NO;
@@ -245,7 +253,10 @@
}
return cell;
}
-
+-(void)reportWithIndex:(NSInteger)index
+{
+ _reportIndex = index;
+}
-(void)msgDel:(UIButton*)button
{
_reportIndex = button.tag;
diff --git a/Ash_AWord/ViewControllers/My/SetUpViewController.m b/Ash_AWord/ViewControllers/My/SetUpViewController.m
index 86084de..07e3e4c 100644
--- a/Ash_AWord/ViewControllers/My/SetUpViewController.m
+++ b/Ash_AWord/ViewControllers/My/SetUpViewController.m
@@ -12,6 +12,7 @@
#import "ModifyPassWordViewController.h"
#import "AppDelegate.h"
#import "FeedbackViewController.h"
+#import "LoginViewModel.h"
@interface SetUpViewController ()
@end
diff --git a/Ash_AWord/ViewControllers/My/SetUserInfoViewController.m b/Ash_AWord/ViewControllers/My/SetUserInfoViewController.m
index 4612b2e..c00ae96 100644
--- a/Ash_AWord/ViewControllers/My/SetUserInfoViewController.m
+++ b/Ash_AWord/ViewControllers/My/SetUserInfoViewController.m
@@ -7,7 +7,7 @@
//
#import "SetUserInfoViewController.h"
-
+#import "LoginViewModel.h"
@interface SetUserInfoViewController ()
{
UIImage* _avatarImage;
@@ -28,6 +28,7 @@
_nickNameTextField.delegate = self;
[_avatarImageView sd_setImageWithURL:[NSURL URLWithString:[AWordUser sharedInstance].userAvatar] placeholderImage:[UIImage imageNamed:@"Icon"]];
+ _nickNameTextField.text = [AWordUser sharedInstance].userName;
_nickNameTextField.placeholder = [AWordUser sharedInstance].userName;
UITapGestureRecognizer *singleRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(singleTap:)];
@@ -129,6 +130,44 @@
-(void)sureModify
{
+ if ( [_nickNameTextField.text isEqualToString:[AWordUser sharedInstance].userName] && !_avatarImage) {
+ [MBProgressHUD errorHudWithView:nil label:@"没有内容修改" hidesAfter:1.0];
+ return;
+ }
+ if ([_nickNameTextField.text isEqualToString:@""]) {
+ [MBProgressHUD errorHudWithView:nil label:@"昵称不能为空" hidesAfter:1.0];
+ return;
+ }
+ NSString* nickName = _nickNameTextField.text;
+ if (nickName.length <= 0 || [_nickNameTextField.text isEqualToString:@""]) {
+ nickName = _nickNameTextField.placeholder;
+ }
+ PropertyEntity* pro = [LoginViewModel requireModifyInfoWithNickName:nickName withGender:@"" withAvatarImg:_avatarImage];
+ [RequireEngine requireWithProperty:pro completionBlock:^(id viewModel) {
+ LoginViewModel* loginViewModel = (LoginViewModel*)viewModel;
+ [MBProgressHUD hideAllHUDsForView:self.view animated:YES];
+
+ if ([loginViewModel success]) {
+ [AWordUser sharedInstance].userName = nickName;
+ [AWordUser sharedInstance].userAvatar = loginViewModel.figureurl;
+ [AWordUser sharedInstance].userGender = @"";
+ [[NSNotificationCenter defaultCenter] postNotificationName:kLoginSuccessNotificationName object:nil];
+
+ [MBProgressHUD checkHudWithView:nil label:@"修改成功" hidesAfter:1.0];
+ dispatch_after(dispatch_time(DISPATCH_TIME_NOW, NSEC_PER_SEC*1.0), dispatch_get_main_queue(), ^{
+ [self.navigationController popViewControllerAnimated:YES];
+ });
+
+
+ }else{
+ [MBProgressHUD errorHudWithView:self.view label:kSSoErrorTips hidesAfter:1.0];
+ }
+
+
+ } failedBlock:^(NSError *error) {
+ [MBProgressHUD errorHudWithView:nil label:kNetworkErrorTips hidesAfter:1.0];
+ }];
+
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
diff --git a/Ash_AWord/ViewModels/LoginViewModel.h b/Ash_AWord/ViewModels/LoginViewModel.h
index ab989d7..89d3828 100644
--- a/Ash_AWord/ViewModels/LoginViewModel.h
+++ b/Ash_AWord/ViewModels/LoginViewModel.h
@@ -8,9 +8,33 @@
#import "BaseViewModel.h"
+typedef enum {
+ Note_Type = 0,
+ Message_Type = 1,
+}Msg_Type;
@interface LoginViewModel : BaseViewModel
@property (nonatomic, strong) NSString* uId; //用户id。
+@property (nonatomic, strong) NSString* figureurl;
+@property (nonatomic, strong) NSString* userName;
+ (PropertyEntity *)requireLoginWithOpenId:(NSString*)openId withName:(NSString*)name withGender:(NSString*)gender withFigureUrl:(NSString*)figureUrl;
+
+//本地注册.
++ (PropertyEntity *)requireRegistWithUserName:(NSString*)userName withNickName:(NSString*)nickName withPassword:(NSString*)password withGender:(NSString*)gender withAvatar:(UIImage*)avatarImg;
+
+//本地登录
++ (PropertyEntity*)requireLoginWithUserName:(NSString*)userName withPassWord:(NSString*)passWord;
+
+//修改密码
++(PropertyEntity*)requireModifyPassWord:(NSString*)newPassword withOldPaaaWord:(NSString*)oldPassWord;
+
+//修改信息
++(PropertyEntity*)requireModifyInfoWithNickName:(NSString*)nickName withGender:(NSString*)gender withAvatarImg:(UIImage*)avatarImg;
+
+//举报
++(PropertyEntity*)requireReportWith:(Msg_Type)type withMsgId:(NSInteger)msgId withContent:(NSString*)content ;
+
++(PropertyEntity*)requireFeedbackWithContent:(NSString*)content;
+
@end
diff --git a/Ash_AWord/ViewModels/LoginViewModel.m b/Ash_AWord/ViewModels/LoginViewModel.m
index 15fa830..273b8a7 100644
--- a/Ash_AWord/ViewModels/LoginViewModel.m
+++ b/Ash_AWord/ViewModels/LoginViewModel.m
@@ -13,6 +13,8 @@
+ (NSDictionary *)JSONKeyPathsByPropertyKey {
NSMutableDictionary* dic = [NSMutableDictionary dictionaryWithDictionary:[super JSONKeyPathsByPropertyKey]];
[dic setObject:@"uid" forKey:@"uId"];
+ [dic setObject:@"figureurl" forKey:@"figureurl"];
+ [dic setObject:@"name" forKey:@"userName"];
return dic;
}
@@ -39,4 +41,99 @@
return pro;
}
++(PropertyEntity*)requireRegistWithUserName:(NSString *)userName withNickName:(NSString *)nickName withPassword:(NSString *)password withGender:(NSString *)gender withAvatar:(UIImage *)avatarImg
+{
+ PropertyEntity *pro = [[PropertyEntity alloc] init];
+ pro.requireType = HTTPRequestTypeWithPOSTDATA;
+ pro.reqURL = @"rs/common/register";
+ pro.responesOBJ = self.class;
+
+ proFile *file = [[proFile alloc] init];
+ file.name = @"img";
+ file.img = [NSArray arrayWithObject:avatarImg];
+ pro.pFile = file;
+
+ pro.pro = @{@"username": userName,
+ @"password": password,
+ @"gender": gender,
+ @"name": nickName
+ };
+
+ return pro;
+}
+
++(PropertyEntity*)requireLoginWithUserName:(NSString *)userName withPassWord:(NSString *)passWord
+{
+ PropertyEntity *pro = [[PropertyEntity alloc] init];
+ pro.requireType = HTTPRequestTypeWithPOST;
+ pro.reqURL = @"rs/common/login_local";
+ pro.responesOBJ = self.class;
+ pro.pro = @{@"username": userName,
+ @"password": passWord,
+ };
+
+ return pro;
+
+}
++(PropertyEntity*)requireModifyPassWord:(NSString *)newPassword withOldPaaaWord:(NSString *)oldPassWord
+{
+ PropertyEntity *pro = [[PropertyEntity alloc] init];
+ pro.requireType = HTTPRequestTypeWithPOST;
+ pro.reqURL = @"rs/common/edit_password";
+ pro.responesOBJ = self.class;
+ pro.pro = @{@"old_password": oldPassWord,
+ @"new_password": newPassword,
+ };
+
+ return pro;
+}
+
++(PropertyEntity*)requireModifyInfoWithNickName:(NSString *)nickName withGender:(NSString *)gender withAvatarImg:(UIImage *)avatarImg
+{
+ PropertyEntity *pro = [[PropertyEntity alloc] init];
+ pro.requireType = HTTPRequestTypeWithPOSTDATA;
+ pro.reqURL = @"rs/common/edit_userinfo";
+ pro.responesOBJ = self.class;
+ proFile *file = [[proFile alloc] init];
+ file.name = @"img";
+ if (avatarImg) {
+ file.img = [NSArray arrayWithObject:avatarImg];
+ }
+ pro.pFile = file;
+
+ pro.pro = @{
+
+ @"gender": gender,
+ @"name": nickName
+ };
+
+ return pro;
+}
++(PropertyEntity*)requireReportWith:(Msg_Type)type withMsgId:(NSInteger)msgId withContent:(NSString *)content
+{
+ PropertyEntity *pro = [[PropertyEntity alloc] init];
+ pro.requireType = HTTPRequestTypeWithPOST;
+ pro.reqURL = @"rs/common/tip_off";
+ pro.responesOBJ = self.class;
+ pro.pro = @{
+
+ @"type": [NSString stringWithFormat:@"%u",type],
+ @"record_id": [NSString stringWithFormat:@"%ld",(long)msgId],
+ @"content": content,
+ };
+
+ return pro;
+}
++(PropertyEntity*)requireFeedbackWithContent:(NSString *)content
+{
+ PropertyEntity *pro = [[PropertyEntity alloc] init];
+ pro.requireType = HTTPRequestTypeWithPOST;
+ pro.reqURL = @"rs/common/feedback";
+ pro.responesOBJ = self.class;
+ pro.pro = @{
+ @"content": content,
+ };
+
+ return pro;
+}
@end
diff --git a/Ash_AWord/Views/Message/MessageTableViewCell.h b/Ash_AWord/Views/Message/MessageTableViewCell.h
index 7dcebb1..065bfaa 100644
--- a/Ash_AWord/Views/Message/MessageTableViewCell.h
+++ b/Ash_AWord/Views/Message/MessageTableViewCell.h
@@ -11,6 +11,7 @@
@protocol MessageTableViewCellDelegate
-(void) playWithIndex:(NSInteger)index;
+-(void) reportWithIndex:(NSInteger)index;
@end
@interface MessageTableViewCell : UITableViewCell
diff --git a/Ash_AWord/Views/Message/MessageTableViewCell.m b/Ash_AWord/Views/Message/MessageTableViewCell.m
index 21e97e8..0f6dee0 100644
--- a/Ash_AWord/Views/Message/MessageTableViewCell.m
+++ b/Ash_AWord/Views/Message/MessageTableViewCell.m
@@ -131,6 +131,13 @@
[self setGoodBtnSelect:text_voice.hasPraised];
}
+-(BOOL)canPerformAction:(SEL)action withSender:(id)sender
+{
+ if ([_delegate respondsToSelector:@selector(reportWithIndex:)]) {
+ [_delegate reportWithIndex:self.tag];
+ }
+ return NO;
+}
-(void)setGoodBtnSelect:(BOOL)isSelect
{
if (isSelect) {
diff --git a/Ash_AWord/Views/Note/NoteTableViewCell.h b/Ash_AWord/Views/Note/NoteTableViewCell.h
index 3c25514..50869b0 100644
--- a/Ash_AWord/Views/Note/NoteTableViewCell.h
+++ b/Ash_AWord/Views/Note/NoteTableViewCell.h
@@ -7,6 +7,10 @@
//
#import
+@protocol NoteTableViewCellDelegate
+-(void) reportWithIndex:(NSInteger)index;
+@end
+
@class Text_Image;
@interface NoteTableViewCell : UITableViewCell
@property (weak, nonatomic) IBOutlet UILabel *timeLabel;
@@ -17,6 +21,7 @@
@property (weak, nonatomic) IBOutlet UIImageView *contentImgView;
@property (weak, nonatomic) IBOutlet UIButton *goodBtn;
@property (weak, nonatomic) IBOutlet UIButton *badBtn;
+@property (weak, nonatomic)iddelegate;
- (IBAction)closeBtnClick:(id)sender;
@property (weak, nonatomic) IBOutlet UIButton *shareBtn;
@property (weak, nonatomic) IBOutlet UIButton *closeBtn;
diff --git a/Ash_AWord/Views/Note/NoteTableViewCell.m b/Ash_AWord/Views/Note/NoteTableViewCell.m
index 2b46181..da91c1a 100644
--- a/Ash_AWord/Views/Note/NoteTableViewCell.m
+++ b/Ash_AWord/Views/Note/NoteTableViewCell.m
@@ -150,6 +150,13 @@
+}
+-(BOOL)canPerformAction:(SEL)action withSender:(id)sender
+{
+ if ([_delegate respondsToSelector:@selector(reportWithIndex:)]) {
+ [_delegate reportWithIndex:self.tag];
+ }
+ return NO;
}
+(CGFloat)heightWith:(Text_Image *)text_image
{