更新记录
1.1.0(2019-12-30)
更新ios插件
1.0.2(2019-12-10)
完善文档以及优化
平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
√ | armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 | √ |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在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原生插件配置”->”云端插件“列表中删除该插件重新选择
百川电商插件使用说明
基于百川SDK进行的操作
百川SDK-Android接入文档 首先请知晓百川插件的集成 该插件目前只支持android版本,后续ios版本将继续更新
/**
options参数: null
*/
@JSMethod(uiThread = true)
public void init(JSONObject options, final JSCallback jsCallback) {
}
/**
options参数: null
*/
@JSMethod(uiThread = true)
public void login(JSONObject options, final JSCallback jsCallback) {
}
/**
options参数: null
*/
@JSMethod(uiThread = true)
public void logout(JSONObject options, final JSCallback jsCallback) {
}
/**
options参数:pid alibcFailModeType open_type client_type back_url url
*/
@JSMethod(uiThread = true)
public void openByUrl(JSONObject options, final JSCallback jsCallback) {
}
/**
options参数:page_type pid unionId subPid alibcFailModeType
item_id shop_id open_type client_type back_url
adzoneId taokeAppkey sellerId extraParams1 extraParams2
extraParams3 extraParams4 extraParams5
*/
@JSMethod(uiThread = true)
public void openByCode(JSONObject options, final JSCallback jsCallback) {
}
/**
options参数:pid alibcFailModeType open_type client_type back_url url
*/
@JSMethod(uiThread = true)
public void openWebview(JSONObject options, final JSCallback jsCallback) {
}
/**
options参数:null
*/
@JSMethod(uiThread = true)
public void getUserInfo(JSONObject options, final JSCallback jsCallback) {
}
/**
options参数: isSyncForTaoke(boolean值)
*/
@JSMethod(uiThread = true)
public void setIsSyncForTaoke(JSONObject options, final JSCallback jsCallback) {
}
/**
options参数: typeName channelName
*/
@JSMethod(uiThread = true)
public void setChannel(JSONObject options, final JSCallback jsCallback) {
}
/**
options参数: isvVersion
*/
@JSMethod(uiThread = true)
public void setISVVersion(JSONObject options, final JSCallback jsCallback) {
}
uniapp所需提供的options字段
/**
* 必填
* 1:AlibcDetailPage 2:AlibcShopPage
*/
public static String PAGE_TYPE = "page_type";
/**
* 通过URL打开时 必填
*/
public static String URL = "url";
/**
* 选填
*/
public static String PID = "pid";
/**
* 选填
*/
public static String UNION_ID = "unionId";
/**
* 选填
*/
public static String SUB_ID = "subPid";
/**
* 必填
*/
public static String ALIBC_FAIL_MODE_TYPE = "alibcFailModeType";
/**
* 详情页面id 如果 PAGE_TYPE返回的参数为1时填写
*/
public static String ITEM_ID = "item_id";
/**
* 店铺id 如果 PAGE_TYPE返回的参数为2时填写
*/
public static String SHOP_Id = "shop_id";
/**
* 选填
* 页面打开方式
*/
public static String OPEN_TYPE = "open_type";
/**
* 选填
* 唤端类型
*/
public static String CLIENT_TYPE = "client_type";
/**
* 选填
* 唤端返回的scheme
*/
public static String BACK_URL = "back_url";
/**
* 选填
* 如果走adzoneId的方式分佣打点
* 需要在extraParams中显式传入TAOKE_APP_KEY,否则打点失败;
*/
public static String ADZONE_ID = "adzoneId";
/**
* 选填
* 如果走adzoneId的方式分佣打点
* 需要传入TAOKE_APP_KEY,否则打点失败;
*/
public static String TAOKE_APP_KEY = "taokeAppkey";
/**
* 选填
* 如果是打开店铺页面(shop),
* 需要传入sellerId,否则同步打点转链失败)
*/
public static String SELLER_ID = "sellerId";
/**
* 选填
* 额外参数1 内容为string类型
*/
public static String EXTRA_PARAMS1 = "extraParams1";
/**
* 选填
* 额外参数2 内容为string类型
*/
public static String EXTRA_PARAMS2 = "extraParams2";
/**
* 选填
* 额外参数3 内容为string类型
*/
public static String EXTRA_PARAMS3 = "extraParams3";
/**
* 选填
* 额外参数4 内容为string类型
*/
public static String EXTRA_PARAMS4 = "extraParams4";
/**
* 选填
* 额外参数5 内容为string类型
*/
public static String EXTRA_PARAMS5 = "extraParams5";
/**
* 提供配置文件和全局接口两种形式,全局接口优先,没有配置时以服务端下发的配置为准
* 设置是否使用同步淘客打点。true:使用淘客同步打点;false:关闭同步打点,使用异步打点;
* 注意:初始化完成后调用才能生效
* * @param isSyncForTaoke(默认为false)
* 返回同步淘客打点策略是否设置成功
*/
public static String IS_SYNC_FOR_TAOKE = "isSyncForTaoke"; //boolean值
/**
* 设置渠道信息(如果有特殊渠道专享价,需要设置,默认不要使用)
* 注意:初始化完成后调用才能生效
* @param typeName : 渠道类型(默认为:0)
* @param channelName : 渠道名称(默认为:null)
*/
public static String TYPE_NAME="typeName";
public static String CHANNEL_NAME="channelName";
/**
* isvVersion
* 设置isv版本
* 提供isvcode全局接口
* 设置isv的版本 ,默认1.0.0
* 注意:初始化完成后调用才能生效
* @param isvVersion (默认1.0.0)
* @return 返回是否设置成功
*/
public static String ISV_VERSION="isvVersion";
android返回给uniapp的jsCallback字段内容
login==============>success:type("ok") username(String) result(int) nickname(String)
==============>failure:type("error") msg(String);
logout==============>success:type("ok") msg(String)
==============>failure:type("error") msg(String)
openByCode==============>success:type("ok") msg(AlibcTradeResult)
==============>failure:type("error") msg(String)
openByUrl==============>success:type("ok") msg(AlibcTradeResult)
==============>failure:type("error") msg(String)
测试模版代码(在引入插件之后可使用该模版使用)
<template>
<view>
<button @click="init">百川账号初始化</button>
<button @click="login">百川账号登录</button>
<button @click="logout">百川账号登出</button>
<button @click="openByUrl">通过Url打开</button>
<button @click="openByCode">通过Code打开</button>
<button @click="openWebview">打开WebView</button>
<view class="msg">{{showmsg}}</view>
</view>
</template>
<script>
const modal = uni.requireNativePlugin('modal');
const baichuanModel = uni.requireNativePlugin('kevin_baichuan');
// const baichuanModel = uni.requireNativePlugin('kevin910_BaichuanModule');
export default {
data() {
return {
showmsg: '暂无数据'
}
},
methods: {
init(){
this.showmsg = "init";
baichuanModel.init(null,
result => {
const msg = JSON.stringify(result);
this.showmsg = msg;
switch (result.type) {
case 'ok':
modal.toast({
message: '登录成功',
duration: 1.5,
});
break;
case 'error':
modal.toast({
message: '登录失败',
duration: 1.5,
});
break;
}
}
)
},
login() {
this.showmsg = "login";
baichuanModel.login(null,
result => {
const msg = JSON.stringify(result);
this.showmsg = msg;
switch (result.type) {
case 'ok':
modal.toast({
message: '登录成功',
duration: 1.5,
});
break;
case 'error':
modal.toast({
message: '登录失败',
duration: 1.5,
});
break;
}
}
)
},
logout() {
baichuanModel.logout(null, result => {
const msg = JSON.stringify(result);
this.showmsg = msg;
switch (result.type) {
case 'ok':
modal.toast({
message: msg + '登出成功',
duration: 1.5,
})
break;
case 'error':
modal.toast({
message: '登出失败',
duration: 1.5,
})
break;
}
});
},
openByUrl() {
baichuanModel.openByUrl({
page_type: '2',
shop_id: '65626181',
pid: 'mm_112883640_11584347_72287650277',
client_type: 'taobao',
alibcFailModeType: 'AlibcNativeFailModeJumpH5',
open_type: 'Auto',
back_url: '',
url: 'https://uland.taobao.com/coupon/edetail?e=oSSExmvWXYYGQASttHIRqdYQwfcs8zoyxKXGKLqne1Hsx8cAhaH1SiZlT35kVCJr5R4kLBbVNWVsYgQTrXiDpq0TeAL%2BmcF17w9v818T2zNzQzL%2FHTq%2BPBemP0hpIIPvjDppvlX%2Bob8NlNJBuapvQ2MDg9t1zp0RRkY43XGTK8ko1aiZVhb9ykMuxoRQ3C%2BH5vl92ZYH25Cie%2FpBy9wBFg%3D%3D&traceId=0b15099215669559409745730e&union_lens=lensId:0b0b9f56_0c4c_16cd5da2c7f_3b31&xId=PwB9ZSWQxCtEwHxtbQc8iynshj5KEW16KP6OV6MAlpGpKCKmVGQMnjwQNhiGQpRY1gFyQHtqnYiv5wxGKTyCdf&tj1=1&tj2=1&relationId=518419440&activityId=23f4487e169647bd98b0d7fb2645947a',
}, result => {
const msg = JSON.stringify(result);
this.showmsg = msg;
modal.toast({
message: msg,
duration: 1.5,
})
switch (result.type) {
case 'ok':
modal.toast({
message: 'url打开成功',
duration: 1.5,
})
break;
case 'error':
modal.toast({
message: 'url打开失败',
duration: 1.5,
})
break;
}
});
},
openByCode() {
// baichuanModel.openByCode(null,null);
baichuanModel.openByCode({
page_type: '2',
shop_id: '65626181',
pid: 'mm_112883640_11584347_72287650277',
client_type: 'taobao',
alibcFailModeType: 'AlibcNativeFailModeJumpDOWNLOAD',
open_type: 'Native',
back_url: '',
}, result => {
const msg = JSON.stringify(result);
// modal.toast({
// message:msg,
// duration:1.5,
// })
this.showmsg = msg;
switch (result.type) {
case 'ok':
modal.toast({
message: 'code打开成功',
duration: 1.5,
})
break;
case 'error':
modal.toast({
message: 'code打开失败',
duration: 1.5,
})
break;
}
})
},
openWebview() {
baichuanModel.openWebview({
page_type: '2',
shop_id: '65626181',
pid: 'mm_112883640_11584347_72287650277',
client_type: 'taobao',
alibcFailModeType: 'AlibcNativeFailModeJumpH5',
open_type: 'Auto',
back_url: '',
url: 'https://uland.taobao.com/coupon/edetail?e=oSSExmvWXYYGQASttHIRqdYQwfcs8zoyxKXGKLqne1Hsx8cAhaH1SiZlT35kVCJr5R4kLBbVNWVsYgQTrXiDpq0TeAL%2BmcF17w9v818T2zNzQzL%2FHTq%2BPBemP0hpIIPvjDppvlX%2Bob8NlNJBuapvQ2MDg9t1zp0RRkY43XGTK8ko1aiZVhb9ykMuxoRQ3C%2BH5vl92ZYH25Cie%2FpBy9wBFg%3D%3D&traceId=0b15099215669559409745730e&union_lens=lensId:0b0b9f56_0c4c_16cd5da2c7f_3b31&xId=PwB9ZSWQxCtEwHxtbQc8iynshj5KEW16KP6OV6MAlpGpKCKmVGQMnjwQNhiGQpRY1gFyQHtqnYiv5wxGKTyCdf&tj1=1&tj2=1&relationId=518419440&activityId=23f4487e169647bd98b0d7fb2645947a',
}, result => {
const msg = JSON.stringify(result);
this.showmsg = msg;
modal.toast({
message: msg,
duration: 1.5,
})
switch (result.type) {
case 'ok':
modal.toast({
message: 'url打开成功',
duration: 1.5,
})
break;
case 'error':
modal.toast({
message: 'url打开失败',
duration: 1.5,
})
break;
}
});
},
},
};
</script>
<style>
button {
margin-top: 30upx;
margin-bottom: 30upx;
}
.button-sp-area {
margin: 0 auto;
width: 60%;
}
.content {
text-align: center;
height: 400upx;
}
.wrapper {
flex-direction: column;
justify-content: center;
}
.button {
width: 200px;
margin-top: 30px;
margin-left: 20px;
padding-top: 20px;
padding-bottom: 20px;
border-width: 2px;
border-style: solid;
border-color: #458B00;
background-color: #458B00;
}
.text {
font-size: 30px;
color: #666666;
text-align: center;
}
.msg {
width: 200px;
margin-top: 20px;
margin-bottom: 20px;
font-size: 15px;
text-align: center;
white-space: normal;
word-break: break-all;
word-wrap: break-word;
}
</style>
1、百川初始化需要手动进行,并且必须初始化之后后续操作才能进行
2、如果出现初始化失败 loginservice对象为空,则说明yw1222.jpg图片与所使用的apk包名和keystore.jks不一致,需要重新上传apk包,并使用一致的keystore.jks
注:目前项目属于测试阶段...