更新记录
1.0.0(2022-03-21) 下载此版本
首次发布,version 1.0.0,加油
平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:4.4 - 11.0 | armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 | 适用版本区间:9 - 15 |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在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原生插件配置”->”云端插件“列表中删除该插件重新选择
【已解决】插件问题:支付完成无法跳转回App、支付完成无法跳转回App、支付完成无法跳转回App
IOS需要测试、IOS需要测试、IOS需要测试
App模块配置,需要勾选微信支付
Android引用
const sandepay = uni.requireNativePlugin("TangSoft-shandePay");
Android所有方法
showToast():我用来测试uniapp是否和插件关联上了而已
cashierPay():发起支付,支付宝和微信都是这一个方法
Android支付方法
接口返回orderjson
sandepay.cashierPay(orderjson, res => {
console.log("cashierPay方法调用成功>>>", res);
})
Android拉起微信小程序支付时会回调
var globalEvent = uni.requireNativePlugin('globalEvent');
globalEvent.addEventListener('shandeEvent', function(e) {
console.log('监听>>>myEvent' + JSON.stringify(e));
});
IOS引用
const iossandepay = uni.requireNativePlugin("TangSoft-shandePay-shandePayUniModule")
IOS所有方法
showSDPTDesktopIn():发起支付,支付宝和微信都是这一个方法
IOS支付方法
接口返回orderjson
var orderjson = JSON.parse(orderjson)
iossandepay.showSDPTDesktopIn(orderjson, (res) => {
console.log("initNSNotificationCenter>>>>", res);
})
调用支付宝还是微信是根据后台接口字段来定:orderjson.product_code
orderjson数据
{
"version":"10",
"mer_no":"123456",
"mer_order_no":"1598858152976",
"create_ip":"127_0_0_1",
"store_id":"100001",
"goods_name":"测试商品",
"pay_extra":"{\"mer_app_id\":\"wxdc71db66aerer3a6er\",\"openid\":\"oRn0gfPPOLKM908sfZPzspzi_bEhMM\"}",
"create_time":"20200831151552",
"mer_key":"此处为密钥",
"expire_time":"20200831151557",
"notify_url":"https://baidu.com.cn/notify_test/sand",
"product_code":"01010001,01010002,01010003",
"accsplit_flag":"NO",
"return_url":"https://baidu.com.cn/notify_test/returnUrl",
"clear_cycle":"0",
"order_amt":"0.01",
"gh_ori_id":"gb_1234678",
"sign":"B78162FFB43030BC1F8E2BAEB92DFDB2",
"meta_option":"[{\"sc\":\"wzsc://\",\"s\":\"Android\",\"id\":\"com.tencent.tmgp.sgame\",\"n\":\"测试\"},{\"sc\":\"wzsc://\",\"s\":\"Android\",\"id\":\"com.tencent.tmgp.sgame\",\"n\":\"测试\"}]"
}
插件问题很大,非常大
1、【已经解决】【请教】支付完成无法跳转回App。
2、为了不冲突,需要使用UniApp里的App模块配置:微信支付。
3、
无法跳转回APP解决
1、sandcash 这个值是自己定义的,插件没有任何配置 2、接口拼接的参数
sParaTemp.Add("jump_scheme", "sandcash://");
sParaTemp.Add("meta_option", "[{\"sc\":\"sandcash://\",\"s\":\"Android\",\"id\":\"com.sdzf.demo\",\"n\":\"杉德支付\"},{\"sc\":\"\",\"s\":\"IOS\",\"id\":\"\",\"n\":\"\"}]");
3、manifest.json源代码配置
app-plus ——> distribute ——> android ——> "schemes" : "sandcash"
app-plus ——> distribute ——> ios ——> "urltypes" : "sandcash"