更新记录
1.0.6(2022-05-17) 下载此版本
1、插件发布
平台兼容性
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原生插件配置”->”云端插件“列表中删除该插件重新选择
微信刷脸 SDK 的插件
官方文档如下:
一、所有函数文档 (https://pay.weixin.qq.com/wiki/doc/wxfacepay/develop/sdk-android.html)
二、刷脸支付文档 (https://pay.weixin.qq.com/wiki/doc/wxfacepay/develop/android/facepay.html)
三、人脸识别文档 (https://pay.weixin.qq.com/wiki/doc/wxfacepay/develop/android/faceuser.html)
使用方式:
const wechatfaceModule = uni.requireNativePlugin('bigrocs-wechatFace')
支持的方法:(方法名称入参和返回值与官方文档一直)
函数名称 | 入参 | 返回 |
---|---|---|
version(插件版本) | 无 | {version:'1.0.5',return_code:'SUCCESS'} |
initPayFace | 官方文档 | 官方文档 |
getWxpayfaceRawdata | 官方文档 | 官方文档 |
getWxpayfaceUserInfo | 官方文档 | 官方文档 |
getWxpayfaceCode | 官方文档 | 官方文档 |
updateWxpayfacePayResult | 官方文档 | 官方文档 |
stopWxpayface | 官方文档 | 官方文档 |
clickReport | 官方文档 | 官方文档 |
reportOrder | 官方文档 | 官方文档 |
reportPaycode | 官方文档 | 官方文档 |
startCodeScanner | 官方文档 | 官方文档 |
stopCodeScanner | 官方文档 | 官方文档 |
getWxpayAuth | 官方文档 | 官方文档 |
getMpConfig | 官方文档 | 官方文档 |
launchMp | 官方文档 | 官方文档 |
releaseWxpayface | 官方文档 | 官方文档 |
enableFirewall | 官方文档 | 官方文档 |
disableFirewall | 官方文档 | 官方文档 |
参考代码
<template>
<view>
<view class="content">
<button type="default" class="but" @click="version">版本</button>
<button type="default" class="but" @click="initPayFace">initPayFace</button>
<button type="default" class="but" @click="launchMp">launchMp</button>
<button type="default" class="but" @click="getWxpayfaceRawdata">getWxpayfaceRawdata</button>
<button type="default" class="but" @click="getWxpayfaceUserInfo">getWxpayfaceUserInfo</button>
<button type="default" class="but" @click="getWxpayfaceCode">getWxpayfaceCode</button>
<button type="default" class="but" @click="updateWxpayfacePayResult">updateWxpayfacePayResult</button>
<button type="default" class="but" @click="stopWxpayface">stopWxpayface</button>
<button type="default" class="but" @click="reportInfo">reportInfo</button>
<button type="default" class="but" @click="reportOrder">reportOrder</button>
<button type="default" class="but" @click="reportPaycode">reportPaycode</button>
<button type="default" class="but" @click="startCodeScanner">startCodeScanner</button>
<button type="default" class="but" @click="stopCodeScanner">stopCodeScanner</button>
<button type="default" class="but" @click="getWxpayAuth">getWxpayAuth</button>
<button type="default" class="but" @click="getMpConfig">getMpConfig</button>
<button type="default" class="but" @click="releaseWxpayface">releaseWxpayface</button>
<button type="default" class="but" @click="enableFirewall">enableFirewall</button>
<button type="default" class="but" @click="disableFirewall">disableFirewall</button>
</view>
<view class="text-area">
<h1>回调</h1>
{{msg}}
</view>
<view class="text-area">
<h1>回调2</h1>
{{msg2}}
</view>
</view>
</template>
<script>
const wechatfaceModule = uni.requireNativePlugin('bigrocs-wechatFace')
export default {
data() {
return {
title: 'Hello',
msg:'',
msg2:''
}
},
onLoad() {
},
methods: {
version() {
wechatfaceModule.version( e=> {
this.msg = JSON.stringify(e)
})
},
initPayFace() {
wechatfaceModule.initPayFace({
"perform_mode":"NORMAL_PRFORM"
}, e=> {
this.msg = JSON.stringify(e)
})
},
getWxpayfaceRawdata() {
wechatfaceModule.getWxpayfaceRawdata(e=> {
this.msg = JSON.stringify(e)
})
},
getWxpayfaceUserInfo() {
wechatfaceModule.getWxpayfaceUserInfo({
"appid":"填您的公众号",
"mch_id":"填您的商户号",
"sub_appid":"子商户公众账号ID(非服务商模式不填)",
"sub_mch_id":"子商户号(非服务商模式不填)",
"store_id":"门店编号,必填",
"face_authtype":"FACEID-ONCE",
"authinfo":"填您的调用凭证",
}, e=> {
this.msg = JSON.stringify(e)
})
},
getWxpayfaceCode() {
wechatfaceModule.getWxpayfaceCode({
"appid":"填您的公众号",
"mch_id":"填您的商户号",
"sub_appid":"子商户公众账号ID(非服务商模式不填)",
"sub_mch_id":"子商户号(非服务商模式不填)",
"store_id":"门店编号,必填",
"telephone":"用户手机号",
"openid":"用户openid",
"out_trade_no":"填您的商户订单号",
"total_fee":"填订单的金额",
"face_authtype":"FACEPAY",
"ask_face_permit":"0",
"ask_ret_page":"1",
}, e=> {
this.msg = JSON.stringify(e)
}, e=> {
this.msg2 = JSON.stringify(e)
})
},
updateWxpayfacePayResult() {
wechatfaceModule.updateWxpayfacePayResult({
"appid":"填您的公众号",
"mch_id":"填您的商户号",
"store_id":"门店编号,必填",
"authinfo":"填您的调用凭证",
"payresult":"SUCCESS",
}, e=> {
this.msg = JSON.stringify(e)
})
},
stopWxpayface() {
wechatfaceModule.stopWxpayface({
"authinfo":"填您的调用凭证",
}, e=> {
this.msg = JSON.stringify(e)
})
},
clickReport() {
wechatfaceModule.clickReport({
"item":"face.mch.module.something.count",
"item_value": 1,
}, e=> {
this.msg = JSON.stringify(e)
})
},
reportOrder() {
wechatfaceModule.reportOrder({
"mch_id":"填您的商户号",
"sub_mch_id": "填您的子商户号",
"out_trade_no": "填您的商户订单号",
}, e=> {
this.msg = JSON.stringify(e)
})
},
reportPaycode() {
wechatfaceModule.reportPaycode({
"auth_code":"填您的微信支付18位付款码",
}, e=> {
this.msg = JSON.stringify(e)
})
},
startCodeScanner() {
wechatfaceModule.startCodeScanner(e=> {
this.msg = JSON.stringify(e)
})
},
stopCodeScanner() {
wechatfaceModule.stopCodeScanner(e=> {
this.msg = JSON.stringify(e)
})
},
getWxpayAuth() {
wechatfaceModule.getWxpayAuth({
"authinfo":"调用凭证",
"face_sid":"用户身份信息查询凭证",
}, e=> {
this.msg = JSON.stringify(e)
})
},
getMpConfig() {
wechatfaceModule.getMpConfig(e=> {
this.msg = JSON.stringify(e)
})
},
launchMp() {
wechatfaceModule.launchMp({
"miniprogram_key_cmd":"有效的小程序启动键值",
"appid":"商户号绑定的公众号/小程序 appid",
"sub_appid":"子商户绑定的公众号/小程序 appid(可不填)",
"mch_id ":"商户号",
"sub_mch_id ":"子商户绑定的公众号/小程序 appid(可不填)",
"store_id":"门店编号",
"authinfo":"调用凭证",
}, e=> {
this.msg = JSON.stringify(e)
})
},
releaseWxpayface() {
wechatfaceModule.releaseWxpayface(e=> {
this.msg = JSON.stringify(e)
})
},
enableFirewall() {
wechatfaceModule.enableFirewall("mchId","subMchId", e=> {
this.msg = JSON.stringify(e)
})
},
disableFirewall() {
wechatfaceModule.disableFirewall( e=> {
this.msg = JSON.stringify(e)
})
},
}
}
</script>
<style>
.content {
display: flex;
flex-direction: row;
flex-wrap: wrap;
align-items: flex-start;
justify-content: flex-start;
}
.text-area {
margin: 10px;
}
.but{
height: 50px;
margin: 5px;
}
</style>
© 2022 GitHub, Inc. Terms Privacy Security