更新记录

2.3.0(2021-03-29)

修复android h5授权缓慢问题。

2.2.0(2020-05-27)

  • 修复 ios 免授权延迟的bug.
查看更多

平台兼容性

Android iOS
适用版本区间:4.4 - 11.0 适用版本区间:9 - 14

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios

注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择


Android 和 IOS 阿里百川 淘宝授权登录插件

一.使用前准备工作:

  • 首先到 阿里百川网站 ->注册->新建应用->填写好相关应用的包名-> 获取应用的 安全图片 用于验证应用使用的合法性.

二、必须要开通《 百川电商SDK 》 ,才可以正常使用授权.

三.获取应用安全图片

  • 选择自己要使用的应用,生成对应的 安全图片.
  • 百川更新到 4.0 以上版本后,统一使用了 V5 版本安全图片。
  • 安卓 Android 需要上传apk 安装包来获取安全图片,apk安装包, 你可以使用你自有安卓证书或者 官方的公有证书, 提交云打包生成apk 安装包后,再到百川上传来获取安全图片.
  • 如果 包名证书有更改 都需要重新获取安全图片,不然会初始化会失败.

获取应用安全图片

今年4月份起 苹果将禁止带有 UIWebview 的应用上架了,目前百川已全面升级使用 WKwebview 了,使用者,要适时更新。

.四 如何使用插件, 必须提交云打包 或 制作自定义基座 ,才能有效果.

1.本地 uniapp 项目 需要在根目录下,放上 nativeplugins 插件文件夹, 主要是存放安全图片用于提交到服务器上打包使用,包含 ios 和 android 子目录, 插件名称: Html5app-Baichuan 文件夹名不能修改, 具体看图片所示.

提示: 如果需要使用支付宝功能,要把插件包中的 UTDID.framework 和 utdid4all-1.1.5.3_proguard.jar 文件删除掉,如果不需要则保留一起打包。

提醒: 文件可以在右上角: 下载示例项目ZIP 中.

[1]第一种情况.
需要使用uniapp 官方的支付宝功能时 百川说明
IOS 苹果 在插件目录下保留安全图片即可: yw_1222_baichuan.jpg
Android 安卓 在插件目录下保留安全图片即可: yw_1222.jpg
[2]第二种情况.
无需使用支付宝功能时 百川说明
IOS 苹果 在插件目录下保留文件: UTDID.framework + yw_1222_baichuan.jpg
Android 安卓 在插件目录下保留文件: utdid4all-1.1.5.3_proguard.jar + yw_1222.jpg

2. IOS 的呼起淘宝客户端需要特别设置下,在配置 manifest.json 文件中,找到 ios 项,加入以下代码.

        "ios" : {
                "urltypes" : [
                {
                "urlschemes" : ["tbopen25816891"] //tbopen+您应用的AppKey
                }
                ],
                "urlschemewhitelist" : "tbopen,tmall"
        }

3. urlschemes 的名称设置是 tbopen+AppKey, AppKey是你在百川创建应用时,产生的一个AppKey ,一串数字,不要填错,填错也会初始失败.

AppKey

五. 百川插件使用 方法介绍.

方法名 说明
login() 淘宝授权登录
logout() 退出登录
detailPage() 打开任意淘宝页面,宝贝详细页面
shopPage() 打开商铺
OpenMyCart() 打开我的购物车
getUserInfo() 获取用户授权资料
checkSession() 检查用户是否已授权
taobaoOauth() 用于打开淘客授权的方法
getUtdid() 获取手机设备 UTDID 唯一码

#

1. 实例化插件 ,在需要用到插件的页面引入

const plug= uni.requireNativePlugin('Html5app-Baichuan');

2.淘宝授权登录 login() , 传入参数: 无

    plug.login({},result=>{

    });  
  • 授权成功后,返回数据格式
{   "code": 0,
    "msg": "授权登录成功",
    "userinfo": {
        "openSid": "8235041f39707f3d4fce40235a0d47f7826b4be044eedf1639687d2db3a44b0c92189423ad454659a75f2c1e535c1340",
        "nick": "满满幸福的理由",
        "avatar": "https://wwc.alicdn.com/avatar/getAvatar.do?userIdStrV2=u1zHDeOGJ_avMd1HXshAdgTT&type=taobao",
        "openId": "AAEV68PLAJTzOBwgt3AMMnAi",
        "topAccessToken": "6301728d1b9003e904e14ebd9ea432042e5b65205646042377595347",
        "userIdStrV2": "u1zHDeOGJ_avMd1HXshAdgTT",
        "topAuthCode": "uv3HJejW81gmsfdlPny63Arj13308781"
    }

}

用户ID 参数:userIdStrV2 ,可以用它来作为用户唯一ID.

  • 用户取消 返回数据
    {   "code":1,"msg": "用户取消授权"}
  • 其他原因
    {   "code":2,"msg": "授权登录失败","errorcode":"错误代码","error":"错误原因"}

3.退出登录 logout() , 传入参数: 无

    plug.logout({},result=>{

    });   
  • 返回数据
    {   "code":0,"msg": "退出登录成功"}

4.打开商品详情页 detailPage() , 打开商品详情页有两种方式

openType=> 参数是打开页面的方式: 0=> 使用APP端打开,1=>智能选择打开方式.
itemid=> 商品 ID
url=>商品链接
  • 第一种,通过 商品 ID ,来打开详情页

    plug.detailPage({
            "itemid":"587811576939",
            "openType":1
            },result=>{
    
        }); 
  • 第二种,通过商品链接,来打开详情页
        plug.detailPage({
                        url:"https://m.tb.cn/h.ekVpYGo",
                       "openType":0
        },result=>{

        }); 

5.打开店铺 shopPage()

openType => 参数是打开页面的方式: 0=> 使用APP端打开,1=>智能选择打开方式.
shopid=> 店铺ID
        plug.shopPage({shopid:"332454339","openType":0},result=>{

        }); 

6. 打开我的购物车 OpenMyCart()

openType => 参数是打开页面的方式: 0=> 使用APP端打开,1=>智能选择打开方式.
        plug.OpenMyCart({"openType":1},result=>{});         

7. 检查授权登录状态,checkSession() 传入参数:无

        plug.checkSession({},result=>{

        });
  • 返回数据参数
    1.已经登录
    {   "code":0,"msg": "用户已授权登录"}
    2.登录失效
    {   "code":1,"msg": "登录已失效,请重新授权登录"}

8.获取用户已经授权的信息,getUserInfo() 传入参数:无

        plug.getUserInfo({},result=>{

        }); 
  • 返回数据参数

    1.成功获取
{   "code": 0,
    "msg": "授权登录成功",
    "userinfo": {
        "openSid": "8235041f39707f3d4fce40235a0d47f7826b4be044eedf1639687d2db3a44b0c92189423ad454659a75f2c1e535c1340",
        "nick": "满满幸福的理由",
        "avatar": "https://wwc.alicdn.com/avatar/getAvatar.do?userIdStrV2=u1zHDeOGJ_avMd1HXshAdgTT&type=taobao",
        "openId": "AAEV68PLAJTzOBwgt3AMMnAi",
        "topAccessToken": "6301728d1b9003e904e14ebd9ea432042e5b65205646042377595347",
        "userIdStrV2": "u1zHDeOGJ_avMd1HXshAdgTT",
        "topAuthCode": "uv3HJejW81gmsfdlPny63Arj13308781"
    }

}
2.获取失败
  {   "code":1,"msg": "登录已失效,请重新授权登录"}

9.获取用户设备 UTDID 码

plug.getUtdid(function(e){

    e.utdid;
 });

{"utdid":"WmjBOtbXvEQDAEBXEeCrQEtO"}

六、 淘宝客 授权登录 说明

详细浏览: 淘宝开放平台官网 授权登录,拼接网址.参考, 百川授权后, 再调用淘宝客授权即可免登录。

1. H5 使用 code 方式授权

https://oauth.taobao.com/authorize?response_type=code&client_id=27600xxx&redirect_uri=http://www.html5-app.com/oauth/&state=1212&view=wap

把网址中的参数,替换成自己的即可.


             plug.taobaoOauth({"url":"https://oauth.taobao.com/authorize?response_type=code&client_id=27600xxx&redirect_uri=http://www.html5-app.com/oauth/&state=1212&view=wap"},ret=>{

                  _this.title=JSON.stringify(ret);
             });

链接获取授权码参数

参数名字 参数选项 参数值 参数释义
client_id 必选 等同与百川appkey
response_type 必选 code
redirect_uri 必选 参见redirect_uri的定义
state 必选 传入值与返回值保持一致。
view 必选 默认为web 移动端 wap

用户授权文档介绍

*回调不走回调地址,客户端直接返回 code 和 state ,你再把它们提交到服务器上效果是一样的。

1.授权成功 返回参数:

{"code":"tALgRQe0RJHRqMziZnnG1i3F7297724","state":"1212","msg":"授权成功","retcode":0}

2. 其他的返回

{"retcode":1,"msg":"用户主动关闭页面"}

2. H5 使用 token 方式授权

授权网址

https://oauth.taobao.com/authorize?response_type=token&client_id=27600005&state=1212&view=wap

链接获取授权码参数

参数名字 参数选项 参数值 参数释义
client_id 必选 等同与百川appkey
response_type 必选 token
state 必选 传入值与返回值保持一致。
view 必选 默认为web 移动端 wap

1.授权成功 返回参数:

{
    "msg": "授权成功",
    "view": "wap",
    "access_token": "6100b20b073009c675c5885f6a331f2d533630f3f520899377595347",
    "w1_expires_in": "1800",
    "retcode": 0,
    "state": "1212",
    "r1_expires_in": "1800",
    "r2_expires_in": "0",
    "taobao_open_uid": "AAEV68PLAJTzOBwgt3AMMnAi",
    "refresh_token": "61000203dae6ffd997f279d9e7421bba8d51bd25664c746377595347",
    "top_sign": "19712AF38928714538F180874BAE0B12",
    "w2_expires_in": "0",
    "re_expires_in": "0",
    "taobao_user_nick": "%E6%BB%A1%E6%BB%A1%E5%B9%B8%E7%A6%8F%E7%9A%84%E7%90%86%E7%94%B1",
    "token_type": "Bearer",
    "expires_in": "7776000"

}

2. 其他的返回

{"retcode":1,"msg":"用户主动关闭页面"}

淘宝客授权

七、百川 4.0及以上 版 相比之前的3.x版本.

  • 新版官方介绍主要是增强了安全组件
  • 新版去掉了,强制使用 H5 页面打开
  • 新版本没有了,我的订单打开选项

    扫一扫下载

    安卓 Android 扫一扫下载 APP体验

    uniapp 原生插件如何使用,可以参考这个:https://ask.dcloud.net.cn/article/36106

    详细使用参考,可以在本页面右上角=》 下载示例项目ZIP

八、 百川常见问题

  • 授权不能拉起手淘,授权提示“缺少协议参数xxxx”

    一般是安全图片的问题,更新安全图片之后再尝试一下
  • 提示网络不通 等等

    一般是安全图片的问题,更新安全图片之后再尝试一下
  • "error":"获取配置数据为空" ,loginService对象为空导致失败

    一般是安全图片的问题,更新安全图片之后再尝试一下

插件 QQ 交流群:891416757 (有任何疑问可以加群咨询)

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

淘宝隐私说明: https://terms.alicdn.com/legal-agreement/terms/suit_bu1_taobao/suit_bu1_taobao201703241622_61002.html?spm=a2107.1.0.0.10b711d9Dq4nVv

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问