新浪微博开发之二十五(封装微博工具)

来源:互联网 发布:c语言输出文本文件 编辑:程序博客网 时间:2024/05/21 13:22
//
//  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

0 0
原创粉丝点击