更新记录
2.3.0(2021-03-29)
修复android h5授权缓慢问题。
2.2.0(2020-05-27)
- 修复 ios 免授权延迟的bug.
2.1.0(2020-05-22)
IOS
- 更新至4.0.1.6 1.百川相关依赖去除 UIWebView; 2.修复登录缺少x-sign 问题;
平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:4.4 - 11.0 | armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 | 适用版本区间:9 - 14 |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。
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 ,一串数字,不要填错,填错也会初始失败.
五. 百川插件使用 方法介绍.
方法名 | 说明 |
---|---|
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对象为空导致失败
一般是安全图片的问题,更新安全图片之后再尝试一下