//
//  DFTT.h
//  DFTTFramework
//
//  Created by 孙牧and殷俊伟 on 16/12/19.
//  Copyright © 2016年 smyjw. All rights reserved.
//

#import <Foundation/Foundation.h>
typedef void (^TTCallback)(id info);
@interface DFTT : NSObject
@property(nonatomic, copy)NSString *appid;
@property(nonatomic, copy)NSString *appkey;
@property(nonatomic, copy)NSString *apptypeid;
@property(nonatomic, copy)NSString *softname;
@property(nonatomic, copy)NSString *softtype;
@property(nonatomic, copy)NSString *userId;
@property(nonatomic, copy)NSString *qid;

@property(nonatomic, copy)NSString *network;//网络状态
@property(nonatomic, readonly) BOOL isNetAvaliable;
/*@brief 初始化单例对象
 *
 * @return dftt对象
 */
+(DFTT *)getInitializeInstance;

#pragma mark 初始化基础信息

/*!@brief 配置基础信息
 */
-(void)configueBaseArgument;


/*!@brief 修改配置参数信息
 */
-(void)appRegisterWithAppid:(NSString *)appid withAppkey:(NSString *)appkey withSofttype:(NSString *)softtype withSoftname:(NSString *)softname withApptypeid:(NSString *)apptypeid withQid:(NSString *)qid;


/*!@brief 用户登录的时候传入用户的id,以后接入登录使用
 * @param user_id 用户的id
 如果已经传入则不需要调用
 */
-(void)loginWithUserId:(NSString *)user_id;


#pragma mark 服务器接口
/*!@brief 1.获取新闻信息流列表接口
 * @param startkey 第一次传入@""字符串，以后用每次以服务器返回的“endkey”作为参数传入
 * @param newkey 第一次传入@""字符串，以后用每次以服务器返回的“newkey”作为参数传入
 * @param pgnum 客户端请求的数据处于当前类别信息流的第几页（注：首次请求即第一个页面该参数传1,上拉加载下一页数据时传2，继续上拉加载第三页数据是传3，以此类推传4......；首次下拉请求叠加数据时该参数传-1，继续下拉请求叠加数据时传-2，以此类推传-3......）
 * @param idx 目前最新的一条新闻的位置，上拉加载传正数、下拉叠加传负数
 * @param type 请求数据流新闻类别(通过接口2获取)
 */
-(void)getNewsInfoListWithStartkey:(NSString *)startkey withNewkey:(NSString *)newkey withPgnum:(NSString *)pgnum withIdx:(NSString *)idx withType:(NSString *)type withSuccessBlock:(void(^)(id response)) successBlock withFailBock:(void(^)(id errorInfo))failBlock;



/*!@brief 2.获取新闻类别列表
 * @param ttaccid 用户id
 */
-(void)getNewsColumnsListWithUserId:(NSString *)ttaccid withSuccessBlock:(void(^)(id response))successBlock withFailBock:(void(^)(id errorInfo))failBlock;


/*!@brief 3.获取热门搜索关键字列表
 * @param type 固定传入@"now"
 */
-(void)getHotWordsListWithType:(NSString *)type withSuccessBlock:(void(^)(id response))successBlock withFailBock:(void(^)(id errorInfo))failBlock;


/*!@brief 4.获取新闻内页相关热点新闻
 * @param type 当前新闻类别
 * @param url 当前新闻链接
 */
-(void)getRelatedNewsWithType:(NSString *)type withUrl:(NSString *)url withSuccessBlock:(void(^)(id response))successBlock withFailBock:(void(^)(id errorInfo))failBlock;


/*!@brief 5.获取视频分类列表
 */
-(void)getVideosColumnsListWithSuccessBlock:(void(^)(id response))successBlock withFailBock:(void(^)(id errorInfo))failBlock;


/*!@brief 6.获取该分类下的视频列表
 * @param categoryId 分类(通过接口5获取)
 * @param count 请求的数据数量，自定义
 * @param pgnum 当前第几页
 * @param startkey 第一次传入@""字符串，以后用每次以服务器返回的“endkey”作为参数传入
 * @param newkey 第一次传入@""字符串，以后用每次以服务器返回的“newkey”作为参数传入
 */
-(void)getVideosInfoListWithCategoryId:(NSString *)categoryId withCount:(NSString *)count withPgnum:(NSString *)pgnum withStartkey:(NSString *)startkey withNewkey:(NSString *)newkey withSuccessBlock:(void(^)(id response))successBlock withFailBock:(void(^)(id errorInfo))failBlock;


/*!@brief 7.获取相关视频
 * @param categoryId 当前分类
 * @param url 该视频链接
 */
-(void)getRelatedVideosListWithCategoryId:(NSString *)categoryId withUrl:(NSString *)url withSuccessBlock:(void(^)(id response))successBlock withFailBock:(void(^)(id errorInfo))failBlock;


/*!@brief 8.获取关键字搜索新闻列表
 * @param keywords 关键字 
 * @param stkey_zixun 首次搜索时传@“”，由服务端上次搜索结果中返回，客户端需要获取下一页数据时需传给服务端
 * @param lastcol_zixun 首次搜索时传@“”，由服务端上次搜索结果中返回，客户端需要获取下一页数据时需传给服务端
 * @param stkey_video 首次搜索时传@“”，由服务端上次搜索结果中返回，客户端需要获取下一页数据时需传给服务端
 * @param lastcol_video 首次搜索时传@“”，由服务端上次搜索结果中返回，客户端需要获取下一页数据时需传给服务端
 * @param splitwordsarr 首次搜索时传@“”，由服务端上次搜索结果中返回，客户端需要获取下一页数据时需传给服务端
 * @param ttloginid 用户的id，可传入@“”
 * @param maintype 精准搜索时需要传，全局搜索时传@""
 */
-(void)getSearchedNewsListWithKeywords:(NSString *)keywords withStkey_zixun:(NSString *)stkey_zixun withLastcol_zixun:(NSString *)lastcol_zixun withStkey_video:(NSString *)stkey_video withLastcol_video:(NSString *)lastcol_video withSplitwordsarr:(NSString *)splitwordsarr withUserId:(NSString *)ttloginid withMaintype:(NSString *)maintype withSuccessBlock:(void(^)(id response))successBlock withFailBock:(void(^)(id errorInfo))failBlock;


/*!@brief 9.获取该分类下图集信息流列表
 * @param categoryId 分类id
 * @param startkey 首次请求时不需要上传该参数，在首次请求返回的数据中包含一个endkey的值，可作为分页请求的参数继续请求下一页数据。
 * @param newkey 首次请求时不需要上传该参数，在首次请求返回的数据中包含一个newkey的值，可作为分页请求的参数继续请求下一页数据。
 * @param pgnum 当前位于第几页
 * @param idx 当前请求的新闻是第几位
 */
-(void)getAtlasInfoListWithCategoryId:(NSString *)categoryId withStartkey:(NSString *)startkey withNewkey:(NSString *)newkey withPgnum:(NSString *)pgnum withIdx:(NSString *)idx withSuccessBlock:(void(^)(id response))successBlock withFailBock:(void(^)(id errorInfo))failBlock;


/*!@brief 10.获取图集分类列表
 */
-(void)getAtlasColumnsListWithSuccessBlock:(void(^)(id response))successBlock withFailBock:(void(^)(id errorInfo))failBlock;


/**!@brief 11.到达页上传数据(此接口用来记录用户喜欢看的新闻，方便返回该用户喜欢的新闻数据)
 * @param newstype 新闻类别
 * @param from 跳转来源地址
 * @param to 跳转地址
 * @param pgnum 信息流新闻所在页数
 * @param idx 信息流新闻所在位置
 * @param ishot 是否是热点新闻 0否 1是
 * @param recommendtype 推荐新闻类别
 * @param recommendurl 推荐新闻源url（返回新闻中获取）
 * @param suptop 置顶新闻：0001；强制置顶：1001
 * @param ispush 是否是推送新闻 0否 1是
 * @param pushts 传推送新闻返回的
 * @param pushlabel 传推送新闻返回的
 */
-(void)postReachPageDataWithNewsType:(NSString *)newstype withFrom:(NSString *)from withTo:(NSString *)to withPgnum:(NSString *)pgnum withIdx:(NSString *)idx withIsHot:(NSString *)ishot withRecommendtype:(NSString *)recommendtype withRecommendurl:(NSString *)recommendurl withIsPush:(NSString *)ispush withSuptop:(NSString *)suptop withPushts:(NSString *)pushts withpushlabel:(NSString *)pushlabel withSuccessBlock:(void(^)(id response))successBlock withFailBock:(void(^)(id errorInfo))failBlock;


/**!@brief 12.在线时长日志(此接口用来记录用户喜欢看的新闻，方便返回该用户喜欢的新闻数据)
 * @param newstype 新闻类别
 * @param from 跳转来源地址
 * @param to 跳转地址
 * @param pgnum 信息流新闻所在页数
 * @param idx 信息流新闻所在位置
 * @param ishot 是否是热点新闻 0否 1是
 * @param recommendtype 推荐新闻类别
 * @param recommendurl 推荐新闻源url（返回新闻中获取）
 * @param ispush 是否是推送新闻 0否 1是
 * @param interval 上传时间间隔，单位为s（秒）如：10
 */
-(void)postOnlineTimeWithNewsType:(NSString *)newstype withFrom:(NSString *)from withTo:(NSString *)to withPgnum:(NSString *)pgnum withIdx:(NSString *)idx withIsHot:(NSString *)ishot withRecommendtype:(NSString *)recommendtype withRecommendurl:(NSString *)recommendurl withIsPush:(NSString *)ispush withInterval:(NSString *)interval withSuccessBlock:(void(^)(id response))successBlock withFailBock:(void(^)(id errorInfo))failBlock;


/**!@brief 13.获取图集内页内容
 * @param url 图集内页的url地址
 */
-(void)getAtlasDetailInfoWithUrl:(NSString *)url withSuccessBlock:(void(^)(id response))successBlock withFailBock:(void(^)(id errorInfo))failBlock;


/**!@brief 14.获取新闻内页内容(去掉了评论和相关新闻，只保留了文章内容)
 * @param url 图集内页的url地址
 */
-(void)getNewsDetailInfoWithUrl:(NSString *)url withSuccessBlock:(void(^)(id response))successBlock withFailBock:(void(^)(id errorInfo))failBlock;


/**!@brief 15.视频操作日志
 * @param newstype 栏位类别
 * @param videotype 视频类别（当前播放的视频的类别，如：搞笑传“vgaoxiao”，资讯传“vzixun”等）
 * @param idx 视频在当前栏位的位置（如果进入详情页播放，该参数默认传“null”）
 * @param browser_type 客户端浏览器类别
 * @param url 视频url（http://mv.dfshurufa.com/...mp4格式的url）
 * @param duration 视频总时长（单位：ms）
 * @param playingTime 实际观看时长（单位：ms）
 * @param currentTime 当前播放位置（单位：ms）
 * @param action 操作类型（如：play(点击播放)、pause(播放中断、暂停)、playend（播放结束））
 * @param play_pos 播放位置（资讯信息流直接播放：newslist；视频信息流直接播放：newslist；详情页播放：detailpg）
 */
-(void)postVideoHandleWithNewsType:(NSString *)newstype withVideotype:(NSString *)videotype withIdx:(NSString *)idx withBrowser_type:(NSString *)browser_type withUrl:(NSString *)url withDuration:(NSString *)duration withPlayingTime:(NSString *)playingTime withCurrentTime:(NSString *)currentTime withAction:(NSString *)action withPlay_pos:(NSString *)play_pos withSuccessBlock:(void(^)(id response))successBlock withFailBock:(void(^)(id errorInfo))failBlock;



/**!@brief 16.获取图集内页更多图集接口
 * @param type 图集新闻类别
 * @param url 当前图集链接
 * @param num 请求返回图集新闻数量
 */
- (void)getMoreAtlasWithType:(NSString *)type withAtlasUrl:(NSString *)url withNum:(NSString *)num withSuccessBlock:(void(^)(id response))successBlock withFailBock:(void(^)(id errorInfo))failBlock;



/**!@brief 17.获取指定数量新闻接口
 * @param type 新闻类别
 * @param num 指定新闻数量，不得大于10
 * @param reqnum 请求次数id，比如第一次请求传1，第二次传2
 */
- (void)getNumNewsWithType:(NSString *)type withNum:(NSString *)num withRequm:(NSString *)reqnum withSuccessBlock:(void(^)(id response))successBlock withFailBock:(void(^)(id errorInfo))failBlock;


/**!@brief 18.获取专题内页内容
 * @param url 专题内页的url地址
 */
-(void)getSpecialDetailInfoWithUrl:(NSString *)url withSuccessBlock:(void(^)(id response))successBlock withFailBock:(void(^)(id errorInfo))failBlock;



/**!@brief 19.打点接口（为了给用户推送符合用户习惯的新闻）
 * @param actpos 打点动作发生的位置
 * @param actposdetail 打点动作发生的详细位置
 * @param subs01 打点动作副说明1
 * @param subs02 打点动作副说明2
 */
-(void)postActposWithActpos:(NSString *)actpos withActposdetail:(NSString *)actposdetail withActid:(NSString *)actid withSubs01:(NSString *)subs01 withSubs02:(NSString *)subs02 withSuccessBlock:(void(^)(id response))successBlock withFailBock:(void(^)(id errorInfo))failBlock;



/**!@brief 20.App原生广告接口
 * @param pgtype 当前请求页面属性
 * @param newstype 当前页面的类别
 * @param url 当前页面的url链接
 * @param pgnum 客户端请求数据所在页数
 * @param slotid 广告位
 * @param slottype 广告位类型
 * @param slotheight 广告位高
 * @param slotwidth 广告位宽
 */
-(void)getAdverInfoWithPgtype:(NSString *)pgtype withNewsType:(NSString *)newstype withUrl:(NSString *)url withPgnum:(NSString *)pgnum withSlotid:(NSString *)slotid withSlottype:(NSString *)slottype
    withSlotheight:(NSString *)slotheight withSlotwidth:(NSString *)slotwidth withSuccessBlock:(void(^)(id response))successBlock withFailBock:(void(^)(id errorInfo))failBlock;




/**!@brief 23.App视频暂停广告接口
 * @param pgtype 当前请求页面属性
 * @param newstype 当前页面的类别
 * @param url 当前页面的url链接
 * @param pgnum 客户端请求数据所在页数
 */
-(void)getPauseAdverInfoWithPgtype:(NSString *)pgtype withNewsType:(NSString *)newstype withUrl:(NSString *)url withPgnum:(NSString *)pgnum withSuccessBlock:(void(^)(id response))successBlock withFailBock:(void(^)(id errorInfo))failBlock;

#pragma mark - 广告上报接口

///**!@brief 24.App原生视频内页广告接口
// * @param pgtype 当前请求页面属性
// * @param newstype 当前页面的类别
// * @param url 当前页面的url链接
// * @param pgnum 客户端请求数据所在页数
// */
//-(void)getVideoAdverInfoWithPgtype:(NSString *)pgtype withNewsType:(NSString *)newstype withUrl:(NSString *)url withPgnum:(NSString *)pgnum withSuccessBlock:(void(^)(id response))successBlock withFailBock:(void(^)(id errorInfo))failBlock;
//
//
///**!@brief 21.app广告点击后上传日志接口
// * @param fr_url 当前页面的url
// * @param gg_url 广告页面的url
// * @param gg_id 广告的id
// */
//-(void)postTapAdadverWithFr_url:(NSString *)fr_url withGg_url:(NSString *)gg_url withGg_id:(NSString *)gg_id withpgtype:(NSString *)pgtype withadpgnum:(NSString *)adpgnum withadidx:(NSString *)adidx withClickrep:(NSArray *)clickrep withSuccessBlock:(void(^)(id response))successBlock withFailBock:(void(^)(id errorInfo))failBlock;
//
//
///**!@brief 22.app广告展现成功之后上传日志接口
// * @param fr_url 当前页面的url
// * @param gg_url 广告页面的url
// * @param gg_id 广告的id
// */
//-(void)postAdadverAppearedWithFr_url:(NSString *)fr_url withGg_url:(NSString *)gg_url withGg_id:(NSString *)gg_id withpgtype:(NSString *)pgtype withadpgnum:(NSString *)adpgnum withadidx:(NSString *)adidx withshowrep:(NSArray *)showrep withSuccessBlock:(void(^)(id response))successBlock withFailBock:(void(^)(id errorInfo))failBlock;
//
///**!@brief 25.联盟点击和展现日志
// * @param requestUrl 请求的URL
// * @param clickrepOrShowrep 点击或者展现的上报地址
// * @param newstype 当前页面新闻类别
// * @param from 从哪个页面跳转
//  * @param to 当前广告的URL
//  * @param idx 广告所在位置
//  * @param refer 浏览器的refer，其实和from差不多
// * @param pgnum 广告所在页 (内页传-1)
// * @param isclientreport 是否是客户端上报(1是, 0否)如果字段值为1,表示这个广告需要由客户端上报.上报字段包含((reporturl ?上报参数) && (clickrep || showrep))如果字段值为0,表示这个广告需要由服务器上报.上报字段包含((clickrep=reporturl ?上报参数) ||(showrep=reporturl ?上报参数))
// * @param reqtype 上报类型[ 展现 : 1 , 点击 : 2 , 开始下载 : 3 , 下载完成 : 4 , 安装完 : 5 ]
// */
//-(void)lianmengClickAndShowWithRequsetUrl:(NSString *)requestUrl withpgnum:(NSString *)pgnum withisclientreport:(NSString *)isclientreport withClickrepOrShowrep:(NSArray *)clickrepOrShowrep withAdvid:(NSString *)advid withNewsType:(NSString *)newstype withFrom:(NSString *)from withTo:(NSString *)to withIdx:(NSString *)idx withRefer:(NSString *)refer withReqtype:(NSString *)reqtype withSuccessBlock:(void(^)(id response))successBlock withFailBock:(void(^)(id errorInfo))failBlock;

#pragma mark - 用户登录模块
/**!@brief 26.验证用户是否存在
 * @param accountname 手机号
 */
-(void)checkuserWithAccountname:(NSString *)accountname withSuccessBlock:(void(^)(id response))successBlock withFailBock:(void(^)(id errorInfo))failBlock;

/**!@brief 27.登录接口
 * @param accountname 手机号
 * @param password 密码
 */
-(void)loginWithAccountname:(NSString *)accountname withPsd:(NSString *)password withSuccessBlock:(void(^)(id response))successBlock withFailBock:(void(^)(id errorInfo))failBlock;

/**!@brief 28.找回密码
 * @param accountname 手机号
 * @param password 密码
 * @param msgcode 验证码
 */
-(void)resetpwdWithAccountname:(NSString *)accountname withPsd:(NSString *)password withMsgcode:(NSString *)msgcode withSuccessBlock:(void(^)(id response))successBlock withFailBock:(void(^)(id errorInfo))failBlock;

/**!@brief 29.无密码登录
 * @param mobile_num 手机号
 * @param sms_code 验证码
 * @param img_code 图片验证码
 */
-(void)nopwdloginWithMobile_num:(NSString *)mobile_num withSms_code:(NSString *)sms_code withImg_code:(NSString *)img_code withSuccessBlock:(void(^)(id response))successBlock withFailBock:(void(^)(id errorInfo))failBlock;

/**!@brief 30.第三方登录
 * @param loginname 登录账户名
 * @param usertype 账号类型：1手机  3 QQ  4 微信   5 微博
 * @param nickname 昵称
 * @param figureurl 头像
 * @param unionid 微信id
 * @param sex 性别 0:未知 1:男 2 女
 */
-(void)thirdpartyloginWithLoginname:(NSString *)loginname withusertype:(NSString *)usertype withnickname:(NSString *)nickname withfigureurl:(NSString *)figureurl withunionid:(NSString *)unionid withsex:(NSString *)sex withSuccessBlock:(void(^)(id response))successBlock withFailBock:(void(^)(id errorInfo))failBlock;

/**!@brief 31.快速登录获取验证码接口
 * @param mobile_num 手机号
 * @param msgcode 图片验证码
 */
-(void)getsmsWithMobile_num:(NSString *)mobile_num withMsgcode:(NSString *)msgcode withSuccessBlock:(void(^)(id response))successBlock withFailBock:(void(^)(id errorInfo))failBlock;

/**!@brief 32.忘记密码获取验证码接口
 * @param mobile 手机号
 * @param type 类型 重置密码用reset，注册用reg
 * @param sign 加密，手机号拼接3iN0xu07ceILF565，然后md5，32位小写加密
 */
-(void)getcode_sWithMobile:(NSString *)mobile withType:(NSString *)type withsign:(NSString *)sign withSuccessBlock:(void(^)(id response))successBlock withFailBock:(void(^)(id errorInfo))failBlock;

/**!@brief 33.刷新图片验证码
 * @param mobile_num 手机号
 */
-(void)getnewimgWithMobile_num:(NSString *)mobile_num withSuccessBlock:(void(^)(id response))successBlock withFailBock:(void(^)(id errorInfo))failBlock;

/**!@brief 34.获取文章评论
 * @param from 跳转来源地址
 * @param to 跳转地址
 * @param pgnum 信息流新闻所在页数
 * @param idx 信息流新闻所在位置
 * @param ishot 是否是热点新闻
 * @param recommendtype 推荐新闻类别
 * @param recommendurl 推荐新闻源url（返回新闻json中获取）
 * @param ispush 是否是推送新闻
 * @param suptop 置顶新闻：0001；强制置顶：1001
 * @param aid 新闻的id
 * @param rowkey   新闻的id
 * @param userid    当前登录用户id
 * @param username   当前登录用户昵称
 * @param userpic    当前登录用户头像url
 * @param hotnum 需要返回热评新闻数量
 * @param commtype 0：全部类型热评  1：对文章热评   2：对人热评
 * @param depth 请求评论层数
 * @param revnum 请求评论回复的回复最大返回数
 * @param endkey 第一次传0，请求下一页时为上一次请求endkey
 * @param limitnum 每次请求评论最大返回数
 */
-(void)getNewsCmtWithNewstype:(NSString *)newstype WithFrom:(NSString *)from withTo:(NSString *)to withPgnum:(NSString *)pgnum withIdx:(NSString *)idx withIshot:(NSString *)ishot withRecommendtype:(NSString *)recommendtype withrecommendurl:(NSString *)recommendurl withIspush:(NSString *)ispush withSuptop:(NSString *)suptop withAid:(NSString *)aid withRowkey:(NSString *)rowkey withUserid:(NSString *)userid withUsername:(NSString *)username withUserpic:(NSString *)userpic withHotnum:(NSString *)hotnum withCommtype:(NSString *)commtype withdepth:(NSString *)depth withrevnum:(NSString *)revnum withendkey:(NSString *)endkey withlimitnum:(NSString *)limitnum withSuccessBlock:(void(^)(id response))successBlock withFailBock:(void(^)(id errorInfo))failBlock ;

/**!@brief 35.对文章评论
 * @param from 跳转来源地址
 * @param to 跳转地址
 * @param pgnum 信息流新闻所在页数
 * @param idx 信息流新闻所在位置
 * @param ishot 是否是热点新闻
 * @param recommendtype 推荐新闻类别
 * @param recommendurl 推荐新闻源url（返回新闻json中获取）
 * @param ispush 是否是推送新闻
 * @param suptop 置顶新闻：0001；强制置顶：1001
 * @param aid 新闻的id
 * @param rowkey   新闻的id
 * @param userid    当前登录用户id
 * @param username   当前登录用户昵称
 * @param userpic    当前登录用户头像url
 * @param content 评论内容
 * @param news_type 新闻类型 普通新闻 1   视频新闻 2    专题新闻 3    图集新闻 4    东方号普通新闻 5    东方号视频新闻 6
 */
-(void)cmtNewsWithNewstype:(NSString *)newstype WithFrom:(NSString *)from withTo:(NSString *)to withPgnum:(NSString *)pgnum withIdx:(NSString *)idx withIshot:(NSString *)ishot withRecommendtype:(NSString *)recommendtype withrecommendurl:(NSString *)recommendurl withIspush:(NSString *)ispush withSuptop:(NSString *)suptop withAid:(NSString *)aid withRowkey:(NSString *)rowkey withUserid:(NSString *)userid withUsername:(NSString *)username withUserpic:(NSString *)userpic withcontent:(NSString *)content withnews_type:(NSString *)news_type withSuccessBlock:(void(^)(id response))successBlock withFailBock:(void(^)(id errorInfo))failBlock;

/**!@brief 36.评论点赞
 * @param from 跳转来源地址
 * @param to 跳转地址
 * @param pgnum 信息流新闻所在页数
 * @param idx 信息流新闻所在位置
 * @param ishot 是否是热点新闻
 * @param recommendtype 推荐新闻类别
 * @param recommendurl 推荐新闻源url（返回新闻json中获取）
 * @param ispush 是否是推送新闻
 * @param suptop 置顶新闻：0001；强制置顶：1001
 * @param aid 新闻的id
 * @param rowkey   被点赞人rowkey
 * @param userid    当前登录用户id
 * @param username   当前登录用户昵称
 * @param userpic    当前登录用户头像url
 * @param content 评论内容
 * @param ding 被点赞人当前赞的数量
 * @param rev 被点赞人当前回复的数量
 */
-(void)cmtDingWithNewstype:(NSString *)newstype WithFrom:(NSString *)from withTo:(NSString *)to withPgnum:(NSString *)pgnum withIdx:(NSString *)idx withIshot:(NSString *)ishot withRecommendtype:(NSString *)recommendtype withrecommendurl:(NSString *)recommendurl withIspush:(NSString *)ispush withSuptop:(NSString *)suptop withAid:(NSString *)aid withRowkey:(NSString *)rowkey withUserid:(NSString *)userid withUsername:(NSString *)username withUserpic:(NSString *)userpic withcontent:(NSString *)content withDing:(NSString *)ding withRev:(NSString *)rev withSuccessBlock:(void(^)(id response))successBlock withFailBock:(void(^)(id errorInfo))failBlock;

/**!@brief 37.对用户评论回复
 * @param from 跳转来源地址
 * @param to 跳转地址
 * @param pgnum 信息流新闻所在页数
 * @param idx 信息流新闻所在位置
 * @param ishot 是否是热点新闻
 * @param recommendtype 推荐新闻类别
 * @param recommendurl 推荐新闻源url（返回新闻json中获取）
 * @param ispush 是否是推送新闻
 * @param suptop 置顶新闻：0001；强制置顶：1001
 * @param aid 新闻的id
 * @param rowkey   被评论人rowkey
 * @param userid    当前登录用户id
 * @param username   当前登录用户昵称
 * @param userpic    当前登录用户头像url
 * @param content 评论内容
 * @param ding 被点赞人当前赞的数量
 * @param rev 被点赞人当前回复的数量
 * @param issyncart 是否同步到文章   0：不同步   1：同步
 * @param at @的人字典
 */
-(void)cmtCmtToWithNewstype:(NSString *)newstype WithFrom:(NSString *)from withTo:(NSString *)to withPgnum:(NSString *)pgnum withIdx:(NSString *)idx withIshot:(NSString *)ishot withRecommendtype:(NSString *)recommendtype withrecommendurl:(NSString *)recommendurl withIspush:(NSString *)ispush withSuptop:(NSString *)suptop withAid:(NSString *)aid withRowkey:(NSString *)rowkey withUserid:(NSString *)userid withUsername:(NSString *)username withUserpic:(NSString *)userpic withcontent:(NSString *)content withDing:(NSString *)ding withRev:(NSString *)rev withissyncart:(NSString *)issyncart withAt:(NSDictionary *)at withSuccessBlock:(void(^)(id response))successBlock withFailBock:(void(^)(id errorInfo))failBlock;

/**!@brief 38.获取文章评论
 * @param from 跳转来源地址
 * @param to 跳转地址
 * @param pgnum 信息流新闻所在页数
 * @param idx 信息流新闻所在位置
 * @param ishot 是否是热点新闻
 * @param recommendtype 推荐新闻类别
 * @param recommendurl 推荐新闻源url（返回新闻json中获取）
 * @param ispush 是否是推送新闻
 * @param suptop 置顶新闻：0001；强制置顶：1001
 * @param aid 新闻的id
 * @param rowkey   需要查看用户的rowkey
 * @param userid    当前登录用户id
 * @param username   当前登录用户昵称
 * @param userpic    当前登录用户头像url
 * @param hotnum 需要返回热评新闻数量
 * @param commtype 0：全部类型热评  1：对文章热评   2：对人热评
 * @param endkey 第一次传0，请求下一页时为上一次请求endkey
 * @param limitnum 每次请求评论最大返回数
 */
-(void)getMoreCmtWithNewstype:(NSString *)newstype WithFrom:(NSString *)from withTo:(NSString *)to withPgnum:(NSString *)pgnum withIdx:(NSString *)idx withIshot:(NSString *)ishot withRecommendtype:(NSString *)recommendtype withrecommendurl:(NSString *)recommendurl withIspush:(NSString *)ispush withSuptop:(NSString *)suptop withAid:(NSString *)aid withRowkey:(NSString *)rowkey withUserid:(NSString *)userid withUsername:(NSString *)username withUserpic:(NSString *)userpic withHotnum:(NSString *)hotnum withCommtype:(NSString *)commtype withendkey:(NSString *)endkey withlimitnum:(NSString *)limitnum withSuccessBlock:(void(^)(id response))successBlock withFailBock:(void(^)(id errorInfo))failBlock ;


/**!@brief 39.推送开关按钮状态上报接口
 * @param newstype 新闻类别
 * @param status 推送开关状态（1：打开；0：关闭）
 */
- (void)butStatusWithNewsType:(NSString *)newstype withStatus:(NSString *)status withSuccessBlock:(void(^)(id response))successBlock withFailBock:(void(^)(id errorInfo))failBlock;

/**!@brief 40.sdk集成推送平台上报接口（目前对接个推）
 * @param newstype 新闻类别
 * @param platform Sdk对接推送平台（个推：getui；小米：xiaomi；极光：jpush）
 */
- (void)platformWithNewsType:(NSString *)newstype withPlatform:(NSString *)platform withCid:(NSString *)cid withSuccessBlock:(void(^)(id response))successBlock withFailBock:(void(^)(id errorInfo))failBlock;

/**!@brief 41.App原生广告接口(新)V2.0
 * @param pgtype 当前请求页面属性 1.list——信息流 2.detail——新闻详情页 3.open--开屏 4.videodetail--视频详情页 5.video--视频暂停贴片 6.videoplay--视频信息流 7.singlelist--【针对天气快报信息流】
 * @param newstype 当前页面的类别
 * @param url 当前页面的url链接
 * @param pgnum 客户端请求数据所在页数
 */
-(void)getNewAdverInfoWithPgtype:(NSString *)pgtype withNewsType:(NSString *)newstype withUrl:(NSString *)url withPgnum:(NSString *)pgnum withSuccessBlock:(void(^)(id response))successBlock withFailBock:(void(^)(id errorInfo))failBlock;

/**!@brief 42.广告联盟接口
 * @param slotid 广告位
 * @param slottype 广告位类型
 * @param currentcache 反馈客户端当前缓存的数量 , (无缓存机制传-1)
 */
-(void)getNewsLianmengAdvInfoWithSlotid:(NSString *)slotid withSlottype:(NSString *)slottype withcurrentcache:(NSString *)currentcache withSuccessBlock:(void(^)(id response))successBlock withFailBock:(void(^)(id errorInfo))failBlock;



- (void)eastHaoListWithAccid:(NSString *)accid withStart:(NSString *)start withSize:(NSString *)size withType:(NSString *)type withSuccessBlock:(void(^)(id response))successBlock withFailBock:(void(^)(id errorInfo))failBlock;


-(void)lianmengClickAndShowWithRequsetUrl:(NSString *)requestUrl withpgnum:(NSString *)pgnum withisclientreport:(NSString *)isclientreport withClickrepOrShowrep:(NSArray *)clickrepOrShowrep withAdvid:(NSString *)advid  withNewsType:(NSString *)newstype withFrom:(NSString *)from withTo:(NSString *)to withIdx:(NSString *)idx withRefer:(NSString *)refer withReqtype:(NSString *)reqtype withSuccessBlock:(void(^)(id response))successBlock withFailBock:(void(^)(id errorInfo))failBlock;


#pragma mark - 广告进屏
- (void)newsListInviewreport:(NSArray *)news Type:(NSString *)type ithSuccessBlock:(void(^)(id response))successBlock withFailBock:(void(^)(id errorInfo))failBlock;
#pragma mark - 广告新模块 v3.1

//广告位
//slotid  Android:[信息流: ALIST，内页大图: ADETAILBIGIMG，内页三图 : ADETAILLIST，开屏: AOPEN，视频信息流: AVIDEOPLAY，视频内页: AVIDEODETAIL，视频暂停广告: AVIDEOPAUSE，单个三图位 : ATHREE，视频结束广告: AVIDEOEND，图集最后一页广告：APHOTOEND ，我的: AHOME ]
//IOS:[信息流: ILIST， 内页大图: IDETAILBIGIMG， 内页三图 : IDETAILLIST，开屏 : IOPEN，视频信息流 : IVIDEOPLAY，视频内页 : IVIDEODETAIL，视频暂停广告 : IVIDEOPAUSE，单个三图位 : ITHREE，视频结束广告：IVIDEOEND，图集最后一页广告：IPHOTOEND ，我的: IHOME ]
//(目前只支持新闻内页多个广告位获取数据 , 格式 : 广告位1-广告位2
// ADETAILBIGIMG-ADETAILLIST)


// slottype:广告位类型
//[开屏：100， 信息流：101， 插屏：102， Banner：103，原生： 104，奖励视频 ： 105，视频暂停广告 ： 106，视频播放结束广告 : 107,图集最后一页广告：108 ，个人中心：109，分享页：110 ]

- (void)getAdlistWith:(NSString *)pgtype newsType:(NSString *)newsType Url:(NSString *)url Pgnum:(NSString *)pgnum Slotid:(NSString *)slotid Slottype:(NSString *)slottype CacheNum:(NSInteger)cacheNum withSuccessBlock:(void(^)(id response))successBlock withFailBock:(void(^)(id errorInfo))failBlock;

-(void)getUnionAdWithSlotid:(NSString *)slotid withSlottype:(NSString *)slottype withcurrentcache:(NSString *)currentcache withSuccessBlock:(void(^)(id response))successBlock withFailBock:(void(^)(id errorInfo))failBlock;
#pragma mark - push
- (void)turnOffPush:(BOOL)isTurnOff;
    
    
@end
