新浪微博开发之二十五(封装微博工具)
来源:互联网 发布: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
- 新浪微博开发之二十五(封装微博工具)
- 新浪微博开发之十五(MBProgressHUD的使用)
- 新浪微博开发之十六(封装网络工具)
- 新浪微博(二十五)布局文件
- 新浪微博开发之十七(图片工具)
- 新浪微博开发之二十七(全局变量)
- 新浪微博开发(六)封装一个OauthUtils类
- 新浪微博开发之授权的实现(二)
- (droid分享)新浪微博开发系列【二】之授权
- 新浪微博简单开发之简单登陆(二)
- 新浪微博开发二------------------------登陆篇
- 新浪微博开发十二(账号工具)
- ios开发 -新浪微博(4)封装item 添加分类
- ios-新浪微博开发-22-封装标题按钮
- 新浪微博开发之二十一(微博模型)
- 新浪微博开发之二十二(微博请求参数模型)
- 新浪微博开发之二十三(微博请求结果返回模型)
- 新浪微博开发之二十八(原创微博frame)
- linux makefile详细解说
- HDU 2187 悼念512汶川大地震遇难同胞——老人是真饿了
- Dubbo介绍
- acdream 1077(数学)
- CentOS6.5上安装tomcat
- 新浪微博开发之二十五(封装微博工具)
- PHP学习
- 拓扑排序_TopologicalSort.c
- Unity3D 4.6.3之浅拷贝与深拷贝
- PHP网络
- 文章标题
- UI NSTimer
- PHP文件处理
- 【Web】ServletContext与ServletConfig