// MyWeiboTool.h
// 新浪微博
//
// Created by Jose on 15-4-6.
// Copyright (c) 2015年 jose. All rights reserved.
// 封装微博工具
#import <Foundation/Foundation.h>
#import "MyWeiboParams.h"
#import "MyWeiboResult.h"
#import "MyUserModel.h"
#import "MyWeiboUnReadCountResult.h"
@interface MyWeiboTool : NSObject
//加载微博首页的数据
+(void)MyHomeWeiboParam:(MyWeiboParams *)param Success:(void(^)(MyWeiboResult *result))success Failure:(void(^)(NSError *error))failure;
//下拉刷新
+(void)MyHomeWeiboRefreshDataParam:(MyWeiboParams *)param Success:(void(^)(MyWeiboResult *result))success Failure:(void(^)(NSError *error))failure;
//上拉加载更多数据
+(void)MyHomeWeiboLoadMoreDataParam:(MyWeiboParams *)param Success:(void(^)(MyWeiboResult *result))success Failure:(void(^)(NSError *error))failure;
//获取用户信息
+(void)MyHomeWeiboUserInfoParam:(MyWeiboParams *)param Success:(void(^)(MyUserModel *result))success Failure:(void(^)(NSError *error))failure;
//获取未读消息数
+(void)GetMyWeiboUnReadCountParam:(MyWeiboParams *)param Success:(void(^)(MyWeiboUnReadCountResult *result))success Failure:(void(^)(NSError *error))failure;
@end
**********************************************************************************************************************
*********************************************************************************************************************
***************************************************************************************************************************
//
// MyWeiboTool.m
// 新浪微博
//
// Created by Jose on 15-4-6.
// Copyright (c) 2015年 jose. All rights reserved.
//
#import "MyWeiboTool.h"
#import "MyHttpTool.h"
#import "MyWeiboModel.h"
@implementation MyWeiboTool
//微博首页数据
+(void)MyHomeWeiboParam:(MyWeiboParams *)param Success:(void (^)(MyWeiboResult *))success Failure:(void (^)(NSError *))failure{
//模型转为字典
NSMutableDictionary *params=[NSMutableDictionary dictionary];
params[@"access_token"]=param.access_token;
[MyHttpTool Get:@"https://api.weibo.com/2/statuses/home_timeline.json" Params:params Success:^(id responsedata){
if (success) {
//字典转为模型
NSMutableArray *data_array=[NSMutableArray array];
NSArray *array=responsedata[@"statuses"];
for (NSDictionary *dict in array) {
MyWeiboModel *model=[MyWeiboModel WeiboModelWithDict:dict];
[data_array addObject:model];
}
MyWeiboResult *result=[[MyWeiboResult alloc]init];
result.myweibomodelarrary=data_array;
success(result);
}
} Failure:^(NSError *error){
if(failure){
failure(error);
}
}];
}
//下拉刷新数据
+(void)MyHomeWeiboRefreshDataParam:(MyWeiboParams *)param Success:(void (^)(MyWeiboResult *))success Failure:(void (^)(NSError *))failure{
NSMutableDictionary *params=[NSMutableDictionary dictionary];
params[@"access_token"]=param.access_token;
params[@"since_id"]=param.since_id;
[MyHttpTool Get:@"https://api.weibo.com/2/statuses/home_timeline.json" Params:params Success:^(id responsedata){
if (success) {
NSMutableArray *data_array=[NSMutableArray array];
NSArray *array=responsedata[@"statuses"];
for (NSDictionary *dict in array) {
MyWeiboModel *model=[MyWeiboModel WeiboModelWithDict:dict];
[data_array addObject:model];
}
MyWeiboResult *result=[[MyWeiboResult alloc]init];
result.myweibomodelarrary=data_array;
success(result);
}
} Failure:^(NSError *error){
if (failure) {
failure(error);
}
}];
}
//加载更多的微博数据
+(void)MyHomeWeiboLoadMoreDataParam:(MyWeiboParams *)param Success:(void (^)(MyWeiboResult *))success Failure:(void (^)(NSError *))failure{
NSMutableDictionary *params=[NSMutableDictionary dictionary];
params[@"access_token"]=param.access_token;
params[@"max_id"]=param.max_id;
[MyHttpTool Get:@"https://api.weibo.com/2/statuses/home_timeline.json" Params:params Success:^(id responsedata){
if (success) {
NSMutableArray *data_array=[NSMutableArray array];
NSArray *array=responsedata[@"statuses"];
for (NSDictionary *dict in array) {
MyWeiboModel *model=[MyWeiboModel WeiboModelWithDict:dict];
[data_array addObject:model];
}
MyWeiboResult *result=[[MyWeiboResult alloc]init];
result.myweibomodelarrary=data_array;
success(result);
}
} Failure:^(NSError *error){
if (failure) {
failure(error);
}
}];
}
//获取用户信息
+(void)MyHomeWeiboUserInfoParam:(MyWeiboParams *)param Success:(void (^)(MyUserModel *))success Failure:(void (^)(NSError *))failure{
NSMutableDictionary *params=[NSMutableDictionary dictionary];
params[@"access_token"]=param.access_token;
params[@"uid"]=param.uid;
[MyHttpTool Get:@"https://api.weibo.com/2/users/show.json" Params:params Success:^(id responsedata){
if (success) {
MyUserModel *usermodel=[MyUserModel UserModelWithDict:responsedata];
success(usermodel);
}
} Failure:^(NSError *error){
if (failure) {
failure(error);
}
}];
}
//获取末读消息
+(void)GetMyWeiboUnReadCountParam:(MyWeiboParams *)param Success:(void (^)(MyWeiboUnReadCountResult *))success Failure:(void (^)(NSError *))failure{
NSMutableDictionary *params=[NSMutableDictionary dictionary];
params[@"access_token"]=param.access_token;
params[@"uid"]=param.uid;
[MyHttpTool Get:@"https://rm.api.weibo.com/2/remind/unread_count.json" Params:params Success:^(id responsedata){
if (success) {
MyWeiboUnReadCountResult *model=[MyWeiboUnReadCountResult MyWeiboUnReadCount:responsedata];
success(model);
}
} Failure:^(NSError *error){
if (failure) {
failure(error);
}
}];
}
@end