开发版本-developer——01 first commit

This commit is contained in:
wbzhan
2019-07-08 18:24:03 +08:00
parent 5a10dfa182
commit 8693efe121
386 changed files with 7069 additions and 1951 deletions
@@ -0,0 +1,108 @@
/*
* AlibcTradePageFactory.h
*
* 阿里百川电商
* 项目名称:阿里巴巴电商 AlibcTradeSDK
* 版本号:3.1.1.96
* 发布时间:2017-03-24
* 开发团队:阿里巴巴百川商业化团队
* 阿里巴巴电商SDK答疑群号:1229144682(阿里旺旺)
* Copyright (c) 2016-2019 阿里巴巴-移动事业群-百川. All rights reserved.
*/
#import <Foundation/Foundation.h>
@protocol AlibcTradePage <NSObject>
@end
NS_ASSUME_NONNULL_BEGIN
/** 页面工厂类,用于构造各类要显示的page */
@interface AlibcTradePageFactory : NSObject
/**
* 创建URL指定页面
*
* @param url 地址
*
* @return URL指定页面
*/
+ (id <AlibcTradePage>)page:(NSString *)url;
/**
* 创建商品真实ID或者混淆(open)ID对应的详情页面
*
* @param itemId 商品真实ID或者混淆(open)ID
*
* @return 详情页面
*/
+ (id <AlibcTradePage>)itemDetailPage:(NSString *)itemId;
/**
* 创建商品真实ID或者混淆(open)ID对应的迷你详情页面
*
* @param itemId 商品真实ID或者混淆(open)ID
*
* @return 详情页面
*/
+ (id <AlibcTradePage>)itemMiniDetailPage:(NSString *)itemId;
/**
* 创建我的购物车页面
*
* @return 我的购物车页面
*/
+ (id <AlibcTradePage>)myCartsPage;
/**
* 创建我的订单列表页面
*
* @param status 所要展示订单的订单状态
* 0: 为全部订单
* 1: 为待付款订单
* 2: 为待发货订单
* 3: 为待收货订单
* 4: 为待评价订单
* @param isAllOrder 是否显示全部订单
*
* YES: 显示全部订单
* NO : 显示ISV自己创建的订单
*
* @return 我的订单列表页面
*/
+ (id <AlibcTradePage>)myOrdersPage:(NSInteger)status isAllOrder:(BOOL)isAllOrder;
/**
* 创建店铺页面
*
* @param shopId 店铺ID
*
* @return 店铺页面
*/
+ (id <AlibcTradePage>)shopPage:(NSString *)shopId;
/**
* 创建添加到购物车页面
*
* @param itemId 商品真实ID或者混淆(open)ID
*
* @return 店铺页面
*/
+ (id <AlibcTradePage>)addCartPage:(NSString *)itemId;
/**
* 通过request加载指定页面,可以在里面自己附加header等
*
* @param request 请求
*
* @return URL指定页面
*/
+ (id <AlibcTradePage>)requestPage:(NSMutableURLRequest *)request;
@end
NS_ASSUME_NONNULL_END
@@ -0,0 +1,36 @@
/*
* AlibcTradeResult.h
*
* 阿里百川电商
* 项目名称:阿里巴巴电商 AlibcTradeSDK
* 版本号:3.1.1.96
* 发布时间:2017-03-24
* 开发团队:阿里巴巴百川商业化团队
* 阿里巴巴电商SDK答疑群号:1229144682(阿里旺旺)
* Copyright (c) 2016-2019 阿里巴巴-移动事业群-百川. All rights reserved.
*/
#import <Foundation/Foundation.h>
@class AlibcTradePayResult;
/** 交易结果类型 */
typedef NS_ENUM (NSUInteger, AlibcTradeResultType) {
/** 成功添加到购物车 */
AlibcTradeResultTypeAddCard,
/** 成功支付 */
AlibcTradeResultTypePaySuccess
};
/** 交易结果 */
@interface AlibcTradeResult : NSObject
/** 交易结果的类型 */
@property(nonatomic, assign) AlibcTradeResultType result;
/** 支付结果,只有Result为 AlibcTradeResultTypePaySuccess时有效 */
@property(nonatomic, strong, nullable) AlibcTradePayResult *payResult;
@end
@@ -0,0 +1,166 @@
/*
* AlibcTradeSDK.h
*
* 阿里百川电商
* 项目名称:阿里巴巴电商 AlibcTradeSDK
* 版本号:3.1.1.96
* 发布时间:2017-03-24
* 开发团队:阿里巴巴百川商业化团队
* 阿里巴巴电商SDK答疑群号:1229144682(阿里旺旺)
* Copyright (c) 2016-2019 阿里巴巴-移动事业群-百川. All rights reserved.
*/
#import <Foundation/Foundation.h>
#import "AlibcTradePageFactory.h"
#import "AlibcTradeService.h"
#import "AlibcTradeShowParams.h"
#import <AlibcTradeCommon/AlibcTradeCommon.h>
#import <AlibcTradeBiz/AlibcTradeBiz.h>
@interface AlibcTradeSDK : NSObject
/**
* AlibcTradeSDK 的单例对象
*/
+ (instancetype)sharedInstance;
/**
* !!!: 已弃用
* 初始化函数,初始化成功后方可正常使用SDK中的功能
*
* @param appKey 该App对应的AppKey
* @param onSuccess 初始化成功的回调
* @param onFailure 初始化失败的回调
*/
/*
- (void)asyncInit:(NSString*)appKey
success:(void (^)())onSuccess
failure:(void (^)(NSError *error))onFailure DEPRECATED_ATTRIBUTE;
*/
/**
* 初始化函数,初始化成功后方可正常使用SDK中的功能
*
* @param onSuccess 初始化成功的回调
* @param onFailure 初始化失败的回调
*/
- (void)asyncInitWithSuccess:(void (^)())onSuccess
failure:(void (^)(NSError *error))onFailure;
/**
* 获取service对象,该对象包含大部分Trade相关的方法
*/
- (id <AlibcTradeService>)tradeService;
/**
* ============================================================================
* 用于处理其他App的回跳
*
* @param url 需要进行判断的URL对象
*
* @return 是否被SDK进行处理
*
* 该接口已经启用, 请使用
* iOS 7&8: -[AlibcTradeSDK application:openURL:sourceApplication:annotation:]
* iOS 9+: -[AlibcTradeSDK application:openURL:options:] => iOS 9+
* 替代
* ============================================================================
*/
/* - (BOOL)handleOpenURL:(NSURL *)url; */
/**
* App 回跳处理, 适用于 iOS 9 以下的回调接口
@param application application
@param url url
@param sourceApplication sourceApplication
@param annotation annotation
@return handled or nor
*/
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation;
/**
* App 回跳处理, 适用于 iOS 9 起的回调接口
@param annotation annotation
@param url url
@param options options
@return handled or nor
*/
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
options:(NSDictionary<NSString *, id> *)options NS_AVAILABLE_IOS(9_0);
@end
@interface AlibcTradeSDK (Settings)
- (void)setDebugLogOpen:(BOOL)isDebugLogOpen;
/**
* 设置环境
*/
- (void)setEnv:(AlibcEnvironment)env;
/**
* 设置全局配置,是否强制使用h5
*
* @param isForceH5 是否强制使用h5,show接口的AlibcTradeShowParams参数优先级比这里高,AlibcTradeShowParams设置AlibcOpenTypeNative,依然可以跳手淘..
*/
- (void)setIsForceH5:(BOOL)isForceH5;
/*
* 设置是否对淘客使用同步打点
* 默认的淘客打点方式,sdk会自己选择合适的方式,调用该接口与否不影响打点,建议开发者不要调用自己配置
* 只有跟阿里妈妈申请了高分润的才需要设为同步
*
* @param isSync 是否对淘客使用同步打点
*/
- (void)setIsSyncForTaoke:(BOOL)isSync;
/**
* 设置三方App版本,可用于标识App版本
*
* @param version 版本字段
*/
- (void)setIsvVersion:(NSString *)version;
/**
* 设置App标识字段,和isvcode同义,可用于区分使用本SDK的具体三方App
*
* @param code isv code 字段
*/
- (void)setISVCode:(NSString *)code;
/**
* 设置默认淘客参数
*
* @param param 传入一个配置好的AlibcTradeTaokeParams作为默认淘客参数,详见 AlibcTradeTaokeParams.h
*/
- (void)setTaokeParams:(AlibcTradeTaokeParams *)param;
/**
* 设置渠道信息,渠道专享价专用.
*
* @param type 渠道类型
* @param name 渠道名
*/
- (void)setChannel:(NSString *)type name:(NSString *)name;
/**
* 开启接口免授权模式,
* 请不要随便设置,没有在后台申请相关的权限的,开启后会导致网络请求失败
*
*/
- (void)enableAuthVipMode;
/**
* 设置是否需要 Native AliPay 接口
*
* @param shouldUseAlipay 是否需要 Native AliPay 接口
*/
- (void)setShouldUseAlipayNative:(BOOL)shouldUseAlipayNative;
@end
@@ -0,0 +1,27 @@
/*
* AlibcTradeSDKDefines.h
*
* 阿里百川电商
* 项目名称:阿里巴巴电商 AlibcTradeSDK
* 版本号:3.1.1.96
* 发布时间:2017-03-24
* 开发团队:阿里巴巴百川商业化团队
* 阿里巴巴电商SDK答疑群号:1229144682(阿里旺旺)
* Copyright (c) 2016-2019 阿里巴巴-移动事业群-百川. All rights reserved.
*/
#ifndef AlibcTradeSDKDefines_h
#define AlibcTradeSDKDefines_h
/*
* trackParam 参数key说明
*/
#define track_scm @"scm"
#define track_pvid @"pvid"
#define track_isv_code @"isv_code"
typedef void (^AlibcTradeProcessSuccessCallback)(AlibcTradeResult *__nullable result);
typedef void (^AlibcTradeProcessFailedCallback)(NSError *__nullable error);
#endif /* AlibcTradeSDKDefines_h */
@@ -0,0 +1,71 @@
/*
* AlibcTradeService.h
*
* 阿里百川电商
* 项目名称:阿里巴巴电商 AlibcTradeSDK
* 版本号:3.1.1.96
* 发布时间:2017-03-24
* 开发团队:阿里巴巴百川商业化团队
* 阿里巴巴电商SDK答疑群号:1229144682(阿里旺旺)
* Copyright (c) 2016-2019 阿里巴巴-移动事业群-百川. All rights reserved.
*/
#import <Foundation/Foundation.h>
#import "AlibcTradeResult.h"
#import "AlibcTradePageFactory.h"
#import "AlibcTradeShowParams.h"
#import "AlibcTradeSDKDefines.h"
@class UIViewController;
@class UIWebView;
/** 交易服务 */
@protocol AlibcTradeService <NSObject>
/**
* 使用百川SDK的webview打开page,可以实现淘宝账号免登以及电商交易支付流程
*
* @param parentController 当前view controller. 若isNeedPush为YES, 需传入当前UINavigationController.
* @param page 想要打开的page
* @param showParams 打开方式的一些自定义参数
* @param taoKeParams 淘客参数
* @param trackParam 链路跟踪参数
* @param tradeProcessSuccessCallback 交易流程中成功回调(加购成功(使用+[AlibcTradePageFactory addCartPage:]时)/发生支付)
* @param tradeProcessFailedCallback 交易流程中退出或者调用发生错误的回调
*
* @return 0标识跳转到手淘打开了,1标识用h5打开,-1标识出错
*/
- (NSInteger) show:(UIViewController *__nonnull)parentController
page:(id <AlibcTradePage> __nonnull)page
showParams:(nullable AlibcTradeShowParams *)showParams
taoKeParams:(nullable AlibcTradeTaokeParams *)taoKeParams
trackParam:(nullable NSDictionary *)trackParam
tradeProcessSuccessCallback:(nullable void (^)(AlibcTradeResult *__nullable result))onSuccess
tradeProcessFailedCallback:(nullable void (^)(NSError *__nullable error))onFailure;
/**
* 使用isv自己的webview打开page,可以实现淘宝账号免登以及电商交易支付流程
*
* @param parentController webView所在的view controller.
* @param webView isv自己的webview,请先设置好自己的delegate先调用本接口,否则拦截登陆等逻辑会失效
* @param page 想要打开的page
* @param showParams 打开方式的一些自定义参数
* @param taoKeParams 淘客参数
* @param trackParam 链路跟踪参数
* @param tradeProcessSuccessCallback 交易流程中成功回调(加购成功(使用+[AlibcTradePageFactory addCartPage:]时)/发生支付)
* @param tradeProcessFailedCallback 交易流程中退出或者调用发生错误的回调
*
* @return 0: 标识跳转到手淘打开了
1: 标识用h5打开
-1: 标识出错
*/
- (NSInteger) show:(UIViewController *__nonnull)parentController
webView:(nullable UIWebView *)webView
page:(id <AlibcTradePage> __nonnull)page
showParams:(nullable AlibcTradeShowParams *)showParams
taoKeParams:(nullable AlibcTradeTaokeParams *)taoKeParams
trackParam:(nullable NSDictionary *)trackParam
tradeProcessSuccessCallback:(nullable void (^)(AlibcTradeResult *__nullable result))onSuccess
tradeProcessFailedCallback:(nullable void (^)(NSError *__nullable error))onFailure;
@end
@@ -0,0 +1,60 @@
/*
* AlibcTradeShowParams.h
*
* 阿里百川电商
* 项目名称:阿里巴巴电商 AlibcTradeSDK
* 版本号:3.1.1.96
* 发布时间:2017-03-24
* 开发团队:阿里巴巴百川商业化团队
* 阿里巴巴电商SDK答疑群号:1229144682(阿里旺旺)
* Copyright (c) 2016-2019 阿里巴巴-移动事业群-百川. All rights reserved.
*/
#import <Foundation/Foundation.h>
#import <AlibcTradeBiz/AlibcTradeBiz.h>
/**
* 打开页面的类型
*/
typedef NS_ENUM(NSUInteger, AlibcOpenType) {
/** 智能判断 */
AlibcOpenTypeAuto,
/** 强制跳手淘 */
AlibcOpenTypeNative,
/** 强制h5展示 */
AlibcOpenTypeH5
};
@interface AlibcTradeShowParams : NSObject
/**
* 是否为push方式打开新页面
* 当show page时传入自定义webview时,本参数没有实际意义
*
* NO : 在当前view controller上present新页面
* YES: 在传入的UINavigationController中push新页面
* 默认值:NO
*/
@property(nonatomic, assign) BOOL isNeedPush;
/**
* 打开页面的方式,详见AlibcOpenType
* 默认值:Auto
*/
@property(nonatomic, assign) AlibcOpenType openType;
/**
* 指定手淘回跳的地址,跳转至isv指定的url
* 规则: tbopen${appkey}://xx.xx.xx
*/
@property(nonatomic, strong) NSString *backUrl;
/**
* applink使用,优先拉起的linkKey,手淘:@"taobao_scheme"
*/
@property(nonatomic, strong) NSString *linkKey;
/**
* 跳手淘/天猫失败后的处理策略, 默认值为: AlibcNativeFailModeJumpH5
*/
@property(nonatomic, assign) AlibcNativeFailMode nativeFailMode;
@end
@@ -0,0 +1,33 @@
/*
* AlibcTradeTrackService.h
*
* 阿里百川电商
* 项目名称:阿里巴巴电商 AlibcTradeSDK
* 版本号:3.1.1.96
* 发布时间:2017-03-24
* 开发团队:阿里巴巴百川商业化团队
* 阿里巴巴电商SDK答疑群号:1229144682(阿里旺旺)
* Copyright (c) 2016-2019 阿里巴巴-移动事业群-百川. All rights reserved.
*/
#import <Foundation/Foundation.h>
//#import <AlibcTradeBiz/AlibcTrackParams.h>
/** 内容曝光 */
extern NSString *const AlibcTradeEventId_Exposure;
/** 内容点击 */
extern NSString *const AlibcTradeEventId_ContentClick;
@interface AlibcTradeTrackService : NSObject
/**
* isv添加自定义ut打点..
*
* @param eventId 事件名,系统自带事件名,见最上面的几个常量字符串
* @param Params 埋点参数
*/
+ (void)addTraceLog:(NSString *)eventId param:(AlibcTrackParams *)params;
@end