BBASMDataSyncAdapterProtocol.h 3.82 KB
//
//  BBASMDataSyncAdapterProtocol.h
//  BBAMNP
//
//  Created by baidu on 2019/7/3.
//  Copyright © 2019 Baidu. All rights reserved.
//  同步服务API:http://wiki.baidu.com/pages/viewpage.action?pageId=202331915

#import <Foundation/Foundation.h>
#import "BBASMAdapterBaseImplement.h"

/**
 * 发送数据同步请求,返回block
 */
typedef void(^BBASMDataSyncBlk)(BOOL success, NSDictionary *resultDict, NSError *error);

@protocol BBASMDataSyncAdapterProtocol <NSObject>

/**
 * @brief 将单个数据(操作)同步到server
 *
 * @param isSubscribe 操作类型: true表示添加 false表示取消
 * @param type 资源类型
 * @param thirdID 第三方资源id
 * @param source 请求来源统计参数(手百pm分配)
 * @param sfrom 请求方统计参数(手百rd分配)
 * @param store 订阅关系存储类型: 1."uid_cuid"同时支持uid和cuid 2."uid"支持uid 3."cuid"支持cuid
 * @param additonParams 定制参数
 * @param completion 完成回调,包括: 1.请求是否成功 2.请求结果 2.失败时的错误信息
 */
+ (void)reportItemWithOPType:(BOOL)isSubscribe
                        type:(NSString *)type
                     thirdID:(NSString *)thirdID
                      source:(NSString *)source
                       sfrom:(NSString *)sfrom
                       store:(NSString *)store
              additionParams:(NSDictionary *)additonParams
                  completion:(BBASMDataSyncBlk)completion;


/**
 * @brief 将批量数据同步到server
 *
 * @param thirdIDList 第三方资源id的List
 * @param type 资源类型
 * @param source 请求来源统计参数(手百pm分配)
 * @param sfrom 请求方统计参数(手百rd分配)
 * @param store 订阅关系存储类型: 1."uid_cuid"同时支持uid和cuid 2."uid"支持uid 3."cuid"支持cuid
 * @param additonParams 定制参数
 * @param completion 完成回调,包括: 1.请求是否成功 2.请求结果 2.失败时的错误信息
 */
+ (void)batchReportItemsWithThirdIDList:(NSArray *)thirdIDList
                                   type:(NSString *)type
                                 source:(NSString *)source
                                  sfrom:(NSString *)sfrom
                                  store:(NSString *)store
                         additionParams:(NSDictionary *)additonParams
                             completion:(BBASMDataSyncBlk)completion;


/**
 * @brief 从server拉取数据
 *
 * @param type 资源类型
 * @param sfrom 请求方统计参数(手百rd分配)
 * @param store 订阅关系存储类型: 1."uid_cuid"同时支持uid和cuid 2."uid"支持uid 3."cuid"支持cuid
 * @param additonParams 定制参数
 * @param completion 完成回调,包括: 1.请求是否成功 2.请求结果数组
 */
+ (void)fetchItemsWithType:(NSString *)type
                     sfrom:(NSString *)sfrom
                     store:(NSString *)store
            additionParams:(NSDictionary *)additonParams
                completion:(void(^)(BOOL success, NSArray *items, NSError *error))completion;


/**
 * @brief 将数据顺序同步到server
 *
 * @param thirdIDList 第三方资源id的List
 * @param type 资源类型
 * @param sortIndex 数据移动到的位置
 * @param sfrom 请求方统计参数(手百rd分配)
 * @param store 订阅关系存储类型: 1."uid_cuid"同时支持uid和cuid 2."uid"支持uid 3."cuid"支持cuid
 * @param additonParams 定制参数
 * @param completion 完成回调,包括: 1.请求是否成功 2.请求结果 2.失败时的错误信息
 */
+ (void)sortItemsWithThirdIDList:(NSArray *)thirdIDList
                       sortIndex:(NSString *)sortIndex
                            type:(NSString *)type
                           sfrom:(NSString *)sfrom
                           store:(NSString *)store
                  additionParams:(NSDictionary *)additonParams
                      completion:(BBASMDataSyncBlk)completion;

@end