captcha_plugin_flutter 0.0.9 copy "captcha_plugin_flutter: ^0.0.9" to clipboard
captcha_plugin_flutter: ^0.0.9 copied to clipboard

PlatformAndroidiOS
outdated

A new Flutter project for captcha.

行为式验证码 #

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

平台支持(兼容性) #

Android iOS
适用版本区间:4.4 - 13.0 适用版本区间:9 - 14

环境准备 #

CocoaPods安装教程

资源引入/集成 #

在 pubspec.yaml 中添加

dependencies:
    captcha_plugin_flutter: ^0.0.9

调用示例 #

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 支持的可配置项说明
key value 类型 是否必填 默认值 描述
captcha_id String 易盾获取到的业务 id
is_debug Boolean false 是否启动 debug 模式
is_no_sense_mode Boolean false 是否为智能无感知
dimAmount Number 0.5 验证码框遮罩层透明度
control_bar_start_url String 自定义滑块开始背景
control_bar_moving_url String 自定义滑块滑动背景
control_bar_error_url String 自定义滑块错误背景
is_touch_outside_disappear Boolean true 点击弹窗外部是否可以关闭验证码
timeout Number 10000 超时时间/ms
is_hide_close_button Boolean false 是否隐藏关闭按钮
use_default_fallback Boolean true 是否采用默认降级
failed_max_retry_count Number 3 失败后尝试最大次数
language_type String zh-CN 多语言语言类型
loading_text String 智能检测中 自定义加载文案
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) {
            var validate = response["validate"];
            if (validate != null) {
              print("验证成功");
            } else {
              if (response.containsKey("code")) {
                //  code:错误码 msg:错误信息
                var code = response["code"];
                var msg = response["msg"];
              } else {
                // closed:true 验证码相关弹窗已关闭
                var closed = response["closed"];
              }
            }
      }
    }

7
likes
105
pub points
81%
popularity

Publisher

unverified uploader

A new Flutter project for captcha.

Homepage

Documentation

API reference

License

unknown (license)

Dependencies

flutter

More

Packages that depend on captcha_plugin_flutter