Skip to content

Commit

Permalink
完成repin逻辑部分
Browse files Browse the repository at this point in the history
  • Loading branch information
hikui committed Apr 10, 2012
1 parent 08da030 commit a02f45f
Show file tree
Hide file tree
Showing 19 changed files with 192 additions and 35 deletions.
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -229,11 +229,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "PicShareClient_iOS/TimelineViewController.m"
timestampString = "355046524.994762"
timestampString = "355743766.055754"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "119"
endingLineNumber = "119"
startingLineNumber = "120"
endingLineNumber = "120"
landmarkName = "-tableView:cellForRowAtIndexPath:"
landmarkType = "5">
</FileBreakpoint>
Expand All @@ -242,11 +242,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "PicShareClient_iOS/TimelineViewController.m"
timestampString = "355117063.815149"
timestampString = "355743766.055754"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "257"
endingLineNumber = "257"
startingLineNumber = "258"
endingLineNumber = "258"
landmarkName = "-loadDataDidFinish:"
landmarkType = "5">
</FileBreakpoint>
Expand All @@ -255,11 +255,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "PicShareClient_iOS/TimelineViewController.m"
timestampString = "355117063.815149"
timestampString = "355743766.055754"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "259"
endingLineNumber = "259"
startingLineNumber = "260"
endingLineNumber = "260"
landmarkName = "-loadDataDidFinish:"
landmarkType = "5">
</FileBreakpoint>
Expand All @@ -268,11 +268,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "PicShareClient_iOS/TimelineViewController.m"
timestampString = "355046524.994762"
timestampString = "355743766.055754"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "125"
endingLineNumber = "125"
startingLineNumber = "126"
endingLineNumber = "126"
landmarkName = "-tableView:cellForRowAtIndexPath:"
landmarkType = "5">
</FileBreakpoint>
Expand Down Expand Up @@ -320,11 +320,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "PicShareClient_iOS/TimelineViewController.m"
timestampString = "355046524.994762"
timestampString = "355743766.055754"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "162"
endingLineNumber = "162"
startingLineNumber = "163"
endingLineNumber = "163"
landmarkName = "-tableView:cellForRowAtIndexPath:"
landmarkType = "5">
</FileBreakpoint>
Expand All @@ -333,11 +333,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "PicShareClient_iOS/TimelineViewController.m"
timestampString = "355117063.815149"
timestampString = "355743766.055754"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "340"
endingLineNumber = "340"
startingLineNumber = "341"
endingLineNumber = "341"
landmarkName = "-loadImageDidFinish:"
landmarkType = "5">
</FileBreakpoint>
Expand Down Expand Up @@ -489,13 +489,26 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "PicShareClient_iOS/BoardInfoEditorViewController.m"
timestampString = "355728049.514171"
timestampString = "355743766.055754"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "53"
endingLineNumber = "53"
startingLineNumber = "54"
endingLineNumber = "54"
landmarkName = "-viewDidLoad"
landmarkType = "5">
</FileBreakpoint>
<FileBreakpoint
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "PicShareClient_iOS/PicShareEngine.m"
timestampString = "355744434.667788"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "610"
endingLineNumber = "610"
landmarkName = "-repin:toBoard:withDescription:"
landmarkType = "5">
</FileBreakpoint>
</FileBreakpoints>
</Bucket>
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

typedef enum Type{
CREATE,
UPDATE
UPDATE,
}Type;

@interface BoardInfoEditorViewController : UITableViewController <UITextFieldDelegate,UIPickerViewDelegate,UIPickerViewDataSource>
Expand All @@ -26,5 +26,4 @@ typedef enum Type{
@property Type type;



@end
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ -(void) loadCategories;
-(void) deleteBoard;
-(void) updateToServer;
-(void) createToServer;
-(void) repinToServer;

@end

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,24 @@
#import "PicShareEngine.h"
#import "PullRefreshTableViewController.h"

typedef void (^BoardIsSelectedBlock)(Board *b);

@protocol BoardPickerDelegate <NSObject>

- (void)boardDidSelect:(Board *)aBoard;

@end

@interface BoardPickerViewController : PullRefreshTableViewController
{
BoardIsSelectedBlock isSelectedBlock;
}

@property (nonatomic,retain) NSArray *boardsArray;
@property (nonatomic,assign) id<BoardPickerDelegate> delegate;
@property (nonatomic,retain) PicShareEngine *engine;
@property (nonatomic,retain) NSIndexPath *indexSelected;

- (void)setBoardIsSelectedBlock:(BoardIsSelectedBlock)_isSelectedBlock;

@end
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ - (void)dealloc
{
[boardsArray release];
[indexSelected release];
[isSelectedBlock release];
[super dealloc];
}

Expand Down Expand Up @@ -93,7 +94,11 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
Board *b = [boardsArray objectAtIndex:indexPath.row];
[self.delegate boardDidSelect:b];
if (isSelectedBlock) {
isSelectedBlock(b);
}else {
[self.delegate boardDidSelect:b];
}
[self dismissModalViewControllerAnimated:YES];
}

Expand Down Expand Up @@ -135,4 +140,11 @@ - (void)addButtonOnTouch
bivec.type = CREATE;
[self.navigationController pushViewController:bivec animated:YES];
}

- (void)setBoardIsSelectedBlock:(BoardIsSelectedBlock)_isSelectedBlock
{
[isSelectedBlock release];
isSelectedBlock = [_isSelectedBlock copy];
}

@end
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,7 @@ - (void)imagePickerController:(UIImagePickerController *)picker didFinishPicking
editedImage = [UIImageView imageWithImage:originalImage scaledToSizeWithTargetHeight:1000];
}
PictureInfoEditViewController *pievc = [[PictureInfoEditViewController alloc]initWithNibName:@"PictureInfoEditViewController" bundle:nil];
pievc.type = CREATE;
pievc.uploadImage = editedImage;
[picker pushViewController:pievc animated:YES];
[pievc release];
Expand Down
5 changes: 4 additions & 1 deletion PicShareClient_iOS/PicShareClient_iOS/PicShareEngine.h
Original file line number Diff line number Diff line change
Expand Up @@ -36,11 +36,14 @@
-(NSArray *)getBoardsOfCategoryId:(NSInteger)categoryId;
-(NSArray *)getBoardsOfCategoryId:(NSInteger)categoryId page:(NSInteger)page;
-(NSArray *)getBoardsOfCategoryId:(NSInteger)categoryId page:(NSInteger)page countPerPage:(NSInteger)count;
-(NSArray *)getBoardsOfUserId:(NSInteger)userId;
-(NSArray *)getBoardsOfUserId:(NSInteger)userId page:(NSInteger)page;
-(NSArray *)getBoardsOfUserId:(NSInteger)userId page:(NSInteger)page countPerPage:(NSInteger)count;

//picture api
-(PictureStatus *)getPictureStatus:(NSInteger)psId;
-(void)uploadPicture:(UIImage *)picture toBoard:(NSInteger)boardId withLatitude:(float)latitude longitude:(float)longitude description:(NSString *)description;
-(void)repin:(NSInteger)ps_id toBoard:(NSInteger)boardId;
-(PictureStatus *)repin:(NSInteger)ps_id toBoard:(NSInteger)boardId withDescription:(NSString *)theDescription;
-(void)updatePictureStatus:(PictureStatus *)aPictureStatus;
-(void)releasePictureStatus:(NSInteger)psId;
-(NSArray *)getCommentsOfPictureStatus:(NSInteger)psId;
Expand Down
36 changes: 36 additions & 0 deletions PicShareClient_iOS/PicShareClient_iOS/PicShareEngine.m
Original file line number Diff line number Diff line change
Expand Up @@ -589,4 +589,40 @@ -(Board *)createBoard:(Board *)aBoard
return nil;
}

-(PictureStatus *)repin:(NSInteger)ps_id toBoard:(NSInteger)boardId withDescription:(NSString *)theDescription
{
NSURL *url = [NSURL URLWithString:[picshareDomain stringByAppendingString:@"api/picture/repin.json"]];
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
[request setPostValue:[NSNumber numberWithInteger:boardId] forKey:@"board_id"];
[request setPostValue:[NSNumber numberWithInteger:ps_id] forKey:@"ps_id"];
[request setPostValue:theDescription forKey:@"description"];
[self addAuthHeaderForRequest:request];
[request startSynchronous];

NSError *error = [request error];
NSString *response = nil;
if (!error) {
response = [request responseString];
NSLog(@"%@",response);
}
else {
//do something in ui
return nil;
}
if (response != nil) {
NSDictionary *dataDict = [response objectFromJSONString];
PictureStatus *ps = [[PictureStatus alloc]initWithJSONDict:dataDict];
if (ps!=nil) {
return ps;
}else {
ErrorMessage *em = [[ErrorMessage alloc]initWithJSONDict:dataDict];
UIAlertView *alert = [[UIAlertView alloc]initWithTitle:nil message:em.errorMsg delegate:nil cancelButtonTitle:@"知道了" otherButtonTitles:nil];
[alert performSelectorOnMainThread:@selector(show) withObject:nil waitUntilDone:YES];
[alert release];
}
}
return nil;
}


@end
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,19 @@
#import "BoardPickerViewController.h"
#import "PictureDescriptionComposerViewController.h"

typedef enum _Type{
REPIN,
CREATE,
}Type;

@interface PictureInfoEditViewController : UITableViewController
<BoardPickerDelegate,PictureDescriptionComposerDelegate>

@property (nonatomic,retain) Board *board;
@property (nonatomic,copy) NSString *descriptionText;
@property (readwrite) CGPoint locationPoint;
@property (nonatomic,retain) UIImage *uploadImage;
@property (nonatomic,retain) PictureStatus *repinPs;
@property Type type;

@end
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,12 @@
@interface PictureInfoEditViewController ()

-(void)uploadButtonOnTouch;
-(void)repinButtonOnTouch;

@end

@implementation PictureInfoEditViewController
@synthesize board,descriptionText,locationPoint,uploadImage;
@synthesize board,descriptionText,locationPoint,uploadImage,repinPs,type;

- (id)initWithStyle:(UITableViewStyle)style
{
Expand All @@ -30,7 +31,11 @@ - (id)initWithStyle:(UITableViewStyle)style
- (void)viewDidLoad
{
[super viewDidLoad];
self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc]initWithTitle:@"上传" style:UIBarButtonItemStyleDone target:self action:@selector(uploadButtonOnTouch)]autorelease];
if (type==CREATE) {
self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc]initWithTitle:@"上传" style:UIBarButtonItemStyleDone target:self action:@selector(uploadButtonOnTouch)]autorelease];
}else if (type==REPIN) {
self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc]initWithTitle:@"转发" style:UIBarButtonItemStyleDone target:self action:@selector(repinButtonOnTouch)]autorelease];
}
locationPoint = CGPointMake(-1, -1);
}

Expand Down Expand Up @@ -161,4 +166,23 @@ -(void)uploadButtonOnTouch
[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationFade];
[self dismissModalViewControllerAnimated:YES];
}

-(void)repinButtonOnTouch
{
NSLog(@"pic need repin:%@",repinPs);
if (board == nil) {
UIAlertView *alertView = [[[UIAlertView alloc]initWithTitle:@"错误!" message:@"必须指定相册!" delegate:nil cancelButtonTitle:@"确定" otherButtonTitles: nil]autorelease];
[alertView show];
return;
}
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0), ^{
PicShareEngine *engine = [PicShareEngine sharedEngine];
[engine repin:self.repinPs.psId toBoard:self.board.boardId withDescription:descriptionText];
dispatch_async(dispatch_get_main_queue(), ^{
[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationFade];
[self dismissModalViewControllerAnimated:YES];
});
});

}
@end
2 changes: 1 addition & 1 deletion PicShareClient_iOS/PicShareClient_iOS/PictureStatus.m
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ @implementation PictureStatus

-(id)initWithJSONDict:(NSDictionary *)data
{
if (data == nil || (NSNull *)data == [NSNull null]) {
if (data == nil || (NSNull *)data == [NSNull null]||[data objectForKey:@"ps_id"]==nil) {
[self release];
return nil;
}
Expand Down
Loading

0 comments on commit a02f45f

Please sign in to comment.