开发版本-developer——01 first commit
This commit is contained in:
+108
@@ -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
|
||||
|
||||
Executable
+36
@@ -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
|
||||
|
||||
|
||||
|
||||
+166
@@ -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
|
||||
+27
@@ -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 */
|
||||
+71
@@ -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
|
||||
+60
@@ -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
|
||||
+33
@@ -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
|
||||
Reference in New Issue
Block a user