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

2026.08.04 11:36:11

    使⽤指南

    域名配置

    登录微信小程序开发者平台 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 之前,需要在 wxml 和 js 文件中增加以下代码:

    <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 免费试用