aliBC

来自于:开发者 立即使用

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

概述

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

使用该模块的 优点:

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

准备事项

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

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

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

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

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

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

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

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

7.配置 支付宝SDK 自定义模块:(如 aliBCAliPaySdk)

首先分别下载 Androidios 自定义模块(aliBCAliPaySdk),直接上传到APiCloud控制后台,设置为自定义模块添加使用。若需要使用aliPayTradePlus/aliPayTrade模块, 则 不要 添加该自定义模块,否则会冲突!!!(因为 aliPayTradePlus/aliPayTrade模块中已经存在该支付宝组件,所以不能同时使用!)

用途:需要使用支付宝极简支付的isv需要该组件,否则会降级到h5支付,功能不会有影响,但是用户体验会降低。

说明:若要更新(一般不用更新!) 支付宝sdk 可以到支付宝官网下载最新sdk,然后分别替换上面自定义模块(aliBCAliPaySdk)中的alipaySdk-20170922.jar文件(Android模块) 和 AlipaySDK.framework、AlipaySDK.bundle文件(ios模块);然后重新压缩成zip包上传为自定义模块使用。

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

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

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

    • 配置示例:

    <preference name="querySchemes" value="tbopen,tmall"/>
      <feature name="aliBC">
        <param name="urlScheme" value="tbopen23417814"/>
      </feature>

模块使用请参考 示例aliBCTestCase 里面的widget

asyncInit

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

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

params

addLoginState:

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

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

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

callback(ret)

ret:

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

err:

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

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setSyncForTaoke

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

setSyncForTaoke({params}, callback(ret))

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

params

isSyncForTaoke:

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

callback(ret)

ret:

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

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setTaokeParams

设置淘客全局参数

setTaokeParams({params}, callback(ret))

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

params

pid:

taokeAppkey:

  • 类型:字符串
  • 描述:(可选项) 淘宝联盟后台的APPKEY字段。新版本SDK新增 高佣转链/跨店结算 功能所需, 如果需要高分佣能力,务必传入adzoneId和taokeAppkey 参数 功能介绍

adzoneId:

  • 类型:字符串
  • 描述:(可选项)淘宝联盟adzoneId。新版本SDK新增 高佣转链/跨店结算 功能所需, 如果需要高分佣能力,务必传入adzoneId和taokeAppkey 参数 功能介绍

callback(ret)

ret:

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

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setChannel

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

setChannel({params})

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

params

typeName:

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

channelName:

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

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

showLogin

授权登录

showLogin(callback(ret,err))

callback(ret,err)

ret:

  • 类型:JSON对象
  • 描述:返回值
  • 内部字段:
{
    status: true,              //是否授权登录成功
    isLogin : true,            //是否授权登录成功
    nick : '',              //昵称
    avatarUrl : '',         //头像地址
    openId : '',            //用户标识
    openSid : '',            //用户标识
    userid : '',            //仅android有此返回值
    topExpireTime : '',        //仅android有此返回值
    topAccessToken:''       
    topAuthCode : ''        
}

err:

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

示例代码

var aliBC = api.require('aliBC');
aliBC.showLogin(function(ret,err){
    if(ret.status){
        alert(JSON.stringify(ret));
    }else{
        alert(JSON.stringify(err));
    }
});

可用性

ios系统,Android系统

可提供的1.0.0及更高版本

logout

注销

logout(callback(ret,err))

callback(ret,err)

ret:

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

err:

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

示例代码

var aliBC = api.require('aliBC');
aliBC.logout(function(ret,err){
    if(ret.status){
        alert(JSON.stringify(ret));
    }else{
        alert(JSON.stringify(err));
    }
});

可用性

ios系统,Android系统

可提供的1.0.0及更高版本

getUserInfo

获取用户信息

getUserInfo(callback(ret,err))

callback(ret)

ret:

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

示例代码

var aliBC = api.require('aliBC');
aliBC.getUserInfo(function(ret,err){
    if(ret.status){
        alert(JSON.stringify(ret));
    }else{
        alert(JSON.stringify(ret));
    }
});

可用性

ios系统,Android系统

可提供的1.0.0及更高版本

showDetailPage

打开淘宝商品详情页

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

params

itemId:

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

openType:

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

linkKey:

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

taokeAppkey:

  • 类型:字符串
  • 描述:(可选项) 淘宝联盟后台的APPKEY字段。新版本SDK新增 高佣转链/跨店结算 功能所需, 如果需要高分佣能力,务必传入adzoneId和taokeAppkey 参数 并且openType设置为'native' 功能介绍

adzoneId:

  • 类型:字符串
  • 描述:(可选项)淘宝联盟adzoneId。新版本SDK新增 高佣转链/跨店结算 功能所需, 如果需要高分佣能力,务必传入adzoneId和taokeAppkey 参数 并且openType设置为'native' 功能介绍

pid:

  • 类型:字符串
  • 描述:(可选项) 淘客 pid (需登录阿里妈妈,实名认证后可获取 pid)

pageClose:

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

callback(ret,err)

ret:

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

err:

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

示例代码

var aliBC = api.require('aliBC');
aliBC.showDetailPage(
    {
        itemId:'37196464781L',
        openType:'h5',
        pid:'mm_xxxxxx_xxxxxx'
    },function(ret,err){
        if(ret){
            alert(JSON.stringify(ret));
        }else{
            alert(JSON.stringify(err));
        }
});

可用性

ios系统,Android系统

可提供的1.0.0及更高版本

showAddCartPage

打开淘宝加入购物车页面

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

params

itemId:

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

pid:

  • 类型:字符串
  • 描述:(可选项) 淘客 pid (需登录阿里妈妈,实名认证后可获取 pid)

pageClose:

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

callback(ret,err)

ret:

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

err:

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

示例代码

var aliBC = api.require('aliBC');
aliBC.showAddCartPage(
    {
        itemId:'37196464781L',
        openType:'h5',
        pid:''
    },function(ret,err){
        if(ret){
            alert(JSON.stringify(ret));
        }else{
            alert(JSON.stringify(err));
        }
});

可用性

ios系统,Android系统

可提供的1.0.0及更高版本

showMyOrders

打开我的订单页面

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

params

orderStatus:

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

allOrder:

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

pid:

  • 类型:字符串
  • 描述:(可选项) 淘客 pid (需登录阿里妈妈,实名认证后可获取 pid)

openType:

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

linkKey:

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

pageClose:

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

callback(ret,err)

ret:

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

err:

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

示例代码

var aliBC = api.require('aliBC');
aliBC.showMyOrders(
    {
        orderStatus:0,
        allOrder:false
        pid:''
    },function(ret,err){
        if(ret){
            alert(JSON.stringify(ret));
        }else{
            alert(JSON.stringify(err));
        }
});

可用性

ios系统,Android系统

可提供的1.0.0及更高版本

showMyCarts

打开我的购物车

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

params

pid:

  • 类型:字符串
  • 描述:(可选项) 淘客 pid (需登录阿里妈妈,实名认证后可获取 pid)

openType:

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

linkKey:

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

pageClose:

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

callback(ret,err)

ret:

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

err:

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

示例代码

var aliBC = api.require('aliBC');
aliBC.showMyCarts(
    {
        pid:''
    },function(ret,err){
        if(ret){
            alert(JSON.stringify(ret));
        }else{
            alert(JSON.stringify(err));
        }
});

可用性

ios系统,Android系统

可提供的1.0.0及更高版本

showShopPage

打开淘宝店铺页面

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

params

shopId:

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

openType:

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

linkKey:

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

pid:

  • 类型:字符串
  • 描述:(可选项) 淘客 pid (需登录阿里妈妈,实名认证后可获取 pid)

pageClose:

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

callback(ret,err)

ret:

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

err:

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

示例代码

var aliBC = api.require('aliBC');
aliBC.showShopPagge(
    {
        shopId:'60552065',
        openType:'h5',
        pid:''
    },function(ret,err){
        if(ret){
            alert(JSON.stringify(ret));
        }else{
            alert(JSON.stringify(err));
        }
});

可用性

ios系统,Android系统

可提供的1.0.0及更高版本

showPageByUrl

打开url展示页面。(注意 目前ios下 若为二合一页面会强制跳转手淘)

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

params

url:

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

openType:

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

linkKey:

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

pid:

  • 类型:字符串
  • 描述:(可选项) 淘客 pid (需登录阿里妈妈,实名认证后可获取 pid)

taokeAppkey:

  • 类型:字符串
  • 描述:(可选项) 淘宝联盟后台的APPKEY字段。新版本SDK新增 高佣转链/跨店结算 功能所需, 如果需要高分佣能力,务必传入adzoneId和taokeAppkey 参数 并且openType设置为'native' 功能介绍

adzoneId:

  • 类型:字符串
  • 描述:(可选项)淘宝联盟adzoneId。新版本SDK新增 高佣转链/跨店结算 功能所需, 如果需要高分佣能力,务必传入adzoneId和taokeAppkey 参数 并且openType设置为'native' 功能介绍

pageClose:

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

callback(ret,err)

ret:

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

err:

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

示例代码

var aliBC = api.require('aliBC');
aliBC.showPageByUrl(
    {
        url:'',
        pid:'',
        pageClose:false
    },function(ret,err){
        if(ret){
            alert(JSON.stringify(ret));
        }else{
            alert(JSON.stringify(err));
        }
});

可用性

ios系统,Android系统

可提供的1.0.0及更高版本

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

showDetailPageWeb

使用外部webview打开淘宝商品详情页

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

params

itemId:

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

pid:

  • 类型:字符串
  • 描述:(可选项) 淘客 pid (需登录阿里妈妈,实名认证后可获取 pid)

rect:

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

fixedOn:

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

fixed:

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

jsObjectName:

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

callback(ret,err)

ret:

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

err:

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

示例代码

var aliBC = api.require('aliBC');
aliBC.showDetailPageWeb(
    {
        itemId:'37196464781L',
        pid:'',
        rect:{
            x:0,
            y:0,
            w:'auto',
            h:480
        },
        jsObjectName:'aliBC'
    },function(ret,err){
        if(ret){
            alert(JSON.stringify(ret));
        }else{
            alert(JSON.stringify(err));
        }
});

可用性

ios系统,Android系统

可提供的1.0.0及更高版本

showAddCartPageWeb

使用外部webview方式,打开淘宝加入购物车页面

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

params

itemId:

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

pid:

  • 类型:字符串
  • 描述:(可选项) 淘客 pid (需登录阿里妈妈,实名认证后可获取 pid)

rect:

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

fixedOn:

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

fixed:

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

jsObjectName:

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

callback(ret,err)

ret:

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

err:

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

示例代码

var aliBC = api.require('aliBC');
aliBC.showAddCartPageWeb(
    {
        itemId:'37196464781L',
        pid:'',
        rect:{
            x:0,
            y:0,
            w:'auto',
            h:480
        },
        jsObjectName:'aliBC'
    },function(ret,err){
        if(ret){
            alert(JSON.stringify(ret));
        }else{
            alert(JSON.stringify(err));
        }
});

可用性

ios系统,Android系统

可提供的1.0.0及更高版本

showMyOrdersWeb

使用外部webview方式,打开我的订单页面

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

params

orderStatus:

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

allOrder:

  • 类型:布尔型
  • 默认:false
  • 描述:是否显示所有订单
  • 取值范围:
    • false //进行订单分域,只展示通过当前app下单的订单
    • true //显示所有订单(包括在淘宝下的单)

pid:

  • 类型:字符串
  • 描述:(可选项) 淘客 pid (需登录阿里妈妈,实名认证后可获取 pid)

rect:

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

fixedOn:

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

fixed:

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

jsObjectName:

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

callback(ret,err)

ret:

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

err:

  • 类型:JSON对象
  • 描述:错误时返回
  • 内部字段:
{
    authError:true                    //布尔值,Android中打开 我的订单 唤起淘宝授权失败时返回
    code: -1,                          //数值类型,code
    message : '',                    //字符串,提示信息
}

示例代码

var aliBC = api.require('aliBC');
aliBC.showMyOrdersWeb(
    {
        orderStatus:0,
        allOrder:false,
        pid:'',
        rect:{
            x:0,
            y:0,
            w:'auto',
            h:480
        },
        jsObjectName:'aliBC'
    },function(ret,err){
        if(ret){
            alert(JSON.stringify(ret));
        }else{
            alert(JSON.stringify(err));
        }
});

可用性

ios系统,Android系统

可提供的1.0.0及更高版本

showMyCartsWeb

使用外部webview方式,打开我的购物车

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

params

pid:

  • 类型:字符串
  • 描述:(可选项) 淘客 pid (需登录阿里妈妈,实名认证后可获取 pid)

rect:

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

fixedOn:

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

fixed:

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

jsObjectName:

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

callback(ret,err)

ret:

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

err:

  • 类型:JSON对象
  • 描述:错误时返回
  • 内部字段:
{
    authError:true                    //布尔值,Android中打开 我的购物车 唤起淘宝授权失败时返回
    code: -1,                          //数值类型,code
    message : '',                    //字符串,提示信息
}

示例代码

var aliBC = api.require('aliBC');
aliBC.showMyCartsWeb(
    {
        pid:'',
        rect:{
            x:0,
            y:0,
            w:'auto',
            h:480
        },
        jsObjectName:'aliBC'
    },function(ret,err){
        if(ret){
            alert(JSON.stringify(ret));
        }else{
            alert(JSON.stringify(err));
        }
});

可用性

ios系统,Android系统

可提供的1.0.0及更高版本

showShopPageWeb

使用外部webview方式,打开淘宝店铺页面

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

params

shopId:

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

pid:

  • 类型:字符串
  • 描述:(可选项) 淘客 pid (需登录阿里妈妈,实名认证后可获取 pid)

rect:

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

fixedOn:

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

fixed:

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

jsObjectName:

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

callback(ret,err)

ret:

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

err:

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

示例代码

var aliBC = api.require('aliBC');
aliBC.showShopPageWeb(
    {
        shopId:'60552065',
        pid:'',
        rect:{
            x:0,
            y:0,
            w:'auto',
            h:480
        },
        jsObjectName:'aliBC'
    },function(ret,err){
        if(ret){
            alert(JSON.stringify(ret));
        }else{
            alert(JSON.stringify(err));
        }
});

可用性

ios系统,Android系统

可提供的1.0.0及更高版本

showPageByUrlWeb

使用外部webview方式,打开url展示页面。(注意 目前ios下 若为二合一页面会强制跳转手淘)

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

params

url:

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

pid:

  • 类型:字符串
  • 描述:(可选项) 淘客 pid (需登录阿里妈妈,实名认证后可获取 pid)

hookUrl:

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

rect:

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

fixedOn:

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

fixed:

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

jsObjectName:

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

callback(ret,err)

ret:

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

err:

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

示例代码

var aliBC = api.require('aliBC');
aliBC.showPageByUrlWeb(
    {
        url:'',
        pid:'',
        rect:{
            x:0,
            y:0,
            w:'auto',
            h:480
        },
        jsObjectName:'aliBC'
    },function(ret,err){
        if(ret){
            alert(JSON.stringify(ret));
        }else{
            alert(JSON.stringify(err));
        }
});

可用性

ios系统,Android系统

可提供的1.0.0及更高版本

addPageFinListener

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

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

addPageFinListener(callback(ret,err))

callback(ret)

ret:

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

示例代码

var aliBC = api.require('aliBC');
aliBC.addPageFinListener(function(ret,err){
    if(ret.status){
        alert(JSON.stringify(ret));
    }
});

可用性

ios系统,Android系统

可提供的1.0.0及更高版本

addLoadingListener

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

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

addLoadingListener(callback(ret,err))

callback(ret)

ret:

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

示例代码

var aliBC = api.require('aliBC');
aliBC.addLoadingListener(function(ret,err){
    if(ret.status){
        alert(JSON.stringify(ret));
    }
});

可用性

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[])” 时才有
  • 内部字段:
{
    added:true                //布尔值,标识已经添加监听
    status: true              //布尔值,h5操作成功
    string: ''                //字符串
    array0: []                 //数组(Android中只支持字符串数组)
    array1: []                 //数组(Android中只支持字符串数组)
}

示例代码

var aliBC = api.require('aliBC');
aliBC.addJsToPage(
    {
        javaScript:'javascript:{window.jsObjectName.jsCallBack("addJsToPage测试",null,null)}'//jsObjectName替换为打开淘宝页面时传的 jsObjectName 参数。
    },function(ret,err){
        if(ret.added){
            //调用aliBC.showXXXWeb 打开淘宝页面
        }else if(ret.status){
            alert(JSON.stringify(ret));
        }else{
            alert(JSON.stringify(err));
        }
    }
);

可用性

ios系统,Android系统

可提供的1.0.0及更高版本

removeJsListener

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

removeJsListener({params})

params

name:

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

示例代码

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

可用性

ios系统,Android系统

可提供的1.0.0及更高版本

webGoBack

控制当前外部的webview回退

webGoBack(callback(ret))

callback(ret)

ret:

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

示例代码

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

可用性

ios系统,Android系统

可提供的1.0.0及更高版本

removeWeb

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

removeWeb()

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setHookUrl

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

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

params

hookUrl:

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

callback(ret,err)

ret:

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

示例代码

var aliBC = api.require('aliBC');
aliBC.hookUrl(
    {
        hookUrl:'tbopen://',
    },function(ret,err){
        if(ret){
            alert(JSON.stringify(ret));
        }else{
            alert(JSON.stringify(err));
        }
});

可用性

ios系统,Android系统

可提供的1.0.0及更高版本