Skip to content

Commit 44644c2

Browse files
committed
完成对接VipLogin的WebService接口
1 parent 55f01b1 commit 44644c2

File tree

2 files changed

+104
-34
lines changed

2 files changed

+104
-34
lines changed

DianXiaoEr-Menu-iOS/ViewControllers/DXEMainViewController.m

Lines changed: 74 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020
#import "DXEDiningRecord.h"
2121
#import "DXERecordDishItem.h"
2222
#import "DXELoginView.h"
23+
#import "AFNetworking.h"
24+
#import "JGProgressHUD.h"
2325

2426
#define DXE_TEST_MEMBER
2527

@@ -35,10 +37,13 @@ typedef NS_ENUM(NSInteger, DXEMainChildViewControllerIndex)
3537
DXEMainChildViewControllerIndexMyself
3638
};
3739

38-
@interface DXEMainViewController () < CRTabBarDelegate >
40+
@interface DXEMainViewController () < CRTabBarDelegate, NSXMLParserDelegate >
3941

4042
@property (nonatomic, strong) DXELoginView *loginView;
4143

44+
@property (nonatomic, strong) NSXMLParser *loginParser;
45+
@property (nonatomic, strong) NSString *memberData;
46+
4247
@end
4348

4449
@implementation DXEMainViewController
@@ -169,7 +174,6 @@ - (BOOL)tabBar:(CRTabBar *)tabBar shouldSelecteItemAtIndex:(NSInteger)index
169174
options:nil] firstObject];
170175
self.loginView.controller = self;
171176
self.loginView.userNamePlaceholder = @"会员卡号/手机号码";
172-
self.loginView.loginFailedMessage.text = @"用户名或密码输入错误,请重新输入!";
173177
[CRModal showModalView:self.loginView
174178
coverOption:CRModalOptionCoverDark
175179
tapOutsideToDismiss:NO
@@ -205,7 +209,7 @@ - (void)moveToChildViewControllerAtIndex:(NSInteger)index
205209
self.selectedViewController = newSelectedViewController;
206210
}
207211

208-
#pragma mark - notification
212+
#pragma mark - Target-Action
209213

210214
- (IBAction)onQRcodeButtonClicked:(id)sender
211215
{
@@ -216,19 +220,44 @@ - (IBAction)onQRcodeButtonClicked:(id)sender
216220

217221
- (void)onLoginButtonClickedInLoginView:(DXELoginView *)loginView
218222
{
219-
DXEMyselfViewController *myself = [self.contentViewControllers objectAtIndex:DXEMainChildViewControllerIndexMyself];
220-
myself.member = [[DXEMember alloc] initWithJSONData:[self testMemberData]];
221-
myself.login = YES;
222-
if (myself.login)
223+
if ([loginView.userName.text isEqualToString:@""]
224+
|| [loginView.password.text isEqualToString:@""])
223225
{
224-
[self.tabBar setItemSelectedAtIndex:DXEMainChildViewControllerIndexMyself];
225-
[self moveToChildViewControllerAtIndex:DXEMainChildViewControllerIndexMyself];
226-
DXEHomePageViewController *homepage = [self.contentViewControllers objectAtIndex:DXEMainChildViewControllerIndexHomepage];
227-
[homepage showAllDishClasses];
226+
self.loginView.loginFailedMessage.hidden = NO;
227+
self.loginView.loginFailedMessage.text = @"会员卡号/手机号码与密码不能为空";
228+
}
229+
else
230+
{
231+
self.loginView.loginFailedMessage.hidden = YES;
232+
233+
JGProgressHUD *hud = [JGProgressHUD progressHUDWithStyle:JGProgressHUDStyleDark];
234+
hud.textLabel.text = @"登录中";
235+
hud.square = YES;
236+
[hud showInView:loginView];
237+
238+
NSURL *baseURL = [NSURL URLWithString:kDXEWebServiceBaseURL];
239+
AFHTTPSessionManager *httpManager = [[AFHTTPSessionManager alloc] initWithBaseURL:baseURL];
240+
httpManager.responseSerializer = [AFXMLParserResponseSerializer serializer];
241+
NSDictionary *parameters = @{
242+
@"name": loginView.userName.text,
243+
@"passwd": loginView.password.text
244+
};
245+
[httpManager POST:@"VipLogin" parameters:parameters success:^(NSURLSessionDataTask *task, id responseObject){
246+
[hud dismiss];
247+
self.loginParser = (NSXMLParser *)responseObject;
248+
self.loginParser.delegate = self;
249+
[self.loginParser parse];
250+
} failure:^(NSURLSessionDataTask *task, NSError *error){
251+
[hud dismiss];
252+
self.loginView.loginFailedMessage.hidden = NO;
253+
self.loginView.loginFailedMessage.text = @"网络连接错误,请检查网络";
254+
NSLog(@"%@", error);
255+
}];
228256
}
229-
[CRModal dismiss];
230257
}
231258

259+
#pragma mark - Notification
260+
232261
- (void)onMoveToHomepage:(NSNotification *)notification
233262
{
234263
[self.tabBar setItemSelectedAtIndex:DXEMainChildViewControllerIndexHomepage];
@@ -259,6 +288,39 @@ - (void)qrCodeDidScan:(NSString *)codeString
259288
NSLog(@"%@", codeString);
260289
}
261290

291+
#pragma mark - NSXMLParserDelegate
292+
293+
- (void)parserDidStartDocument:(NSXMLParser *)parser
294+
{
295+
self.memberData = [NSString string];
296+
}
297+
298+
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
299+
{
300+
self.memberData = [self.memberData stringByAppendingString:string];
301+
}
302+
303+
- (void)parserDidEndDocument:(NSXMLParser *)parser
304+
{
305+
if ([self.memberData isEqualToString:@""])
306+
{
307+
self.loginView.loginFailedMessage.text = @"用户名或密码输入错误,请重新输入!";
308+
self.loginView.loginFailedMessage.hidden = NO;
309+
}
310+
else
311+
{
312+
DXEMyselfViewController *myself = [self.contentViewControllers objectAtIndex:DXEMainChildViewControllerIndexMyself];
313+
myself.member = [[DXEMember alloc] initWithJSONData:[self testMemberData]];
314+
myself.login = YES;
315+
[self.tabBar setItemSelectedAtIndex:DXEMainChildViewControllerIndexMyself];
316+
[self moveToChildViewControllerAtIndex:DXEMainChildViewControllerIndexMyself];
317+
DXEHomePageViewController *homepage = [self.contentViewControllers objectAtIndex:DXEMainChildViewControllerIndexHomepage];
318+
[homepage showAllDishClasses];
319+
320+
[CRModal dismiss];
321+
}
322+
}
323+
262324
#ifdef DXE_TEST_MEMBER
263325

264326
- (NSData *)testMemberData

DianXiaoEr-Menu-iOS/ViewControllers/DXEOpenViewController.m

Lines changed: 30 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -167,29 +167,37 @@ - (IBAction)onChoosingTableButtonClicked:(id)sender
167167

168168
- (void)onLoginButtonClickedInLoginView:(DXELoginView *)loginView
169169
{
170-
self.loginView.loginFailedMessage.hidden = YES;
171-
172-
self.hud = [JGProgressHUD progressHUDWithStyle:JGProgressHUDStyleDark];
173-
self.hud = [JGProgressHUD progressHUDWithStyle:JGProgressHUDStyleDark];
174-
self.hud.textLabel.text = @"登录中";
175-
self.hud.square = YES;
176-
[self.hud showInView:loginView];
177-
178-
NSDictionary *parameters = @{
179-
@"name": loginView.userName.text,
180-
@"passwd": loginView.password.text
181-
};
182-
[self.httpManager POST:@"WaiterLogin" parameters:parameters success:^(NSURLSessionDataTask *task, id responseObject){
183-
[self.hud dismiss];
184-
self.loginParser = (NSXMLParser *)responseObject;
185-
self.loginParser.delegate = self;
186-
[self.loginParser parse];
187-
} failure:^(NSURLSessionDataTask *task, NSError *error){
188-
[self.hud dismiss];
170+
if ([loginView.userName.text isEqualToString:@""]
171+
|| [loginView.password.text isEqualToString:@""])
172+
{
189173
self.loginView.loginFailedMessage.hidden = NO;
190-
self.loginView.loginFailedMessage.text = @"网络连接错误,请检查网络";
191-
NSLog(@"%@", error);
192-
}];
174+
self.loginView.loginFailedMessage.text = @"工号与密码不能为空";
175+
}
176+
else
177+
{
178+
self.loginView.loginFailedMessage.hidden = YES;
179+
180+
self.hud = [JGProgressHUD progressHUDWithStyle:JGProgressHUDStyleDark];
181+
self.hud.textLabel.text = @"登录中";
182+
self.hud.square = YES;
183+
[self.hud showInView:loginView];
184+
185+
NSDictionary *parameters = @{
186+
@"name": loginView.userName.text,
187+
@"passwd": loginView.password.text
188+
};
189+
[self.httpManager POST:@"WaiterLogin" parameters:parameters success:^(NSURLSessionDataTask *task, id responseObject){
190+
[self.hud dismiss];
191+
self.loginParser = (NSXMLParser *)responseObject;
192+
self.loginParser.delegate = self;
193+
[self.loginParser parse];
194+
} failure:^(NSURLSessionDataTask *task, NSError *error){
195+
[self.hud dismiss];
196+
self.loginView.loginFailedMessage.hidden = NO;
197+
self.loginView.loginFailedMessage.text = @"网络连接错误,请检查网络";
198+
NSLog(@"%@", error);
199+
}];
200+
}
193201
}
194202

195203
#pragma mark - Notfication

0 commit comments

Comments
 (0)