支付宝小程序提供两种对接方式:插件化对接与sdk对接,请根据下方的对比选择合适的对接方式接入
<https://open.alipay.com/develop/manage>),进入 开发 中的插件服务{
"plugins": {
"tdfp-plugin": {
"version": "*", //支付宝目前只支持设置 * ,自动选择版本,后台可以配置使用哪个版本
"provider": "2021003160688029"
}
}
}Note: 三方框架可对应添加 如uni-app,可在manifest.json文件的mp-alipay模块中添加上述声明
const plugin = requirePlugin('tdfp-plugin')
const app = getApp()在app.js中partnerCode为必要参数,appName和channel为可选参数
App({
globalData: {
_fmOpt: {
partnerCode: "", // 请填入您的partner code
appName: "", // 请填入您的app name
channel:"", // 请填入您的channel
env: "PRODUCTION"
}
}
})var that = this
var fmagent = new plugin.FMAgent(app.globalData._fmOpt)
fmagent.getInfo({
page: that,
mode:'plugin',
// 请传入用户userid(可以加密或者不加密,若加密需保证加密后的userid与原始userid是一一对应关系)
unionid: '',
success: function (res) {},// 成功回调,res为blackbox字符串
fail: function (res) {},// 失败回调,res为各种exception对象
complete: function (res) {}
})小程序对各种请求接口都做了域名限制,所以需要在小程序网站后台页面中添加小盾域名才可以保证小程序能正常给小盾设备指纹服务器发送信息
在 设置-开发设置-服务器域名白名单 中添加:
注意:1、如果线上版本小程序仅会访问小盾生产环境,那么添加第一个生产域名即可
假设我们想在 index 页面中采集设备信息,那么就需要在 pages/index/index.axml 文件末尾添加以下代码:
<view>
<canvas id='tdcanvas' style={{ visibility: 'hidden', position: 'fixed', zIndex: -999, left: '9999px' }}></canvas>
</view>在需要使用的页面引入,比如:在 pages/index/index.js 中,先在文件顶部引用 SDK 文件:
import FMAgent from '../../fmsdk/fm-xxx-es.min.js'配置
在app.js中partnerCode为必要参数,appName和channel为可选参数
App({
......
globalData: {
......
_fmOpt: {
partnerCode: "", // 请填入您的 partner code
appName: "", // 请填入您的 app name
channel: "", // 请填入您的channel
env: "PRODUCTION"
}
}
})在设备指纹对象初始化完成后,就可以获取设备信息了。我们的设备指纹 SDK 采用回调函数模式,支持传入 success、fail、complete 三个回调及其它配置字段:
var that = this
var fmagent = new FMAgent(app.globalData._fmOpt)
fmagent.getInfo({
page: that, // 请传入 FMAgent 所在的 Page 或 Component 对象
// unionid 字段,如果您开通了支付宝的 userid 功能,请传入加密的用户 userid,
// 否则留空即可
unionid: '',
success: function (res) {
// 成功回调,res 为 blackBox 字符串
},
fail: function (res) {
// 失败回调,res 为各种 exception 对象
},
complete: function (res) {
// 完成回调,res为blackbox字符串或者exception 对象
}
})