更新记录
1.0.3(2022-05-25)
新增扫码功能
1.0.2(2021-06-11)
更改为callback形式返回异步信息
1.0.1(2021-06-10)
发布插件
查看更多平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:4.4 - 11.0 | 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原生插件配置”->”云端插件“列表中删除该插件重新选择
本插件最新版本1.0.3封装了微信刷脸支付SDK wxfacepay-release-2.32.105.aar。
微信刷脸支付官方文档: https://pay.weixin.qq.com/wiki/doc/wxfacepay/develop/android/facepay.html
本插件实现封装了SDK中的7个方法: 1、程序启动时初始化 initWxpayface 2、获取数据 getWxpayfaceRawdata 3、人脸识别 getWxpayfaceCode(获取用户信息) 4、释放资源 releaseWxpayface 5、启动防火墙配置 enableFirewall 6.启动扫码startCodeScanner 7.关闭扫码 stopCodeScanner
有异步返回信息的方法会通过globalEvent的形式进行返回信息,具体请参考示例代码。 具体刷脸支付业务流程的实现,请参考官方文档。
<template>
<view>
<view>
<button @click="getversion()">getversion</button>
<button @click="initWxpayface()">initWxpayface</button>
<button @click="getWxpayfaceRawdata()">getWxpayfaceRawdata</button>
<button @click="getWxpayfaceCode()">getWxpayfaceCode</button>
<button @click="releaseWxpayface()">releaseWxpayface</button>
<button @click="enableFirewall()">enableFirewall</button>
<button @click="startCodeScanner()">startCodeScanner</button>
<button @click="stopCodeScanner()">stopCodeScanner</button>
<button @click="openfacepay()">完整流程</button>
</view>
<text v-for="(item,index) in msglist">{{item}}\n</text>
</view>
</template>
<script>
const wxfacepayzz = uni.requireNativePlugin('zzzili-wxfacepayzz');
export default {
data() {
return {
msglist: []
}
},
onLoad() {
this.msglist.push('start test print')
},
methods: {
getversion: function() {
this.msglist.push(wxfacepayzz.getVersion());
},
initWxpayface: function() {
var map = {
ip: "192.168.1.1", //若没有代理,则不需要此行
port: "8888", //若没有代理,则不需要此行
user: "mEtnUser", //若没有代理,则不需要此行
passwd: "mEtnPassword", //若没有代理,则不需要此行
proxy_type: 1, //若没有代理,则不需要此行
perform_mode: "LOW_PERFORM" //低性能表现,默认关闭美颜等
};
var that = this;
this.msglist.push('wxfacepayzz.getVersion()' + wxfacepayzz.initWxpayface(map, function(res) {
that.msglist.push(JSON.stringify(res));
}));
},
getWxpayfaceRawdata: function() {
var that = this;
this.msglist.push('wxfacepayzz.getWxpayfaceRawdata()' + wxfacepayzz.getWxpayfaceRawdata(function(res) {
that.msglist.push(JSON.stringify(res));
}));
},
getWxpayfaceCode: function() {
var map = {
appid: "123456",
mch_id: "123456",
store_id: "123456",
out_trade_no: "123456",
total_fee: "0.01",
face_authtype: "FACEPAY",
authinfo: "124156565",
face_code_type: "1"
};
var that = this;
this.msglist.push('wxfacepayzz.getWxpayfaceCode()' + wxfacepayzz.getWxpayfaceCode(map, function(res) {
//wxpayfaceCallBack
that.msglist.push(JSON.stringify(res));
}, function(res) {
//updateResultWxpayfaceCallBack
that.msglist.push(JSON.stringify(res));
}));
},
releaseWxpayface: function() {
this.msglist.push('wxfacepayzz.releaseWxpayface()' + wxfacepayzz.releaseWxpayface());
},
startCodeScanner:function(){
var that = this;
this.msglist.push('wxfacepayzz.startCodeScanner()' + wxfacepayzz.startCodeScanner(function(res) {
that.msglist.push(JSON.stringify(res));
}));
},
stopCodeScanner: function() {
this.msglist.push('wxfacepayzz.stopCodeScanner()' + wxfacepayzz.stopCodeScanner());
},
enableFirewall: function() {
var mchId = "123456";
var subMchId = "456789";
var that = this;
this.msglist.push('wxfacepayzz.enableFirewall()' + wxfacepayzz.enableFirewall(mchId, subMchId, function(res) {
that.msglist.push(JSON.stringify(res));
}));
},
openfacepay(){
var that = this;
//1.初始化
wxfacepayzz.initWxpayface({},function(res){
console.log(res);
//2.获取rawdata
wxfacepayzz.getWxpayfaceRawdata(function(res2){
console.log(res2);
/////////////////
//3.根据返回的rawdata数据,调用Api接口:获取调用凭证,得到参数authinfo
/////////////////
//4.进行人脸识别
var map = {
appid: "123456",
mch_id: "123456",
store_id: "123456",
out_trade_no: "123456",
total_fee: "0.01",
face_authtype: "FACEPAY",
authinfo: "124156565",
face_code_type: "1"
};
wxfacepayzz.getWxpayfaceCode(map, function(res3) {
//wxpayfaceCallBack
console.log(res3);
//5.释放资源
wxfacepayzz.releaseWxpayface()
}, function(res4) {
//updateResultWxpayfaceCallBack
console.log(res4);
//5.释放资源
wxfacepayzz.releaseWxpayface()
})
})
});
},
}
}
</script>
<style>
</style>