微信小程序接入

兼容性

支持小程序基础库所有版本

接入流程

  • 添加域名白名单
  • 嵌入SDK
  • init:初始化SDK以获取SDK对象,整个页面SDK初始化一次即可;
  • getToken:获取token,每次调用返回不同的token值。
  • 提交token:将token作为请求参数提交到业务方后端。

添加域名白名单

使用公众号帐号登录微信公众平台,在管理员首页的左侧栏,可以找到 设置 - 开发设置,需要将小程序SDK的服务器域名(地址:https://ac.dun.163yun.com)加入服务器域名白名单。

嵌入SDK

下载并保存SDK代码至本地(编码格式为UTF8),下载地址:https://nos.netease.com/yidun/watchman.m2.0.0.min.js 在需要保护的小程序页面嵌入SDK,请注意:

  • 请在该页面头部引入;
  • 一个页面引入一次即可;

示例代码如下:

const WATCH_MAN = require('./watchman.min.js')

init接口

嵌入sdk后,在onLoad或者onReady生命周期回调函数中进行初始化SDK,以获取SDK对象,拥有SDK对象才能调用SDK的其他接口。接口调用说明如下:

  • 调用方式:WATCH_MAN.init(options)
  • 返回值:void

参数options是json,结构如下:

属性名类型是否必须作用
productNumberString产品编号
onloadFunction初始化完成后的回调函数,SDK对象将以回调函数参数的形式提供
onerrorFunction初始化失败的回调函数

初始化SDK的示例代码如下:

const WATCH_MAN = require('./watchman.min.js')

Page({
  data: {
	watchmanInstance:null
  },
  onLoad: function () {
    WATCH_MAN.init({
      productNumber: 'YOUR_PRODUCT_NUMBER',
      onload: (instance) => {
    	this.data.watchmanInstance = instance	
      }
    })
  }
})

getToken接口

getToken接口返回唯一凭证token,业务方前端需要将此token提交到业务后端,业务后端再使用此token来check接口获取检测结果。注意:

  • 一般由用户的操作来触发getToken调用,比如用户点击 “提交” 按钮动作
  • 一个token只能使用一次

接口说明如下:

  • 调用方式:watchmanInstance.getToken(businessId,callback)
  • 接口描述:获取唯一凭证token
  • 返回值:void
参数名类型是否必须作用
businessIdString业务id
callback(token)Function初始化完成后的回调函数,SDK对象将以回调函数参数的形式提供

获取查询token的示例代码如下:

this.data.watchmanInstance && this.data.watchmanInstance.getToken('YOUR_BUSINESS_ID', (token) => {
	// 将token作为参数提交到服务端
})

可选接口

start接口

控制SDK开始监听页面事件,SDK将收集页面的事件信息。 接口说明如下:

  • 调用方式:watchmanInstance.start();
  • 返回值:void
  • 接口参数:无

示例代码如下:

this.data.watchmanInstance && this.data.watchmanInstance.start()

stop接口

控制SDK结束监听页面事件。若需要再次监听页面事件,请再次调用start接口。(请注意:由于微信API限制,stop接口会停用当前页面所有的罗盘、加速器等监听事件,如果页面需要保持监听这些事件,请谨慎调用stop接口)

接口说明如下:

  • 调用方式:watchmanInstance.stop();
  • 返回值:void
  • 接口参数:无

示例代码如下:

this.data.watchmanInstance && this.data.watchmanInstance.stop()

接入示例

const WATCH_MAN = require('./watchman.min.js')

Page({
  data: {
	watchmanInstance:null
  },
  onLoad: function () {
    WATCH_MAN.init({
      productNumber: 'YOUR_PRODUCT_NUMBER',
      onload: (instance) => {
		instance.start() // SDK开始监听页面行为事件
    	this.data.watchmanInstance = instance	
      }
    })
  },
  submit: function (token) {
    wx.request({
	  url: 'rise.do',
	  data: {
	    'token': token
	  },
	  success(res) {
		// 处理点赞的响应
	  }
	})
  },
  rise: function() {
	this.data.watchmanInstance && this.data.watchmanInstance.getToken('YOUR_BUSINESS_ID', (token) => {
	  // 提交点赞业务请求
	  this.submit(token)
	})
  }
})
Online Chat Tel:95163223