行为式验证码

全新人机验证方式,高效拦截机器行为,业务安全第一道防线。搭载风险感知引擎,智能切换验证难度,安全性高,极致用户体验。读屏软件深度适配,视障群体也可轻松使用,符合工信部无障碍适配要求

平台支持(兼容性)

AndroidiOS
适用版本区间:4.4 - 11.0适用版本区间:9 - 14

环境准备

CocoaPods安装教程

资源引入/集成

在 pubspec.yaml 中添加

dependencies:
    captcha_plugin_flutter: ^0.0.4

调用示例

void main() {
  runApp(MyApp());
}

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  final CaptchaPluginFlutter captchaPlugin = new CaptchaPluginFlutter();

  var eventChannel = const EventChannel("yd_captcha_flutter_event_channel");

  @override
  void initState() {
    super.initState();

    eventChannel.receiveBroadcastStream().listen(_onEvent);
  }

  void _onEvent(Object response) {
    if (response is Map) {
      var validate = response["validate"];
      if (validate != null) {
        print("验证成功");
      } else {
        var code = response["code"];
        var msg = response["msg"];
        print(msg);
        print(code);
      }
    }
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Plugin example app'),
        ),
        body: Center(
            child: new Column(
          children: [
            TextButton(
                onPressed: () => {
                      captchaPlugin.init({
                        "captcha_id": "易盾业务id",
                        "is_debug": true
                      })
                    },
                child: Text("初始化")),
            TextButton(
                onPressed: () => {captchaPlugin.showCaptcha()},
                child: Text("显示验证码")),
          ],
        )),
      ),
    );
  }
}

SDK 方法说明

1. 初始化

代码说明:

CaptchaPluginFlutter captchaPlugin = new CaptchaPluginFlutter();
captchaIns.init(options)
options 支持的可配置项说明
keyvalue 类型是否必填默认值描述
captcha_idString易盾获取到的业务 id
is_debugBooleanfalse是否启动 debug 模式
is_no_sense_modeBooleanfalse是否为智能无感知
dimAmountNumber0.5验证码框遮罩层透明度
control_bar_start_urlString自定义滑块开始背景
control_bar_moving_urlString自定义滑块滑动背景
control_bar_error_urlString自定义滑块错误背景
is_touch_outside_disappearBooleantrue点击弹窗外部是否可以关闭验证码
timeoutNumber10000超时时间/ms
is_hide_close_buttonBooleanfalse是否隐藏关闭按钮
use_default_fallbackBooleantrue是否采用默认降级
failed_max_retry_countNumber3失败后尝试最大次数
language_typeStringzh-CN多语言语言类型
language_type 多语言对应表
多语言值说明
zh-TW中文繁体
en英文
ja日语
ko韩文
th泰语
vi越南语
fr法语
ru俄语
ar阿拉伯语
de德语
it意大利语
he希伯来语
hi印地语
id印尼语
my缅甸语
lo老挝语
ms马来语
pl波兰语
pt葡萄牙语
es西班牙语
tr土耳其语

2. 显示验证码

代码说明:

captchaIns.showCaptcha()

3. 销毁验证码弹窗

代码说明:

captchaIns.destroy()

4. 回调结果监听

使用 flutter 的 EventChannel

代码说明:

 var eventChannel = const EventChannel("yd_captcha_flutter_event_channel");

  @override
  void initState() {
    super.initState();

    eventChannel.receiveBroadcastStream().listen(_onEvent);
  }

  void _onEvent(Object response) {
      if (response is Map) {
        //validate 不为空表示验证通过
        var validate = response["validate"];
        if (validate != null) {
          print("验证成功");
        } else {
          // code 错误码
          // msg 错误信息
          var code = response["code"];
          var msg = response["msg"];
        }
      }
    }

Libraries

captcha_plugin_flutter