设备指纹微信小程序接入文档

2024.10.14 14:12:24

    使⽤指南

    域名配置

    登录微信小程序开发者平台 https://mp.weixin.qq.com

    开发 -> 开放管理 -> 开发设置 -> 服务器域名 页面, 将设备指纹服务端域名(https://fp-upload.dun.163.com)加入服务器域名白名单。

    引入 SDK

    在需要接入的小程序页面引入 SDK 文件

    页面接入时请注意:

    • 在该页面对应的 page.js 文件顶部导入 SDK 文件;
    • 如果涉及全局使用,可以在 app.js 文件顶部导入 SDK 文件;

    初始化示例代码如下:

    // page.js
    const nef = require('./Fingerprint.<VERSION>.js')
    

    获取反作弊 Token

    getToken 接口返回唯一凭证 token,业务方前端需要将此 token 提交到业务方服务端,业务方服务端使用此 token 去设备指纹服务端调用 query 接口获取设备详细结果。

    接口说明如下:

    • 调用方式:new wx.Fingerprint({ appId: '<APP_ID>', uploadUrl: '<UPLOAD_URL>' }).getToken(options, callback)
    • 接口描述:获取唯一凭证 token
    • 返回值:void

    其中:

    appId 应用标识(businessKey)

    uploadUrl 数据上报地址,SaaS 环境无需配置,私有化请联系实施工程师

    参数名 类型 是否必须 作用
    options Object 详细配置见下表
    callback(error, token) Function 获取 token 或发生错误后的回调函数

    options 参数

    参数名 类型 是否必须 作用
    timeout Number 超时时间,单位毫秒,默认值 2000
    openid String 用户的微信 openid
    unionid String 用户的微信 unionid
    page String canvas 上下文

    配置 page 之前,需要在 wxmljs 文件中增加以下代码:

    <view style='width:0px;height:0px;overflow:hidden;'>
      <canvas canvas-id='nef_canvas' style='margin-top: 800rpx;'></canvas>
    </view>
    
    const page = wx.createCanvasContext('nef_canvas', this)
    

    getToken 示例代码如下:

    new wx.Fingerprint({ appId: '<APP_ID>', uploadUrl: '<UPLOAD_URL>' }).getToken({
      timeout: 10000,
      openid: 'xxx',
      unionid: 'xxx',
      page: page
    }, (err, token) => {
      if (err) {
        // 异常流程
      } else {  
        // 正常的业务逻辑
      }
    })
    
    在线咨询 电话咨询:95163223 免费试用