aliBC

asyncInit setSyncForTaoke setIsAuthVip setIsvCode setIsvVersion setIsvAppName setTaokeParams setChannel showLogin logout getUserInfo showDetailPage showAddCartPage showMyOrders showMyCarts showShopPage showPageByUrl

外部webview方式打开电商组件 相关接口:

showPageByUrlWeb addPageFinListener addLoadingListener addJsToPage removeJsListener webGoBack removeWeb setHookUrl

工具类接口

getFeature

论坛示例

为帮助用户更好更快的使用模块,论坛维护了一个示例,示例中包含示例代码供您参考。

概述

aliBC模块 封装了阿里百川电商sdk,能够使你的app快速集成淘宝的电商功能,包括授权登录,查看商品详情,查看店铺,查看我的订单,查看购物车和商品支付等整个交易闭环,同时支持外部webview的方式打开url,使用本模块需要遵从阿里百川的申请流程,需要登录阿里百川,进入控制台,创建应用并获取sdk的安全图片,此外该模块需要和 xxxkey(该模块为自定义模块,封装安全图片用,模块名称可以自己定义)模块绑定使用。

注意事项:

  • 该版本对应百川SDK版本为 ios-4.0.1.6, android-4.0.0.8
  • 从2.0.0版本开始本模块只支持使用升级环境编译(android端)!
  • 从2.0.0版本开始 百川安全图片采用V5模式
  • 本模块中不再包含支付宝SDK,如需支付宝模块可以选择aliPayTradePlus

使用该模块的 优点:

  • 除了支持使用 手淘/天猫 和 百川默认的H5 等基本功能和页面外,本模块还支持用户 自定义页面(通过Url打开)位置、大小 以及淘宝页面和本地页面的js交互
  • 支持 唤醒手淘/高佣转链/跨店结算功能,详情请查看淘宝公告

准备事项

1.首先加入百川http://baichuan.taobao.com/,在阿里百川控制台创建应用获取appkey:

aliBC - 图1

2.在阿里百川控制台“API申请”中申请相应的API权限:

aliBC - 图2

3.在阿里百川控制台”我的产品后台”中查看是否开通百川电商sdk:

aliBC - 图3

4.生成安全图片:(使用V5版安全图片,android 需要上传apk,iOS只需要填写 bundleId:可在apicloud控制台概览里查看)

aliBC - 图4

5.套件申请(通过url打开淘系页面时,可以透传登录状态)

aliBC - 图5

6.配置 Android 自定义模块:(如 aliBCKey)

首先下载aliBCKey模块,将其解压并将Android的安全图片 yw_1222.jpg 放到文件夹 aliBCKey\res_aliBCKey\res\drawable 目录下替换原有图片,重新打包成zip,即可作为自定义模块使用。(自定义模块名称可以更改为你想要的,如目录结构 xxx\res_xxx\res\drawable)

7.配置 ios 自定义模块:(如 aliBCKey)

首先下载aliBCKey模块,将其解压并将ios的安全图片 yw_1222_baichuan.jpg 放到文件夹 aliBCKey\target目录下替换原有图片,重新打包成zip,即可作为自定义模块使用。(自定义模块名称可以更改为你想要的,如目录结构 xxx\target)

8.使用此模块之前需先配置 config.xml 文件,配置完毕,需通过云端编译生效,配置方法如下:

  • 模块名称:aliBC
  • 参数:urlScheme, querySchemes
  • 参数说明:

    • urlScheme参数用于处理应用间的跳转,值为tbopen+appkey, appkey是在阿里百川上申请的appkey.
    • querySchemes参数用于配置可被检测的URL Scheme,多个参数用逗号隔开,本模块需添加tbopen,tmall两个参数.

    • 配置示例:

  1. <preference name="querySchemes" value="tbopen,tmall"/>
  2. <feature name="aliBC">
  3. <param name="urlScheme" value="tbopen23417814"/>
  4. </feature>

asyncInit

初始化SDK(调用优先级最高,只需要调用一次)

asyncInit({param},callback(ret,err))

params

addLoginState:

  • 类型:布尔类型
  • 默认值:true
  • 描述:(可选项)是否对淘宝授权登录事件进行监听,设置监听后登录淘宝会触发一个名为“TBLoginEvent”的广播事件,可通过api.addEventListener对该事件进行监听。
  • 示例:

    设置监听后可以添加api事件监听来获取相关信息:

    1. api.addEventListener({name: 'TBLoginEvent'}, function(ret, err) {
    2. console.log(ret.openSid+','+ret.openId+','+ret.nick+','+ret.avatarUrl);
    3. });

callback(ret)

ret:

  • 类型:JSON对象
  • 描述:返回值
  • 内部字段:
  1. {
  2. status: true //布尔型,初始化成功
  3. code:0 //数字型
  4. message:'淘宝初始化成功' //字符串,提示信息
  5. }

err:

  • 类型:JSON对象
  • 描述:返回值
  • 内部字段:
  1. {
  2. code:-1 //数字型,错误提示码
  3. message:'' //字符串,提示信息
  4. }

示例代码

  1. var aliBC = api.require('aliBC');
  2. aliBC.asyncInit({
  3. // addLoginState:false
  4. },function(ret,err){
  5. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setSyncForTaoke

设置SDK 淘客打点策略(sdk默认采用淘客同步打点)

setSyncForTaoke({params}, callback(ret))

注意:初始化完成后调用才能生效

params

isSyncForTaoke:

  • 类型:布尔类型
  • 默认值:true
  • 描述:(可选项)设置是否使用同步淘客打点。true:使用淘客同步打点;false:关闭同步打点,使用异步打点。
  • 注意:在加购场景下,只有异步淘客打点

callback(ret)

ret:

  • 类型:JSON对象
  • 描述:返回值 仅Android有返回
  • 内部字段:
  1. {
  2. status: true|false //布尔型,返回同步淘客打点策略是否设置成功
  3. }

示例代码

  1. var aliBC = api.require('aliBC');
  2. aliBC.setSyncForTaoke({isSyncForTaoke:false},function(ret,err){
  3. alert(JSON.stringify(ret));
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setIsAuthVip

开启接口免授权模式

注意:请不要随便设置,没有在后台申请相关的权限的,开启后会导致网络请求失败

setIsAuthVip()

示例代码

  1. var aliBC = api.require('aliBC');
  2. aliBC.setIsAuthVip();

可用性

iOS系统,Android系统

可提供的2.0.2及更高版本

setIsvCode

设置App标识字段,可用于区分使用本SDK的具体三方App

setIsvCode({params})

params

code:

  • 类型:字符串
  • 默认:无

callback(ret)

ret:

  • 类型:JSON对象
  • 描述:返回值 仅Android有返回
  • 内部字段:
  1. {
  2. status: true|false //布尔型,返回淘客参数是否设置成功
  3. }

示例代码

  1. var aliBC = api.require('aliBC');
  2. aliBC.setIsvCode({code:'xxxx'},function(ret,err){
  3. alert(JSON.stringify(ret));
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setIsvVersion

设置三方App版本,可用于标识App版本

setIsvVersion({params})

params

version:

  • 类型:字符串
  • 默认:无

示例代码

  1. var aliBC = api.require('aliBC');
  2. aliBC.setIsvVersion({version:'1.0.0'});

可用性

iOS系统,Android系统

可提供的2.0.2及更高版本

setIsvAppName

设置三方App名字,可用于标识App名字(仅iOS有效

setIsvAppName({params})

params

name:

  • 类型:字符串
  • 默认:无

示例代码

  1. var aliBC = api.require('aliBC');
  2. aliBC.setIsvAppName({name:'appname'});

可用性

iOS系统

可提供的2.0.2及更高版本

setTaokeParams

设置淘客全局参数

setTaokeParams({params}, callback(ret))

注意:初始化完成后调用才能生效

params

pid:

adzoneId:

  • 类型:字符串
  • 描述:(可选项)淘宝联盟adzoneId。高佣转链/跨店结算 功能所需, 如果走adzoneId的方式分佣打点,需要在extraParams中显式传入taokeAppkey,否则打点失败。功能介绍

extraParams:

  • 类型:JSON对象
  • 描述:(可选项)adzoneId参数不为空时需要此参数,
  • 内部字段:
  1. {
  2. taokeAppkey: "", //淘宝联盟后台的APPKEY字段
  3. ... // 后续百川有新参数可以直接在这里扩展
  4. }

callback(ret)

ret:

  • 类型:JSON对象
  • 描述:返回值 仅Android有返回
  • 内部字段:
  1. {
  2. status: true|false //布尔型,返回淘客参数是否设置成功
  3. }

示例代码

  1. var aliBC = api.require('aliBC');
  2. aliBC.setTaokeParams({pid:'mm_xxxx_xxxx_xxxx'},function(ret,err){
  3. alert(JSON.stringify(ret));
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setChannel

设置渠道信息(如果有渠道专享价,需要设置)

setChannel({params})

注意:初始化完成后调用才能生效

params

typeName:

  • 类型:字符串
  • 默认值:“0”
  • 描述:(可选项)设置渠道类型

channelName:

  • 类型:字符串
  • 默认值:null
  • 描述:(可选项)设置渠道名称

示例代码

  1. var aliBC = api.require('aliBC');
  2. aliBC.setChannel({
  3. typeName:'0',
  4. channelName:'developer'
  5. },function(ret,err){});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

showLogin

授权登录

showLogin(callback(ret,err))

callback(ret,err)

ret:

  • 类型:JSON对象
  • 描述:返回值
  • 内部字段:
  1. {
  2. status: true, //是否授权登录成功
  3. isLogin : true, //是否授权登录成功
  4. nick : '', //昵称
  5. avatarUrl : '', //头像地址
  6. openId : '', //用户标识
  7. openSid : '', //用户标识
  8. userid : '', //仅android有此返回值
  9. topAccessToken:'' //仅iOS有此返回值
  10. topAuthCode : '' //仅iOS有此返回值
  11. }

err:

  • 类型:JSON对象
  • 描述:返回值
  • 内部字段:
  1. {
  2. code : 1, //数字类型;错误码
  3. message : '', //字符串;错误提示信息
  4. }

示例代码

  1. var aliBC = api.require('aliBC');
  2. aliBC.showLogin(function(ret,err){
  3. if(ret.status){
  4. alert(JSON.stringify(ret));
  5. }else{
  6. alert(JSON.stringify(err));
  7. }
  8. });

可用性

ios系统,Android系统

可提供的1.0.0及更高版本

logout

注销

logout(callback(ret,err))

callback(ret,err)

ret:

  • 类型:JSON对象
  • 描述:返回值
  • 内部字段:
  1. {
  2. status: true, //布尔值,操作成功
  3. }

err:

  • 类型:JSON对象
  • 描述:返回值
  • 内部字段:
  1. {
  2. code : 1, //数字类型;错误码
  3. message : '', //字符串;错误提示信息
  4. }

示例代码

  1. var aliBC = api.require('aliBC');
  2. aliBC.logout(function(ret,err){
  3. if(ret.status){
  4. alert(JSON.stringify(ret));
  5. }else{
  6. alert(JSON.stringify(err));
  7. }
  8. });

可用性

ios系统,Android系统

可提供的1.0.0及更高版本

getUserInfo

获取用户信息

getUserInfo(callback(ret,err))

callback(ret)

ret:

  • 类型:JSON对象
  • 描述:返回值
  • 内部字段:
  1. {
  2. status: true|false, //布尔值,操作是否成功
  3. isLogin : true, //是否授权登录了淘宝
  4. nick : '', //昵称
  5. avatarUrl : '', //头像地址
  6. openId : '', //用户标识
  7. openSid : '', //用户标识
  8. userid : '', //仅android有此返回值
  9. topAccessToken:'' //仅iOS有此返回值
  10. topAuthCode : '' //仅iOS有此返回值
  11. }

示例代码

  1. var aliBC = api.require('aliBC');
  2. aliBC.getUserInfo(function(ret,err){
  3. if(ret.status){
  4. alert(JSON.stringify(ret));
  5. }else{
  6. alert(JSON.stringify(ret));
  7. }
  8. });

可用性

ios系统,Android系统

可提供的1.0.0及更高版本

showDetailPage

打开淘宝商品详情页(注意:现在百川强制跳转手淘,如果没跳手淘而是打开的H5页面 则不能成功购买和加入购物车

showDetailPage({params},callback(ret,err))

params

itemId:

  • 类型:字符串
  • 描述:商品id。支持itemId和openItemId的商品(如:37196464781L,AAHd5d-HAAeGwJedwSnHktBI),必填,不允许为null
  • 注意:客户端openItemId(或者openId)即将下线,请注意使用。

openType:

  • 类型:字符串
  • 默认:’auto’
  • 描述:(可选项)打开页面的方式
  • 取值范围:
    • ‘auto’ //智能判断(安装了手淘/天猫时打开手淘/天猫,否则走failModeType模式打开)
    • ‘native’ //手机淘宝/天猫

linkKey:

  • 类型:字符串
  • 默认:无
  • 描述:(可选项)当打开页面的方式(openType)为native时,设置拉起手淘or天猫。(不传则走百川默认设置,建议传值)
  • 取值范围:
    • ‘tmall’ //拉起天猫
    • ‘taobao’ //拉起手淘

pid:

adzoneId:

  • 类型:字符串
  • 描述:(可选项)淘宝联盟adzoneId。高佣转链/跨店结算 功能所需, 如果走adzoneId的方式分佣打点,需要在extraParams中显式传入taokeAppkey,否则打点失败。功能介绍

extraParams:

  • 类型:JSON对象
  • 描述:(可选项)adzoneId参数不为空时需要此参数,
  • 内部字段:
  1. {
  2. taokeAppkey: "", //淘宝联盟后台的APPKEY字段
  3. ... // 后续百川有新参数可以直接在这里扩展
  4. }

backUrl:

  • 类型:字符串
  • 默认:无
  • 描述:用于打开手淘时的 “返回(小把手)” 的点击返回,目前ios传空字符串,android传config.xml文件中配置的urlScheme(即tbopen+appkey)

degradeUrl:

  • 类型:字符串
  • 默认:(可选项)无
  • 描述:降级url,如果唤端失败且设置了降级url,则加载该url

failModeType:

  • 类型:字符串
  • 默认:无 (没安装手淘的时候会打开手淘的下载页面—SDK默认逻辑)
  • 描述:用于控制没安装手淘或者没检测到手淘的时候的打开页面逻辑
  • 取值范围:
    • ‘jumpH5’ //打开H5页面
    • ‘none’ //不做处理

pageClose:

  • 类型:布尔型
  • 默认:true
  • 描述:(可选项) 购买商品支付成功后是否关闭淘宝页面。true:关闭,false:不关闭。仅在Android H5页面生效

trackParams:

  • 类型:JSON对象
  • 默认:null
  • 描述:(可选项)自定义参数(暂时没发现啥用,但百川有就保留了)

callback(ret,err)

ret:

  • 类型:JSON对象
  • 描述:购买成功后返回
  • 内部字段:
  1. {
  2. status: true, //布尔值,购买操作成功
  3. ordersId : [], //字符串数组,购买成功后返回的订单号
  4. }

err:

  • 类型:JSON对象
  • 描述:错误时返回
  • 内部字段:
  1. {
  2. code: 0, //数值类型,淘宝返回的错误code
  3. message : '', //字符串,错误信息
  4. }

示例代码

  1. var aliBC = api.require('aliBC');
  2. aliBC.showDetailPage(
  3. {
  4. itemId:'37196464781L',
  5. openType:'native',
  6. backUrl: api.systemType == 'ios' ? '' : 'tbopenXXXX',
  7. adzoneId:'',
  8. extraParams:{
  9. taokeAppkey:''
  10. },
  11. pid:'mm_xxxxxx_xxxxxx'
  12. },function(ret,err){
  13. if(ret){
  14. alert(JSON.stringify(ret));
  15. }else{
  16. alert(JSON.stringify(err));
  17. }
  18. });

可用性

ios系统,Android系统

可提供的1.0.0及更高版本

showAddCartPage

打开淘宝加入购物车页面(该接口暂未开放)

showAddCartPage({params},callback(ret,err))

params

code:

  • 类型:字符串
  • 描述:打开页面的控制参数
  • 取值:如果后面淘宝开放了该接口,会在论坛示例里面说明

其余参数和showDetailPage接口一致

callback(ret,err)

ret:

  • 类型:JSON对象
  • 描述:加购/购买成功后返回
  • 内部字段:
  1. {
  2. status: true, //布尔值,操作状态
  3. message : '加购成功', //字符串,仅在加购成功后返回的提示信息
  4. ordersId : [], //字符串数组,仅在购买成功后返回的订单号
  5. }

err:

  • 类型:JSON对象
  • 描述:错误时返回
  • 内部字段:
  1. {
  2. code: -1, //数值类型,code
  3. message : '', //字符串,提示信息
  4. }

示例代码

  1. var aliBC = api.require('aliBC');
  2. aliBC.showAddCartPage(
  3. {
  4. itemId:'37196464781L',
  5. openType:'h5',
  6. pid:''
  7. },function(ret,err){
  8. if(ret){
  9. alert(JSON.stringify(ret));
  10. }else{
  11. alert(JSON.stringify(err));
  12. }
  13. });

可用性

ios系统,Android系统

可提供的1.0.0及更高版本

showMyOrders

打开我的订单页面(该接口暂未开放)

showMyOrders({params},callback(ret,err))

params

code:

  • 类型:字符串
  • 描述:打开页面的控制参数
  • 取值:如果后面淘宝开放了该接口,会在论坛示例里面说明

orderStatus:

  • 类型:int
  • 默认:0
  • 描述:默认跳转页面。0:全部;1:待付款;2:待发货;3:待收货;4:待评价

allOrder:

  • 类型:布尔型
  • 默认:false
  • 描述:false 进行订单分域(只展示通过当前app下单的订单),true 显示所有订单

其余参数(除没有itemId外)和showDetailPage接口一致

callback(ret,err)

ret:

  • 类型:JSON对象
  • 描述:购买成功后返回
  • 内部字段:
  1. {
  2. status: true, //布尔值,操作状态
  3. ordersId : [], //字符串数组,订单号数组
  4. }

err:

  • 类型:JSON对象
  • 描述:错误时返回
  • 内部字段:
  1. {
  2. code: -1, //数值类型,code
  3. message : '', //字符串,提示信息
  4. }

示例代码

  1. var aliBC = api.require('aliBC');
  2. aliBC.showMyOrders(
  3. {
  4. orderStatus:0,
  5. allOrder:false
  6. pid:''
  7. },function(ret,err){
  8. if(ret){
  9. alert(JSON.stringify(ret));
  10. }else{
  11. alert(JSON.stringify(err));
  12. }
  13. });

可用性

ios系统,Android系统

可提供的1.0.0及更高版本

showMyCarts

打开我的购物车(该接口暂不稳定,请注意测试;如不能打开可以使用showPageByUrl 传url为https://market.m.taobao.com/app/dinamic/h5-tb-cart-old/index.html实现

showMyCarts({params},callback(ret,err))

params

openType:

  • 类型:字符串
  • 默认:’auto’
  • 描述:(可选项)打开页面的方式:拉起手淘/天猫 和 h5打开页面,默认值:h5
  • 取值范围:
    • ‘auto’ //智能判断
    • ‘native’ //手机淘宝/天猫

linkKey:

  • 类型:字符串
  • 默认:无
  • 描述:(可选项)当打开页面的方式(openType)为native时,设置拉起手淘or天猫。(不传则走百川默认设置,建议传值)
  • 取值范围:
    • ‘tmall’ //拉起天猫
    • ‘taobao’ //拉起手淘

pid:

adzoneId:

  • 类型:字符串
  • 描述:(可选项)淘宝联盟adzoneId。高佣转链/跨店结算 功能所需, 如果走adzoneId的方式分佣打点,需要在extraParams中显式传入taokeAppkey,否则打点失败。功能介绍

extraParams:

  • 类型:JSON对象
  • 描述:(可选项)adzoneId参数不为空时需要此参数,
  • 内部字段:
  1. {
  2. taokeAppkey: "", //淘宝联盟后台的APPKEY字段
  3. ... // 后续百川有新参数可以直接在这里扩展
  4. }

backUrl:

  • 类型:字符串
  • 默认:无
  • 描述:用于打开手淘时的 “返回(小把手)” 的点击返回,目前ios传空字符串,android传config.xml文件中配置的urlScheme(即tbopen+appkey)

degradeUrl:

  • 类型:字符串
  • 默认:(可选项)无
  • 描述:降级url,如果唤端失败且设置了降级url,则加载该url

failModeType:

  • 类型:字符串
  • 默认:无 (没安装手淘的时候会打开手淘的下载页面—SDK默认逻辑)
  • 描述:用于控制没安装手淘或者没检测到手淘的时候的打开页面逻辑
  • 取值范围:
    • ‘jumpH5’ //打开H5页面
    • ‘none’ //不做处理

pageClose:

  • 类型:布尔型
  • 默认:true
  • 描述:(可选项) 购买商品支付成功后是否关闭淘宝页面。true:关闭,false:不关闭。仅在Android H5页面生效

trackParams:

  • 类型:JSON对象
  • 默认:null
  • 描述:(可选项)自定义参数(暂时没发现啥用,但百川有就保留了)

callback(ret,err)

ret:

  • 类型:JSON对象
  • 描述:购买成功后返回
  • 内部字段:
  1. {
  2. status: true, //布尔值,操作状态
  3. ordersId : [], //字符串数组,订单号数组
  4. }

err:

  • 类型:JSON对象
  • 描述:错误时返回
  • 内部字段:
  1. {
  2. code: -1, //数值类型,code
  3. message : '', //字符串,提示信息
  4. }

示例代码

  1. var aliBC = api.require('aliBC');
  2. aliBC.showMyCarts(
  3. {
  4. pid:''
  5. },function(ret,err){
  6. if(ret){
  7. alert(JSON.stringify(ret));
  8. }else{
  9. alert(JSON.stringify(err));
  10. }
  11. });

可用性

ios系统,Android系统

可提供的1.0.0及更高版本

showShopPage

打开淘宝店铺页面

showShopPage({params},callback(ret,err))

params

shopId:

  • 类型:字符串
  • 描述:店铺id,支持明文id

openType:

  • 类型:字符串
  • 默认:’auto’
  • 描述:(可选项)打开页面的方式:拉起手淘/天猫 和 h5打开页面,默认值:h5
  • 取值范围:
    • ‘auto’ //智能判断
    • ‘native’ //手机淘宝/天猫

linkKey:

  • 类型:字符串
  • 默认:无
  • 描述:(可选项)当打开页面的方式(openType)为native时,设置拉起手淘or天猫。(不传则走百川默认设置,建议传值)
  • 取值范围:
    • ‘tmall’ //拉起天猫
    • ‘taobao’ //拉起手淘

pid:

adzoneId:

  • 类型:字符串
  • 描述:(可选项)淘宝联盟adzoneId。高佣转链/跨店结算 功能所需, 如果走adzoneId的方式分佣打点,需要在extraParams中显式传入taokeAppkey,否则打点失败。功能介绍

extraParams:

  • 类型:JSON对象
  • 描述:需要在extraParams中显式传入sellerId,否则同步打点转链失败,
  • 内部字段:
  1. {
  2. taokeAppkey: "", //淘宝联盟后台的APPKEY字段
  3. sellerId //(**必传**)
  4. ... // 后续百川有新参数可以直接在这里扩展
  5. }

backUrl:

  • 类型:字符串
  • 默认:无
  • 描述:用于打开手淘时的 “返回(小把手)” 的点击返回,目前ios传空字符串,android传config.xml文件中配置的urlScheme(即tbopen+appkey)

degradeUrl:

  • 类型:字符串
  • 默认:(可选项)无
  • 描述:降级url,如果唤端失败且设置了降级url,则加载该url

failModeType:

  • 类型:字符串
  • 默认:无 (没安装手淘的时候会打开手淘的下载页面—SDK默认逻辑)
  • 描述:用于控制没安装手淘或者没检测到手淘的时候的打开页面逻辑
  • 取值范围:
    • ‘jumpH5’ //打开H5页面
    • ‘none’ //不做处理

pageClose:

  • 类型:布尔型
  • 默认:true
  • 描述:(可选项) 购买商品支付成功后是否关闭淘宝页面。true:关闭,false:不关闭。仅在Android H5页面生效

trackParams:

  • 类型:JSON对象
  • 默认:null
  • 描述:(可选项)自定义参数(暂时没发现啥用,但百川有就保留了)

callback(ret,err)

ret:

  • 类型:JSON对象
  • 描述:购买成功后返回
  • 内部字段:
  1. {
  2. status: true, //布尔值,操作状态
  3. ordersId : [], //字符串数组,订单号数组
  4. }

err:

  • 类型:JSON对象
  • 描述:错误时返回
  • 内部字段:
  1. {
  2. code: -1, //数值类型,code
  3. message : '', //字符串,提示信息
  4. }

示例代码

  1. var aliBC = api.require('aliBC');
  2. aliBC.showShopPagge(
  3. {
  4. shopId:'60552065',
  5. openType:'h5',
  6. pid:''
  7. },function(ret,err){
  8. if(ret){
  9. alert(JSON.stringify(ret));
  10. }else{
  11. alert(JSON.stringify(err));
  12. }
  13. });

可用性

ios系统,Android系统

可提供的1.0.0及更高版本

showPageByUrl

打开url展示页面。(注意 打开淘系地址会跳转手淘,具体页面打开逻辑需要自己多测试!!!)

showPageByUrl({params},callback(ret,err))

params

url:

  • 类型:字符串
  • 描述:url

openType:

  • 类型:字符串
  • 默认:’auto’
  • 描述:(可选项)打开页面的方式:拉起手淘/天猫 和 h5打开页面,默认值:h5
  • 取值范围:
    • ‘auto’ //智能判断
    • ‘native’ //手机淘宝/天猫

linkKey:

  • 类型:字符串
  • 默认:无
  • 描述:(可选项)当打开页面的方式(openType)为native时,设置拉起手淘or天猫。(不传则走百川默认设置,建议传值)
  • 取值范围:
    • ‘tmall’ //拉起天猫
    • ‘taobao’ //拉起手淘

pid:

adzoneId:

  • 类型:字符串
  • 描述:(可选项)淘宝联盟adzoneId。高佣转链/跨店结算 功能所需, 如果走adzoneId的方式分佣打点,需要在extraParams中显式传入taokeAppkey,否则打点失败。功能介绍

extraParams:

  • 类型:JSON对象
  • 描述:(可选项)adzoneId参数不为空时需要此参数,
  • 内部字段:
  1. {
  2. taokeAppkey: "", //淘宝联盟后台的APPKEY字段
  3. ... // 后续百川有新参数可以直接在这里扩展
  4. }

backUrl:

  • 类型:字符串
  • 默认:无
  • 描述:用于打开手淘时的 “返回(小把手)” 的点击返回,目前ios传空字符串,android传config.xml文件中配置的urlScheme(即tbopen+appkey)

degradeUrl:

  • 类型:字符串
  • 默认:(可选项)无
  • 描述:降级url,如果唤端失败且设置了降级url,则加载该url

failModeType:

  • 类型:字符串
  • 默认:无 (没安装手淘的时候会打开手淘的下载页面—SDK默认逻辑)
  • 描述:用于控制没安装手淘或者没检测到手淘的时候的打开页面逻辑
  • 取值范围:
    • ‘jumpH5’ //打开H5页面
    • ‘none’ //不做处理

pageClose:

  • 类型:布尔型
  • 默认:true
  • 描述:(可选项) 购买商品支付成功后是否关闭淘宝页面。true:关闭,false:不关闭。仅在Android H5页面生效

trackParams:

  • 类型:JSON对象
  • 默认:null
  • 描述:(可选项)自定义参数(暂时没发现啥用,但百川有就保留了)

callback(ret,err)

ret:

  • 类型:JSON对象
  • 描述:购买成功后返回
  • 内部字段:
  1. {
  2. status: true, //布尔值,操作状态
  3. ordersId : [], //字符串数组,订单号数组
  4. }

err:

  • 类型:JSON对象
  • 描述:错误时返回
  • 内部字段:
  1. {
  2. code: -1, //数值类型,code
  3. message : '', //字符串,提示信息
  4. }

示例代码

  1. var aliBC = api.require('aliBC');
  2. aliBC.showPageByUrl(
  3. {
  4. url:'https://market.m.taobao.com/app/dinamic/h5-tb-cart-old/index.html',
  5. pid:'',
  6. pageClose:false
  7. },function(ret,err){
  8. if(ret){
  9. alert(JSON.stringify(ret));
  10. }else{
  11. alert(JSON.stringify(err));
  12. }
  13. });

可用性

ios系统,Android系统

可提供的1.0.0及更高版本

外部webview方式打开电商组件 相关接口:

showPageByUrlWeb

使用外部webview方式,打开url展示页面。(注意 打开淘系地址会跳转手淘,具体页面打开逻辑需要自己多测试!!!)

showPageByUrlWeb({params},callback(ret,err))

params

url:

  • 类型:字符串
  • 描述:url

hookUrl:

  • 类型:字符串
  • 默认:无
  • 描述:要拦截的url (当页面中跳转的链接包含hookUrl字段时 进行拦截,如:ios下传”tbopen://“可以阻止目前的二合一页面跳转手淘)

rect:

  • 类型:JSON 对象
  • 默认值:充满整个父页面
  • 描述:(可选项)frame 的位置和大小。
  • 内部字段:
  1. {
  2. x:0, //左上角x坐标
  3. y:0, //左上角y坐标
  4. w:320, //宽度,若传'auto',页面从x位置开始自动充满父页面宽度
  5. h:480 //高度,若传'auto',页面从y位置开始自动充满父页面高度
  6. }

fixedOn:

  • 类型:字符串类型
  • 描述:(可选项)模块视图添加到指定 frame 的名字(只指 frame,传 window 无效)
  • 默认:模块依附于当前 window

fixed:

  • 类型:布尔
  • 默认值:true
  • 描述:是否将模块视图固定到窗口上,不跟随窗口上下滚动,可为空

jsObjectName:

  • 类型:字符串
  • 描述:(可选项) 注入到h5页面的全局window属性对象名称,可与addJsToPage配合使用。

openType:

  • 类型:字符串
  • 默认:’auto’
  • 描述:(可选项)打开页面的方式:拉起手淘/天猫 和 h5打开页面,默认值:h5
  • 取值范围:
    • ‘auto’ //智能判断
    • ‘native’ //手机淘宝/天猫

linkKey:

  • 类型:字符串
  • 默认:无
  • 描述:(可选项)当打开页面的方式(openType)为native时,设置拉起手淘or天猫。(不传则走百川默认设置,建议传值)
  • 取值范围:
    • ‘tmall’ //拉起天猫
    • ‘taobao’ //拉起手淘

pid:

adzoneId:

  • 类型:字符串
  • 描述:(可选项)淘宝联盟adzoneId。高佣转链/跨店结算 功能所需, 如果走adzoneId的方式分佣打点,需要在extraParams中显式传入taokeAppkey,否则打点失败。功能介绍

extraParams:

  • 类型:JSON对象
  • 描述:(可选项)adzoneId参数不为空时需要此参数,
  • 内部字段:
  1. {
  2. taokeAppkey: "", //淘宝联盟后台的APPKEY字段
  3. ... // 后续百川有新参数可以直接在这里扩展
  4. }

backUrl:

  • 类型:字符串
  • 默认:无
  • 描述:用于打开手淘时的 “返回(小把手)” 的点击返回,目前ios传空字符串,android传config.xml文件中配置的urlScheme(即tbopen+appkey)

degradeUrl:

  • 类型:字符串
  • 默认:(可选项)无
  • 描述:降级url,如果唤端失败且设置了降级url,则加载该url

failModeType:

  • 类型:字符串
  • 默认:无 (没安装手淘的时候会打开手淘的下载页面—SDK默认逻辑)
  • 描述:用于控制没安装手淘或者没检测到手淘的时候的打开页面逻辑
  • 取值范围:
    • ‘jumpH5’ //打开H5页面
    • ‘none’ //不做处理

callback(ret,err)

ret:

  • 类型:JSON对象
  • 描述:购买成功后返回
  • 内部字段:
  1. {
  2. status: true, //布尔值,操作状态
  3. ordersId : [], //字符串数组,订单号数组
  4. }

err:

  • 类型:JSON对象
  • 描述:错误时返回
  • 内部字段:
  1. {
  2. code: -1, //数值类型,code
  3. message : '', //字符串,提示信息
  4. }

示例代码

  1. var aliBC = api.require('aliBC');
  2. aliBC.showPageByUrlWeb(
  3. {
  4. url:'https://docs.apicloud.com/Client-API/Open-SDK/aliBC',
  5. pid:'',
  6. rect:{
  7. x:0,
  8. y:0,
  9. w:'auto',
  10. h:480
  11. },
  12. jsObjectName:'aliBC'
  13. },function(ret,err){
  14. if(ret){
  15. alert(JSON.stringify(ret));
  16. }else{
  17. alert(JSON.stringify(err));
  18. }
  19. });

可用性

ios系统,Android系统

可提供的1.0.0及更高版本

addPageFinListener

监听页面加载完成后返回页面的title和url。

注意:当采用外部传入webview方式打开电商组件时(本模块中调用showXxxWeb系列接口打开淘宝页面时)有效。

addPageFinListener(callback(ret,err))

callback(ret)

ret:

  • 类型:JSON对象
  • 描述:返回值
  • 内部字段:
  1. {
  2. added:true //布尔值,标识已经添加监听
  3. status: true, //布尔值,成功获取到title 和 url
  4. title : '', //页面的标题
  5. url : '', //页面的url
  6. }

示例代码

  1. var aliBC = api.require('aliBC');
  2. aliBC.addPageFinListener(function(ret,err){
  3. if(ret.status){
  4. alert(JSON.stringify(ret));
  5. }
  6. });

可用性

ios系统,Android系统

可提供的1.0.0及更高版本

addLoadingListener

对页面shouldStartLoadWithRequest时进行监听,返回页面的title和跳转的url。

注意:当采用外部传入webview方式打开电商组件时(本模块中调用showXxxWeb系列接口打开淘宝页面时)有效。

addLoadingListener(callback(ret,err))

callback(ret)

ret:

  • 类型:JSON对象
  • 描述:返回值
  • 内部字段:
  1. {
  2. added:true //布尔值,标识已经添加监听
  3. status: true, //布尔值,成功获取到title 和 url
  4. title : '', //页面的标题
  5. url : '', //页面的url
  6. }

示例代码

  1. var aliBC = api.require('aliBC');
  2. aliBC.addLoadingListener(function(ret,err){
  3. if(ret.status){
  4. alert(JSON.stringify(ret));
  5. }
  6. });

可用性

ios系统,Android系统

可提供的1.0.0及更高版本

addJsToPage

在当前打开的淘宝页面加载完成后注入一段js脚本到H5页面。

注意:此接口在采用外部传入webview方式打开电商组件时(本模块中调用showXxxWeb系列接口打开淘宝页面时,可配合传参 jsObjectName 一起使用)有效。

addJsToPage({params}, callback(ret))

params

javaScript:

  • 类型:字符串
  • 描述:javaScript脚本
  • 注意:必须以”javascript:{js具体内容}”的格式组织

appointUrl:

  • 类型:字符串
  • 默认值:”all”
  • 描述:(可选项)指定Js脚本注入到的页面
  • 取值范围:
    • all //所有H5页面
    • justHome //仅首页
    • 以http开头的url字符串 //仅该指定的url页面
    • (非以上三种情况) //除去首页的其他所有页面

delay:

  • 类型:Double
  • 默认值:0
  • 描述:(可选项)延时执行js脚本的时间,单位为 s(秒)

once:

  • 类型:布尔型
  • 默认值:false
  • 描述:(可选项)回调成功一次后是否清除对Javascript函数的引用,便于内存回收。通常为false。

callback(ret)

ret:

  • 类型:JSON对象
  • 描述:返回值。
  • 注意:除 added外,其他返回字段仅当javaScript脚本中有执行“jsObjectName.jsCallBack(string,string[],string[])” 时才有
  • 内部字段:
  1. {
  2. added:true //布尔值,标识已经添加监听
  3. status: true //布尔值,h5操作成功
  4. string: '' //字符串
  5. array0: [] //数组(Android中只支持字符串数组)
  6. array1: [] //数组(Android中只支持字符串数组)
  7. }

示例代码

  1. var aliBC = api.require('aliBC');
  2. aliBC.addJsToPage(
  3. {
  4. javaScript:'javascript:{window.jsObjectName.jsCallBack("addJsToPage测试",null,null)}'//jsObjectName替换为打开淘宝页面时传的 jsObjectName 参数。
  5. },function(ret,err){
  6. if(ret.added){
  7. //调用aliBC.showXXXWeb 打开淘宝页面
  8. }else if(ret.status){
  9. alert(JSON.stringify(ret));
  10. }else{
  11. alert(JSON.stringify(err));
  12. }
  13. }
  14. );

可用性

ios系统,Android系统

可提供的1.0.0及更高版本

removeJsListener

移除页面加载完成的监听和js脚本

removeJsListener({params})

params

name:

  • 类型:字符串
  • 默认:’’ (默认为 同时移除javaScript脚本、PageFinListener和loadingListener)
  • 描述:(可选项) 移除的类型,javaScript脚本/PageFinListener/loadingListener。
  • 取值范围:
    • ‘pageFinishedListener’ //移除PageFinListener
    • ‘loadingListener’ //移除loadingListener
    • ‘javaScript’ //移除javaScript脚本

示例代码

  1. var aliBC = api.require('aliBC');
  2. aliBC.removeJsListener();//同时移除javaScript脚本和PageFinListener

可用性

ios系统,Android系统

可提供的1.0.0及更高版本

webGoBack

控制当前外部的webview回退

webGoBack(callback(ret))

callback(ret)

ret:

  • 类型:JSON对象
  • 描述:当webview不能回退时返回
  • 内部字段:
  1. {
  2. status: true, //布尔值,操作成功
  3. message : '最后一个页面了', //字符串,提示信息
  4. }

示例代码

  1. var aliBC = api.require('aliBC');
  2. aliBC.webGoBack(function(ret,err){
  3. alert(JSON.stringify(ret));
  4. });

可用性

ios系统,Android系统

可提供的1.0.0及更高版本

removeWeb

从视图中移除当前通过showxxxWeb打开的百川页面。

removeWeb()

示例代码

  1. var aliBC = api.require('aliBC');
  2. aliBC.removeWeb();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setHookUrl

设置要拦截的url。(当使用外部webview方式打开百川页面时 有效)

setHookUrl({params},callback(ret,err))

params

hookUrl:

  • 类型:字符串
  • 默认:无
  • 描述:要拦截的url (当页面跳转的链接包含hookUrl字段时 进行拦截,若 不传/为空 则清除已有拦截

callback(ret,err)

ret:

  • 类型:JSON对象
  • 描述:购买成功后返回
  • 内部字段:
  1. {
  2. set: true, //布尔值,操作状态
  3. }

示例代码

  1. var aliBC = api.require('aliBC');
  2. aliBC.hookUrl(
  3. {
  4. hookUrl:'tbopen://',
  5. },function(ret,err){
  6. if(ret){
  7. alert(JSON.stringify(ret));
  8. }else{
  9. alert(JSON.stringify(err));
  10. }
  11. });

可用性

ios系统,Android系统

可提供的1.0.0及更高版本

getFeature

获取配置文件config.xml中的feature配置参数(同步返回

getFeature({params})

params

featureName:

  • 类型:字符串
  • 默认:无
  • 描述:feature的name字段

paramName:

  • 类型:字符串
  • 默认:无
  • 描述:对应param的name字段

示例代码

  1. var aliBC = api.require('aliBC');
  2. var value = aliBC.getFeature(
  3. {
  4. featureName:'aliBC',
  5. paramName: 'urlScheme'
  6. });

可用性

ios系统,Android系统

可提供的2.0.0及更高版本