[关闭]
@weiyurun 2023-05-17T12:32:51.000000Z 字数 1545 阅读 80

隐私协议-微信小程序端SDK说明

微信小程序插件使用文档: 官方文档

添加插件

小程序管理后台的“设置-第三方服务-插件管理”中添加插件,通过 appid 查找插件并添加

引入插件代码包

app.json:

  1.  "plugins": {
  2.     "agreementSDK": {
  3.       "version": "1.0.0",
  4.       "provider": "wx57e59c31c50d5c15"
  5.     }
  6.   }
使用插件:

app.js文件:

默认使用:
  1. /* 引入 */
  2. const Ag = requirePlugin('agreementSDK')
  3. App({
  4.   onLaunch() {
  5.     Ag.init()
  6.   }
  7. })

默认使用时,插件自动获取/更新协议并提示,点击 不同意时退出小程序

自定义使用:
  1. /* 引入 */
  2. const Ag = requirePlugin('agreementSDK')
  3. App({
  4.   onLaunch() {
  5. //配置文件
  6.     const config = {
  7.      useDialog: true, //是否使用插件自带弹窗样式展示,默认true。如果设置为false,需要自行监听success,获取数据后展示,并在点击 “同意” 时,触发agree()方法
  8.       success: this.onSuccess, //首次获取数据成功回调
  9.       update: this.onUpdate, //有更新时回调
  10. complete: this.onComplete, //完成回调
  11. fail: this.onFail, //异常回调
  12.       AuthListener: this.AuthListener, //用户点击同意/不同意回调
  13.     }
  14.     Ag.init(config)
  15.   }
  16.   /* 成功 */
  17.   onSuccess(data) {
  18.     console.log('返回数据:', data);
  19.   },
  20.   /* 有更新 */
  21.   onUpdate(data) {
  22.     console.log('更新结果:', data);
  23.   },
  24.   /* 完成 */
  25.   onComplete() {
  26.     console.log('这里可以关闭loading');
  27.   },
  28.   /* 失败 */
  29.   onFail(err) {
  30.     console.log('异常:', err);
  31.   },
  32.   /* 同意/不同意回调 */
  33.   AuthListener(res) {
  34.     console.log("点击了:", res)
  35.   }
  36. })
回调返回值说明:

success、update回调:

  1. {
  2.       version: '1.0.0',
  3. remark:'协议(更新)内容描述,富文本格式,需要解析',
  4.       list: [
  5. {
  6. did: 'did',
  7. name: '协议名',
  8. version: '协议版本号',
  9. url: '协议地址'
  10. }
  11. ]
  12. }

fail回调:

  1. {code:1001, message:'错误信息'}

code说明:
1001:缺少必填字段
1002:监听回调类型不是Function

2001:接口业务异常
2002:接口服务器异常

3001:获取本地存储的协议数据异常
3002:保存协议数据到本地异常

AuthListener回调:
true/false:同意/不同意

方法:

init() // 初始化。无返回值 (必须调用)
getLastVersions() // 手动获取最新协议数据,返回Promise。该方法不触发配置项中回调函数
upDate() // 手动触发更新,返回Promise。该方法不触发配置项中回调函数
getLocalData() // 获取本地存储的协议数据,返回Object或null
setLocalData() // 手动设置本地存储的协议数据。无返回值
authorize() // 登录页面用户勾选同意协议时,需要触发该方法。无返回值
revoke() // 登录页面用户取消勾选同意协议时,需要触发该方法。无返回值
agree() // 配置项useDialog为false,自行提示协议内容时,用户点击“同意”,必须触发该方法,否则会认为用户未同意,下次进入小程序仍会触发回调方法

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注