📌 Geetest 极验

SunSeekerX ... 2021-8-6 大约 2 分钟

# 📌 Geetest 极验

# 简介

插件市场的文档解析有问题!方法名都解析出问题!查看在线文档:https://doc.yoouu.cn/front-end/uni-app/nativeplugins/geetest/ (opens new window)

官网: https://www.geetest.com/ (opens new window)

官方 uni-app 插件:https://ext.dcloud.net.cn/plugin?id=2431 (opens new window)

更多插件:https://doc.yoouu.cn/front-end/uni-app-nativeplugins/ (opens new window)

# 平台兼容性

Android iOS
4.4 - 11.0 9 - 14

# 使用示例

const superModuleGeetest = uni.requireNativePlugin('Super-Module-Geetest')

// 启动极验验证
onStartGeetestVerify() {
  safeRunning('onStartGeetestVerify', () => {
    uni.showLoading({
      title: '请求极验接口参数',
      mask: true,
    })
    uni.request({
      url: 'YOUR_API_ADDRESS',
      method: 'GET',
      data: {
        source: 'app',
      },
      success: (res) => {
        safeRunning('onStartGeetestVerify', () => {
          superModuleGeetest.onStartGeetestVerify(
            {
              lang: 'zh', // zh | en | null
              initParams: res.data,
            },
            (res) => {
              toast('onStartGeetestVerify', res)
            }
          )
        })
      },
      fail: () => {
        toast('onStartGeetestVerify', '获取极验初始化参数失败')
      },
      complete: () => {
        uni.hideLoading()
      },
    })
  })
}

/**
 * Toast 提示
 */
const toast = (title, val) => {
  try {
    if (typeof val === 'object') {
      val = JSON.stringify(val)
    } else {
      val = String(val)
    }
  } catch (e) {
    val = e.message
  } finally {
    uni.showToast({
      icon: 'none',
      title: `${title}: ${val}`,
      duration: 3000,
    })
  }
}

/**
 * 安全运行
 */
const safeRunning = (name, fun) => {
  try {
    fun()
  } catch (e) {
    toast(name, e.message)
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69

# 模块方法

# onStartGeetestVerify(options, callback)

启动极验认证

  • options <Object> 配置参数

    • lang <String> | <null> 国际化配置,默认为系统语言,支持的语言及语言短码如下:

      /**
       *  "zh" - 简体中文
       *  "zh-tw" - 繁体中文
       *  "zh-hk" - 繁体中文
       *  "ko" - 韩语
       *  "ja" - 日语
       *  "en" - 英语
       *  "id" - 印度尼西亚语
       *  "ar" - 阿拉伯语
       *  "de" - 德语
       *  "es" - 西班牙语
       *  "fr" - 法语
       *  "pt-pt" - 葡萄牙语
       *  "ru" - 俄语
       */
      
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
    • initParams <Object> 初始化参数 类似 {"success":1,"challenge":"f876950b0c0189566e8bee4a87943c3c","gt":"9a7972a4d1a4c71e421ed8f7ce3cabfa"}

  • callback <Function> 结果回调

    回调结果

    • success <Boolean> 操作是否成功
    • code <Number> 状态码
      • 200 操作成功
      • 401 启动极验验证参数获取失败,请检查!
      • 402 验证失败
    • msg <String> 请求信息
    • data <Object> 请求成功返回数据
    • err <String> | <Object> 错误信息,不能直接提示给用户,可以用于 debug

# 权限列表

ios

Android

# 演示截图

ios

geetest-ios1 geetest-ios2

Android

geetest-android1 geetest-android2

# 更新日志

# 1.0.0

功能(Features)

  • Android 使用极验 sdk 版本:geetest_sensebot_android_v4.3.4.1_20210706.aar
  • Ios 使用极验 sdk 版本:0.13.8

Bug 修复 (Bug Fixes)

# 问题反馈

虽然插件已经经过开发者测试和使用,但不排除某些场景下产生问题的可能性,如遇到 Bug 可以在评论区留言,或添加 QQ: 1647800606 进行反馈。

上次编辑于: 2021年8月6日 03:20