Commit 3c805063b5b987fbb80f35b76673c9d33c2ab091

Authored by phong
1 parent 26548f2f08
Exists in master

update api notice

Showing 5 changed files with 97 additions and 19 deletions Side-by-side Diff

LifeLog/LifeLog/HomeViewConb troller.m
... ... @@ -117,8 +117,45 @@
117 117 progressHud.detailsLabel.text = NSLocalizedString(@"lifelog.home.progressHud.title", nil);
118 118 // [self saveDataStep7LastDay];
119 119 targetStep = numberTotal;
  120 + [self requestNotice];
120 121 }
121 122  
  123 +- (void)requestNotice
  124 +{
  125 + NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
  126 + [dateFormatter setDateFormat:@"yyyy-MM-dd"];
  127 + NSString *dateString = [dateFormatter stringFromDate:_dateCurrent];
  128 + HomeViewController __weak *weakSelf = self;
  129 + dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
  130 + //Do background work
  131 + [[ServerAPI server] getNoticeByDate:dateString CompletionHandler:^(NSArray *arrResults, NSError *error) {
  132 + if(weakSelf == nil) {
  133 + return ;
  134 + }
  135 + if (error == nil) {
  136 + // NSLog(@"List Notices: %@", arrResults);
  137 + dispatch_async(dispatch_get_main_queue(), ^{
  138 + NSString *stringNotice = @"";
  139 + for (NSString *noticeInfor in arrResults) {
  140 + NSString *noticeString = [NSString stringWithFormat:@"%@\n", noticeInfor];
  141 + stringNotice = [stringNotice stringByAppendingString:noticeString];
  142 + }
  143 + weakSelf.tvNotice.text = stringNotice;
  144 + });
  145 + }
  146 + else {
  147 + dispatch_async(dispatch_get_main_queue(), ^{
  148 + weakSelf.tvNotice.text = @"";
  149 + /*
  150 + NSString *message = [error.userInfo objectForKey:@"message"];
  151 + [Utilities showErrorMessage:message withViewController:weakSelf];
  152 + */
  153 + });
  154 + }
  155 + }];
  156 + });
  157 +}
  158 +
122 159 - (void)viewWillAppear:(BOOL)animated {
123 160 [super viewWillAppear:animated];
124 161 NSDate *dateNow = [NSDate date];
... ... @@ -169,6 +206,7 @@
169 206 [progressHud setHidden:YES];
170 207 });
171 208 }];
  209 + /*
172 210 [[ServerAPI server] requestHomeWithMode:mode andDate:dateString CompletionHandler:^(HomeObject *homeObject, NSError *error) {
173 211 if(weakSelf == nil) {
174 212 return ;
... ... @@ -192,6 +230,7 @@
192 230 [progressHud setHidden:YES];
193 231 });
194 232 }];
  233 + */
195 234 }
196 235  
197 236 - (void)viewWillDisappear:(BOOL)animated {
... ... @@ -222,6 +261,7 @@
222 261 self.lblDateCurrent.text = [NSString stringWithFormat:@"%ld%@%ld%@%ld%@", (long)[_dateCurrent getYear], NSLocalizedString(@"lifelog.common.year", nil), (long)[_dateCurrent getMonth], NSLocalizedString(@"lifelog.common.month", nil), (long)[_dateCurrent getDay], NSLocalizedString(@"lifelog.common.day", nil)];
223 262 [self resetStepUI];
224 263 [self saveStepForDay:self.dateCurrent];
  264 + [self requestNotice];
225 265 }
226 266  
227 267 - (IBAction)rightButtonTouchUpInside:(id)sender
... ... @@ -231,6 +271,7 @@
231 271 [self resetStepUI];
232 272 //[self saveStepForDay:self.dateCurrent];
233 273 [self requestTopByDate:self.dateCurrent];
  274 + [self requestNotice];
234 275 }
235 276  
236 277 - (IBAction)segmentValueChange:(id)sender {
... ... @@ -346,7 +387,7 @@
346 387 [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
347 388 NSString *dateBegin = [dateFormatter stringFromDate:activityExtra.activity.startDate];
348 389 NSString *dateEnd = [dateFormatter stringFromDate:activityExtra.endDate];
349   - NSLog(@"dateBegin: %@ | dateEnd: %@ | numberStep: %li", dateBegin, dateEnd, numberStep);
  390 + // NSLog(@"dateBegin: %@ | dateEnd: %@ | numberStep: %li", dateBegin, dateEnd, numberStep);
350 391 [[ServerAPI server] requestCreateLog:mode withStep:(int)numberStep startDate:dateBegin endDate:dateEnd CompletionHandler:^(NSError *error) {
351 392 if (error) {
352 393 NSLog(@"Error: %@", error);
LifeLog/LifeLog/HomeViewController.xib
1 1 <?xml version="1.0" encoding="UTF-8"?>
2   -<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="13196" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
  2 +<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="13529" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
3 3 <device id="retina4_7" orientation="portrait">
4 4 <adaptation id="fullscreen"/>
5 5 </device>
6 6 <dependencies>
7 7 <deployment identifier="iOS"/>
8   - <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13173"/>
  8 + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13527"/>
9 9 <capability name="Aspect ratio constraints" minToolsVersion="5.1"/>
10 10 <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
11 11 </dependencies>
12 12  
13 13  
... ... @@ -153,22 +153,15 @@
153 153 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
154 154 <nil key="highlightedColor"/>
155 155 </label>
156   - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="ใŠ็Ÿฅใ‚‰ใ›" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="lnt-4H-Ao8">
  156 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="ใŠ็Ÿฅใ‚‰ใ›" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="lnt-4H-Ao8">
157 157 <rect key="frame" x="8" y="275" width="359" height="30"/>
158 158 <constraints>
159 159 <constraint firstAttribute="height" constant="30" id="isj-iQ-BcF"/>
160 160 </constraints>
161   - <fontDescription key="fontDescription" type="system" pointSize="20"/>
  161 + <fontDescription key="fontDescription" type="system" pointSize="25"/>
162 162 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
163 163 <nil key="highlightedColor"/>
164 164 </label>
165   - <imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_other" translatesAutoresizingMaskIntoConstraints="NO" id="BoP-c1-c0q">
166   - <rect key="frame" x="20" y="313" width="75" height="67"/>
167   - <constraints>
168   - <constraint firstAttribute="width" constant="75" id="lKw-2n-DMo"/>
169   - <constraint firstAttribute="height" constant="67" id="m58-CT-3kB"/>
170   - </constraints>
171   - </imageView>
172 165 <segmentedControl opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="top" segmentControlStyle="plain" selectedSegmentIndex="0" translatesAutoresizingMaskIntoConstraints="NO" id="ibb-Yl-iqu">
173 166 <rect key="frame" x="75" y="575" width="224" height="29"/>
174 167 <segments>
175 168  
... ... @@ -182,10 +175,10 @@
182 175 </connections>
183 176 </segmentedControl>
184 177 <textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" editable="NO" textAlignment="natural" selectable="NO" translatesAutoresizingMaskIntoConstraints="NO" id="kdD-rj-BtX" userLabel="tvNotice">
185   - <rect key="frame" x="103" y="313" width="264" height="204"/>
  178 + <rect key="frame" x="8" y="313" width="359" height="204"/>
186 179 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
187 180 <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
188   - <fontDescription key="fontDescription" type="system" pointSize="14"/>
  181 + <fontDescription key="fontDescription" type="system" pointSize="17"/>
189 182 <textInputTraits key="textInputTraits" autocapitalizationType="sentences"/>
190 183 </textView>
191 184 </subviews>
... ... @@ -201,7 +194,6 @@
201 194 <constraint firstAttribute="trailing" secondItem="LPY-Zl-cOp" secondAttribute="trailing" constant="10" id="CX3-BL-hNh"/>
202 195 <constraint firstItem="vRa-cr-YTe" firstAttribute="leading" secondItem="J2A-tf-wH0" secondAttribute="trailing" constant="10" id="Cax-pu-Kp7"/>
203 196 <constraint firstItem="3Xj-IB-96h" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="8" id="E8R-qO-PtJ"/>
204   - <constraint firstItem="kdD-rj-BtX" firstAttribute="leading" secondItem="BoP-c1-c0q" secondAttribute="trailing" constant="8" id="EE0-bp-sbO"/>
205 197 <constraint firstItem="b6V-Bi-4oz" firstAttribute="centerX" secondItem="vRa-cr-YTe" secondAttribute="centerX" id="EEt-Ct-vxb"/>
206 198 <constraint firstItem="u3S-9u-GMZ" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" placeholder="YES" id="GbN-me-UEd"/>
207 199 <constraint firstItem="b6V-Bi-4oz" firstAttribute="centerY" secondItem="vRa-cr-YTe" secondAttribute="centerY" id="HXS-oH-EPB"/>
208 200  
... ... @@ -209,11 +201,9 @@
209 201 <constraint firstAttribute="trailing" secondItem="lnt-4H-Ao8" secondAttribute="trailing" constant="8" id="IEA-1V-AZx"/>
210 202 <constraint firstItem="ibb-Yl-iqu" firstAttribute="top" secondItem="VAz-hq-dvR" secondAttribute="bottom" constant="20" id="Ib2-KY-3A7"/>
211 203 <constraint firstAttribute="bottom" secondItem="ibb-Yl-iqu" secondAttribute="bottom" constant="64" id="Iv8-Al-1Ff"/>
212   - <constraint firstItem="BoP-c1-c0q" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="20" id="OVd-PH-Yxx"/>
213 204 <constraint firstItem="DuE-Dh-nEe" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="8" id="Rum-yc-3Ym"/>
214 205 <constraint firstItem="Low-8n-pqa" firstAttribute="centerY" secondItem="J2A-tf-wH0" secondAttribute="centerY" id="W7b-Hb-9ME"/>
215 206 <constraint firstItem="IaR-IO-4RA" firstAttribute="centerY" secondItem="J2A-tf-wH0" secondAttribute="centerY" id="b4I-Me-4xZ"/>
216   - <constraint firstItem="BoP-c1-c0q" firstAttribute="top" secondItem="lnt-4H-Ao8" secondAttribute="bottom" constant="8" id="bAt-3o-b1H"/>
217 207 <constraint firstItem="wfu-aB-xXm" firstAttribute="top" secondItem="IaR-IO-4RA" secondAttribute="bottom" constant="40" id="bH1-l5-YRA"/>
218 208 <constraint firstItem="lnt-4H-Ao8" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="8" id="ea3-Dx-s4s"/>
219 209 <constraint firstItem="at8-co-gC4" firstAttribute="centerX" secondItem="Low-8n-pqa" secondAttribute="centerX" id="h5o-Cj-Z7s"/>
... ... @@ -226,6 +216,7 @@
226 216 <constraint firstItem="J2A-tf-wH0" firstAttribute="top" secondItem="u3S-9u-GMZ" secondAttribute="bottom" constant="10" id="nu9-Lj-5xz"/>
227 217 <constraint firstAttribute="trailing" secondItem="3Xj-IB-96h" secondAttribute="trailing" constant="8" id="pF6-db-UUi"/>
228 218 <constraint firstItem="3Xj-IB-96h" firstAttribute="top" secondItem="wfu-aB-xXm" secondAttribute="bottom" constant="8" id="psY-0r-fPJ"/>
  219 + <constraint firstItem="kdD-rj-BtX" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="8" id="q4Z-No-KmH"/>
229 220 <constraint firstItem="TUf-Tp-93t" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="20" id="sC4-Kr-3bN"/>
230 221 <constraint firstItem="at8-co-gC4" firstAttribute="centerY" secondItem="Low-8n-pqa" secondAttribute="centerY" id="tav-ge-tCT"/>
231 222 <constraint firstItem="VAz-hq-dvR" firstAttribute="top" secondItem="kdD-rj-BtX" secondAttribute="bottom" constant="8" id="ujL-1z-cUf"/>
... ... @@ -241,7 +232,6 @@
241 232 <image name="avatar_default" width="80" height="80"/>
242 233 <image name="icon_left" width="30" height="30"/>
243 234 <image name="icon_menu" width="30" height="30"/>
244   - <image name="icon_other" width="150" height="134"/>
245 235 <image name="icon_right" width="30" height="30"/>
246 236 </resources>
247 237 </document>
LifeLog/LifeLog/Info.plist
... ... @@ -23,7 +23,7 @@
23 23 <dict/>
24 24 </array>
25 25 <key>CFBundleVersion</key>
26   - <string>4</string>
  26 + <string>5</string>
27 27 <key>LSApplicationQueriesSchemes</key>
28 28 <array>
29 29 <string>line</string>
LifeLog/LifeLog/ServerAPI.h
... ... @@ -54,5 +54,7 @@
54 54  
55 55 #pragma mark - Common API
56 56 - (void)refreshToken: (NSString *)userID CompletionHandler:(void (^)(NSString *, NSError *))completion;
  57 +#pragma mark - Get Notice
  58 +- (void)getNoticeByDate: (NSString *)date CompletionHandler:(void (^)(NSArray *, NSError *)) completion;
57 59 @end
LifeLog/LifeLog/ServerAPI.m
... ... @@ -1045,6 +1045,51 @@
1045 1045 }];
1046 1046 }
1047 1047  
  1048 +- (void)getNoticeByDate: (NSString *)date CompletionHandler:(void (^)(NSArray *, NSError *)) completion
  1049 +{
  1050 + [self _request:[kServerAddress stringByAppendingFormat: @"api/getnoticesbydate/%@", date] method:@"GET" token:@"" paras:nil completion:^(NSData *data, NSError *error) {
  1051 +
  1052 + if (completion == NULL) {
  1053 + return ;
  1054 + }
  1055 +
  1056 + if (error == nil)
  1057 + {
  1058 + NSDictionary *dataResult = [NSJSONSerialization JSONObjectWithData:data options: NSJSONReadingAllowFragments error: &error];
  1059 +
  1060 + int status = [dataResult[@"status"] intValue];
  1061 + if (status == 1) { // status = 1 success
  1062 + NSArray *arrayResult = dataResult[@"result"][@"listNotice"];
  1063 + if (arrayResult.count > 0) {
  1064 + NSMutableArray *notices = [[NSMutableArray alloc] init];
  1065 + for(NSDictionary *dict in arrayResult) {
  1066 + NSString *object = [dict objectForKey:@"notice_content"];
  1067 + [notices addObject:object];
  1068 + }
  1069 + completion(notices, nil);
  1070 + }
  1071 + else {
  1072 + NSError *errorObject = [NSError errorWithDomain:@"LifeLog_Domain" code:-1 userInfo:@{@"message":@"Today is not notice"}];
  1073 + completion(nil, errorObject);
  1074 + }
  1075 +
  1076 + }
  1077 + else { // status = 0 error
  1078 + NSString *message = dataResult[@"message"];
  1079 + if (message == nil) {
  1080 + message = @"Unknown error";
  1081 + }
  1082 + NSError *loginFaild = [NSError errorWithDomain:@"LifeLog_Domain" code:-1 userInfo:@{@"message":message}];
  1083 + completion(nil, loginFaild);
  1084 + }
  1085 + }
  1086 + else
  1087 + {
  1088 + completion(nil, error);
  1089 + }
  1090 + }];
  1091 +}
  1092 +
1048 1093 #pragma mark - Private Function
1049 1094 - (void) checkToken {
1050 1095 // [[NSNotificationCenter defaultCenter] postNotificationName:kNotificationToken object:nil];