API Reference
English

微信小程序

1.1 小程序管理后台添加插件

  1. 登录微信公众平台,点击左侧下方设置菜单
  2. 进入设置页面,点击第三方设置标签页
  3. 插件管理模块中,点击添加插件按钮
  4. 搜索 wxfp ,选择插件,然后完成添加(若较紧急,可联系开发人员快速通过审批)

1.2 小程序代码集成

1.小程序 app.json 里声明插件

{


  "plugins": {
    "tdfp-plugin": {
      "version": "1.9.4",
      "provider": "wxc3b909c3d24c5417"
    }
  },


}
  • 注意 :三方框架可对应添加。如 uni-app,可在 manifest.json 文件的 mp-weixin 模块中添加上述声明

2.引用插件 &&必要的配置

app.jspartnerCode 为必要参数,appnamechannel为可选字段:

const plugin = requirePlugin('tdfp-plugin')
App({
  ......
  globalData: {
    ......
    _fmOpt: {
      partnerCode: "", // 请填入您的partner code
      appName: "", // 请填入您的app name 同一个公司的不同小程序请填入不同的AppName
      channel: "", // 请填入您的channel
      env: "PRODUCTION" 
    }
  },
   onLaunch(){
    let fmagent = new plugin.FMAgent(this.globalData._fmOpt)
    fmagent.init()
  }
  ......
})

 

3.获取 blackBox
设备指纹 SDK 采用类微信 API 的调用模式,支持传入 successfailcomplete 三个回调及其它配置字段:

const plugin = requirePlugin('tdfp-plugin')
var that = this
var fmagent = new plugin.FMAgent(app.globalData._fmOpt) 
fmagent.getInfo({
  page: that, // 请传入 FMAgent 所在的 Page 或 Component 对象
  mode:'plugin',
  openid: '', // 如果 openid 或者 unionid 为空或者 undefined,请勿加密上传,传空字符串即可
  // 如果您开通了 unionid 功能,请传入加密的用户 unionid,
  // 请传入加密的用户 openid(需保证加密后的 openid 与原始 openid 是一一对应关系)
  unionid: '', 
  success: function (res) {},// 成功回调,res 为 blackBox 字符串
  fail: function (res) {},// 失败回调,res 为各种 exception 对象
  complete: function (res) {} // 完成回调,res为blackbox字符串或者exception 对象
})

设备指纹参数说明

参数类型描述示例是否必传是否移除
pageObject当前所在的page对象或component对象that
openidstring加密后的用户openid(加密算法可以随意选择,请确保加密前后的一一对应关系,我们建议使用MD5或者SHA256)(切记不可以传自定义默认值,没有值请传空字符串,否则会导致碰撞)ef54040ea9cb599823077
modestring当前对接模式(插件化接入请传入'plugin',sdk接入方式请忽略'plugin'
unionidstring加密后的用户unionid(加密算法可以随意选择,请确保加密前后的一一对应关系,我们建议使用MD5或者SHA256)(切记不可以传自定义默认值,没有值请传空字符串,否则会导致碰撞)ef54040ea9cb599823077
getInfoTypestring获取blackbox的模式('1':优先使用缓存的blackbox,'2':优先使用实时采集的blackbox,'3':优先使用未过期的blackbox至过期,默认模式为'1')'1'
timeoutInteger获取blackbox超时(默认2500,包括采集和发送请求的总时长,范围:2500-16000,单位ms)6000
getLocationAllowedboolean是否采集位置信息。如需采集位置信息,请联系运营获取隐私合规指导(默认false不采集,如需采集请提前获取微信及小程序的位置信息授权,且配置当前项为true)latitude、longitude
noClipboardboolean是否不采集剪切板(部分手机会有系统提示采集了剪切板,有剪切板可部分增强我们的恢复能力)默认true不采集falseclipoard
successfunction获取成功回调function(res) {/返回值为string类型,即black_box的值 /}
failfunction获取失败回调function(res) {/失败回调,res 为各种 exception 对象 /}
completefunction获取完成回调function(res) {/返回值为string类型或者各种 exception 对象,即black_box的值 /}

注意:

  • blackbox存在有效期,所以请不要自行对blackbox做缓存,在我们SDK内部有缓存机制,所以请在需要blackbox的地方,调用getInfo接口即可
  • 降级blackbox的长度在3000-5000字节,建议上报blackbox放在body中
  • 如果需要sdk版本对接方式,请联系运营支持