设备指纹微信小程序接入文档
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
之前,需要在 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 {
// 正常的业务逻辑
}
})