猎豆优选

AlibcTradeService.h 4.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. /*
  2. * AlibcTradeService.h
  3. *
  4. * 阿里百川电商
  5. * 项目名称:阿里巴巴电商 AlibcTradeSDK
  6. * 版本号:4.0.0.2
  7. * 发布时间:2019-9-15
  8. * 开发团队:阿里巴巴商家服务引擎团队
  9. * 阿里巴巴电商SDK答疑群号:1488705339 2071154343(阿里旺旺)
  10. * Copyright (c) 2016-2020 阿里巴巴-淘宝-百川. All rights reserved.
  11. */
  12. #import <Foundation/Foundation.h>
  13. #import <AlibcTradeBiz/AlibcTradeResult.h>
  14. #import "AlibcTradePageFactory.h"
  15. #import <AlibcTradeBiz/AlibcTradeShowParams.h>
  16. #import <AlibcTradeBiz/AlibcTradeSDKDefines.h>
  17. @class UIViewController;
  18. @class UIWebView;
  19. /** 电商服务 */
  20. @protocol AlibcTradeService <NSObject>
  21. /**
  22. *
  23. * 使用openUrl方式直接打开非官方code覆盖的链接
  24. *
  25. * @param url 想要打开的url (可以打开非openByBizCode所覆盖的url)
  26. * @param identity 电商套件标识(需要申请),目前固定传入 “trade”,后续开发申请通道
  27. * @param webView isv自己的webview,请先设置好自己的delegate先调用本接口,否则拦截登陆等逻辑会失效
  28. * @param parentController webView所在的view controller.
  29. * @param showParams 打开方式的一些自定义参数
  30. * @param taoKeParams 淘客参数
  31. * @param trackParam 链路跟踪参数
  32. * @param tradeProcessSuccessCallback 交易流程中成功回调(加购成功(使用+[AlibcTradePageFactory addCartPage:]时)/发生支付) 其余打开方式不返回
  33. * @param tradeProcessFailedCallback 交易流程中退出或者调用发生错误的回调 其余打开方式不返回
  34. *
  35. * @return 0: 标识跳转到手淘打开了
  36. 1: 标识用h5打开了
  37. 2: 标识用小程序打开了Url
  38. -1: 入参出错
  39. -2: 此URL需要使用openByCode 通过code来进行页面打开
  40. -3: 打开页面失败
  41. *
  42. *
  43. * 返回值 仅一种情况需要媒体处理 即当AlibcTradeShowParams 中 isNeedPush 为 YES时.此时需要媒体根据API返回值为1时 (应用內H5打开),在传入的UINavigationController中push新页面。
  44. *
  45. */
  46. - (NSInteger) openByUrl:(NSString *__nonnull)url
  47. identity:(NSString *__nonnull)identity
  48. webView:(nullable UIWebView *)webView
  49. parentController:(UIViewController *__nonnull)parentController
  50. showParams:(nullable AlibcTradeShowParams *)showParams
  51. taoKeParams:(nullable AlibcTradeTaokeParams *)taoKeParams
  52. trackParam:(nullable NSDictionary *)trackParam
  53. tradeProcessSuccessCallback:(nullable void (^)(AlibcTradeResult *__nullable result))onSuccess
  54. tradeProcessFailedCallback:(nullable void (^)(NSError *__nullable error))onFailure;
  55. /**
  56. *
  57. * 使用openByCode方式直接打开官方code覆盖的页面
  58. *
  59. * @param pageCode 后台申请的官方页面pageCode 目前支持“detail” “cart”.后续会开放更多的pageCode
  60. * @param page 想要打开的page
  61. * @param webView isv自己的webview,请先设置好自己的delegate先调用本接口,否则拦截登陆等逻辑会失效
  62. * @param parentController webView所在的view controller.
  63. * @param showParams 打开方式的一些自定义参数
  64. * @param taoKeParams 淘客参数
  65. * @param trackParam 链路跟踪参数
  66. * @param tradeProcessSuccessCallback 交易流程中成功回调(加购成功(使用+[AlibcTradePageFactory addCartPage:]时)/发生支付) 其余打开方式不返回
  67. * @param tradeProcessFailedCallback 交易流程中退出或者调用发生错误的回调 其余打开方式不返回
  68. *
  69. * @return 0: 标识跳转到手淘打开了
  70. 1: 标识用h5打开了
  71. 2: 标识用小程序打开了Url
  72. -1: 入参出错
  73. -2: 打开页面失败
  74. *
  75. *
  76. * 返回值 仅一种情况需要媒体处理 即当AlibcTradeShowParams 中 isNeedPush 为 YES时.此时需要媒体根据API返回值为1时 (应用內H5打开),在传入的UINavigationController中push新页面。
  77. *
  78. */
  79. - (NSInteger) openByBizCode:(NSString *__nonnull)pageCode
  80. page:(id <AlibcTradePage> __nonnull)page
  81. webView:(nullable UIWebView *)webView
  82. parentController:(UIViewController *__nonnull)parentController
  83. showParams:(nullable AlibcTradeShowParams *)showParams
  84. taoKeParams:(nullable AlibcTradeTaokeParams *)taoKeParams
  85. trackParam:(nullable NSDictionary *)trackParam
  86. tradeProcessSuccessCallback:(nullable void (^)(AlibcTradeResult *__nullable result))onSuccess
  87. tradeProcessFailedCallback:(nullable void (^)(NSError *__nullable error))onFailure;
  88. @end