Commit 256868a43c9dfabca8282ec75ee15b33e9df2c01

Authored by phong
1 parent b50303b97d

update page 1 to page 5 file lifelog.ppt

Showing 8 changed files with 106 additions and 4 deletions Side-by-side Diff

LifeLog/LifeLog/AppDelegate.m
... ... @@ -13,6 +13,7 @@
13 13 #import "RankingViewController.h"
14 14 #import "MapViewController.h"
15 15 #import "SNSViewController.h"
  16 +#import "ServerAPI.h"
16 17  
17 18 @interface AppDelegate ()
18 19  
19 20  
... ... @@ -28,14 +29,16 @@
28 29 // Override point for customization after application launch.
29 30 self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
30 31  
31   - if ([[NSUserDefaults standardUserDefaults] objectForKey:@"User_Login"]) {
32   - [self gotoMainMenu];
33   - }
34   - else {
  32 + NSData *data = [[NSUserDefaults standardUserDefaults] objectForKey:kUser];
  33 + User *user = (User *)[NSKeyedUnarchiver unarchiveObjectWithData:data];
  34 + if (user == nil) {
35 35 LoginViewController *loginVC = [[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil];
36 36 UINavigationController *navigation = [[UINavigationController alloc] initWithRootViewController:loginVC];
37 37 self.window.rootViewController = navigation;
38 38 [self.window makeKeyAndVisible];
  39 + }
  40 + else {
  41 + [self gotoMainMenu];
39 42 }
40 43  
41 44 return YES;
LifeLog/LifeLog/HomeViewController.m
... ... @@ -13,6 +13,7 @@
13 13 #import "TodayViewController.h"
14 14 #import "Utilities.h"
15 15 #import <MBProgressHUD/MBProgressHUD.h>
  16 +#import "ServerAPI.h"
16 17  
17 18 static NSInteger numberTotal = 10000;
18 19  
... ... @@ -59,6 +60,34 @@
59 60 self.avatar.layer.borderColor = [[UIColor whiteColor] CGColor];
60 61 self.avatar.layer.cornerRadius = self.avatar.frame.size.width/2.0f;
61 62 self.avatar.layer.masksToBounds = YES;
  63 + NSData *data = [[NSUserDefaults standardUserDefaults] objectForKey:kUser];
  64 + User *user = (User *)[NSKeyedUnarchiver unarchiveObjectWithData:data];
  65 + if (user != nil) {
  66 + NSString *linkImage = [NSString stringWithFormat:@"%@%@", kServerAddress, user.profile_image];
  67 + NSURL *urlImage = [NSURL URLWithString:linkImage];
  68 + NSURLSessionConfiguration *sessionConfig = [NSURLSessionConfiguration defaultSessionConfiguration];
  69 + sessionConfig.timeoutIntervalForRequest = 30.0;
  70 + sessionConfig.timeoutIntervalForResource = 60.0;
  71 + sessionConfig.HTTPMaximumConnectionsPerHost = 20;
  72 + sessionConfig.allowsCellularAccess = YES;
  73 + HomeViewController __weak *weakSelf = self;
  74 + NSURLSession *session = [NSURLSession sessionWithConfiguration:sessionConfig];
  75 + NSURLSessionDataTask *downloadPhotoTask = [session
  76 + dataTaskWithURL:urlImage completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
  77 + if (weakSelf == nil)
  78 + {
  79 + return;
  80 + }
  81 + if (error == nil) {
  82 + UIImage *image = [[UIImage alloc] initWithData:data];
  83 + [[NSOperationQueue mainQueue] addOperationWithBlock:^{
  84 + weakSelf.avatar.image = image;
  85 + }];
  86 + }
  87 + }];
  88 + [downloadPhotoTask resume];
  89 + }
  90 +
62 91 self.lblNotice.text = NSLocalizedString(@"lifelog.home.notice", nil);
63 92  
64 93 _dateCurrent = [NSDate date];
LifeLog/LifeLog/LoginViewController.m
... ... @@ -59,6 +59,11 @@
59 59 [[ServerAPI server] loginWithEmail:_tfEmail.text Password:_tfPassword.text CompletionHandler:^(User *user, NSString *token, NSError *error) {
60 60 if (error == nil) {
61 61 // save user and goto MainMenu
  62 + // For Saving
  63 + NSData *dataSave = [NSKeyedArchiver archivedDataWithRootObject:user];
  64 + [[NSUserDefaults standardUserDefaults] setObject:dataSave forKey:kUser];
  65 + [[NSUserDefaults standardUserDefaults] setObject:token forKey:kToken];
  66 + [[NSUserDefaults standardUserDefaults] synchronize];
62 67 dispatch_async(dispatch_get_main_queue(), ^{
63 68 [[AppDelegate sharedAppDelegate] gotoMainMenu];
64 69 });
LifeLog/LifeLog/RegisterViewController.m
... ... @@ -534,6 +534,11 @@
534 534 return ;
535 535 }
536 536 if (error == nil) {
  537 + // For Saving
  538 + NSData *dataSave = [NSKeyedArchiver archivedDataWithRootObject:user];
  539 + [[NSUserDefaults standardUserDefaults] setObject:dataSave forKey:kUser];
  540 + [[NSUserDefaults standardUserDefaults] setObject:token forKey:kToken];
  541 + [[NSUserDefaults standardUserDefaults] synchronize];
537 542 dispatch_async(dispatch_get_main_queue(), ^{
538 543 [[AppDelegate sharedAppDelegate] gotoMainMenu];
539 544 });
LifeLog/LifeLog/ServerAPI.h
... ... @@ -8,6 +8,9 @@
8 8  
9 9 #import <Foundation/Foundation.h>
10 10 #import "Entities.h"
  11 +extern NSString *const kServerAddress;
  12 +extern NSString *const kUser;
  13 +extern NSString *const kToken;
11 14  
12 15 @interface ServerAPI : NSObject
13 16 + (instancetype) server;
LifeLog/LifeLog/ServerAPI.m
... ... @@ -9,6 +9,8 @@
9 9 #import "ServerAPI.h"
10 10  
11 11 NSString *const kServerAddress = @"http://clover.timesfun.jp:9001/";
  12 +NSString *const kUser = @"KEY_USER";
  13 +NSString *const kToken = @"KEY_TOKEN";
12 14  
13 15 @implementation NSString (NSString_Extended)
14 16 - (NSString *)urlencode {
... ... @@ -86,6 +88,17 @@
86 88 user.height = [[NSString stringWithFormat:@"%@",dictUser[@"height"]] floatValue];
87 89 user.weight = [[NSString stringWithFormat:@"%@",dictUser[@"weight"]] floatValue];
88 90 user.user_description = [NSString stringWithFormat:@"%@",dictUser[@"description"]];
  91 + user.created_at = [NSString stringWithFormat:@"%@",dictUser[@"created_at"]];
  92 + user.physical_activity = [NSString stringWithFormat:@"%@",dictUser[@"physical_activity"]];
  93 + user.profile_image = [NSString stringWithFormat:@"%@",dictUser[@"profile_image"]];
  94 + user.updated_at = [NSString stringWithFormat:@"%@",dictUser[@"updated_at"]];
  95 + user.delete_flag = [[NSString stringWithFormat:@"%@",dictUser[@"delete_flag"]] intValue];
  96 + user.fat_rate = [[NSString stringWithFormat:@"%@",dictUser[@"fat_rate"]] intValue];
  97 + user.profiles_share = [[NSString stringWithFormat:@"%@",dictUser[@"profiles_share"]] intValue];
  98 + user.remember_me = [[NSString stringWithFormat:@"%@",dictUser[@"remember_me"]] intValue];
  99 + user.sound_notifications_share = [[NSString stringWithFormat:@"%@",dictUser[@"sound_notifications_share"]] intValue];
  100 + user.spend_calo_in_day = [[NSString stringWithFormat:@"%@",dictUser[@"spend_calo_in_day"]] intValue];
  101 + user.target = [[NSString stringWithFormat:@"%@",dictUser[@"target"]] intValue];
89 102 completion(user, token, nil);
90 103 }
91 104 else { // status = 0 error
... ... @@ -130,6 +143,17 @@
130 143 user.height = [[NSString stringWithFormat:@"%@",dictUser[@"height"]] floatValue];
131 144 user.weight = [[NSString stringWithFormat:@"%@",dictUser[@"weight"]] floatValue];
132 145 user.user_description = [NSString stringWithFormat:@"%@",dictUser[@"description"]];
  146 + user.created_at = [NSString stringWithFormat:@"%@",dictUser[@"created_at"]];
  147 + user.physical_activity = [NSString stringWithFormat:@"%@",dictUser[@"physical_activity"]];
  148 + user.profile_image = [NSString stringWithFormat:@"%@",dictUser[@"profile_image"]];
  149 + user.updated_at = [NSString stringWithFormat:@"%@",dictUser[@"updated_at"]];
  150 + user.delete_flag = [[NSString stringWithFormat:@"%@",dictUser[@"delete_flag"]] intValue];
  151 + user.fat_rate = [[NSString stringWithFormat:@"%@",dictUser[@"fat_rate"]] intValue];
  152 + user.profiles_share = [[NSString stringWithFormat:@"%@",dictUser[@"profiles_share"]] intValue];
  153 + user.remember_me = [[NSString stringWithFormat:@"%@",dictUser[@"remember_me"]] intValue];
  154 + user.sound_notifications_share = [[NSString stringWithFormat:@"%@",dictUser[@"sound_notifications_share"]] intValue];
  155 + user.spend_calo_in_day = [[NSString stringWithFormat:@"%@",dictUser[@"spend_calo_in_day"]] intValue];
  156 + user.target = [[NSString stringWithFormat:@"%@",dictUser[@"target"]] intValue];
133 157 completion(user, token, nil);
134 158 }
135 159 else { // status = 0 error
LifeLog/LifeLog/User.h
... ... @@ -22,5 +22,16 @@
22 22 @property (nonatomic, strong) NSString *user_description;
23 23 @property (nonatomic, strong) NSString *email;
24 24 @property (nonatomic, strong) NSString *phone;
  25 +@property (nonatomic, strong) NSString *created_at;
  26 +@property (nonatomic, assign) int delete_flag;
  27 +@property (nonatomic, assign) int fat_rate;
  28 +@property (nonatomic, strong) NSString *physical_activity;
  29 +@property (nonatomic, strong) NSString *profile_image;
  30 +@property (nonatomic, assign) int profiles_share;
  31 +@property (nonatomic, assign) int remember_me;
  32 +@property (nonatomic, assign) int sound_notifications_share;
  33 +@property (nonatomic, assign) int spend_calo_in_day;
  34 +@property (nonatomic, assign) int target;
  35 +@property (nonatomic, strong) NSString *updated_at;
25 36 @end
LifeLog/LifeLog/User.m
... ... @@ -28,6 +28,17 @@
28 28 self.user_description = [decoder decodeObjectForKey:@"user_description"];
29 29 self.email = [decoder decodeObjectForKey:@"email"];
30 30 self.phone = [decoder decodeObjectForKey:@"phone"];
  31 + self.created_at = [decoder decodeObjectForKey:@"created_at"];
  32 + self.physical_activity = [decoder decodeObjectForKey:@"physical_activity"];
  33 + self.profile_image = [decoder decodeObjectForKey:@"profile_image"];
  34 + self.updated_at = [decoder decodeObjectForKey:@"updated_at"];
  35 + self.delete_flag = [decoder decodeIntForKey:@"delete_flag"];
  36 + self.fat_rate = [decoder decodeIntForKey:@"fat_rate"];
  37 + self.profiles_share = [decoder decodeIntForKey:@"profiles_share"];
  38 + self.remember_me = [decoder decodeIntForKey:@"remember_me"];
  39 + self.sound_notifications_share = [decoder decodeIntForKey:@"sound_notifications_share"];
  40 + self.spend_calo_in_day = [decoder decodeIntForKey:@"spend_calo_in_day"];
  41 + self.target = [decoder decodeIntForKey:@"target"];
31 42  
32 43 return self;
33 44 }
... ... @@ -46,6 +57,17 @@
46 57 [encoder encodeObject:self.user_description forKey:@"user_description"];
47 58 [encoder encodeObject:self.email forKey:@"email"];
48 59 [encoder encodeObject:self.phone forKey:@"phone"];
  60 + [encoder encodeObject:self.created_at forKey:@"created_at"];
  61 + [encoder encodeObject:self.physical_activity forKey:@"physical_activity"];
  62 + [encoder encodeObject:self.profile_image forKey:@"profile_image"];
  63 + [encoder encodeObject:self.updated_at forKey:@"updated_at"];
  64 + [encoder encodeInt:self.delete_flag forKey:@"delete_flag"];
  65 + [encoder encodeInt:self.fat_rate forKey:@"fat_rate"];
  66 + [encoder encodeInt:self.profiles_share forKey:@"profiles_share"];
  67 + [encoder encodeInt:self.remember_me forKey:@"remember_me"];
  68 + [encoder encodeInt:self.sound_notifications_share forKey:@"sound_notifications_share"];
  69 + [encoder encodeInt:self.spend_calo_in_day forKey:@"spend_calo_in_day"];
  70 + [encoder encodeInt:self.target forKey:@"target"];
49 71 }
50 72 @end