Last updated:
0 purchases
gt4 flutter plugin
English version
gt4_flutter_plugin #
行为验 Flutter 官方插件。支持 Flutter 2.x/3.x。
官网
安装 #
在工程 pubspec.yaml 中 dependencies 块中添加下列配置
如果使用 Github 集成
dependencies:
gt4_flutter_plugin:
git:
url: https://github.com/GeeTeam/gt4_flutter_plugin.git
ref: master
copied to clipboard
如果使用 pub 集成
dependencies:
gt4_flutter_plugin: ^0.1.1
copied to clipboard
导入SDK #
注意:插件从 0.0.8 版本开始无需手动导入SDK,但 iOS 因资源引用问题,仍需手动将 GTCaptcha4.bundle 拖入 Xcode
配置 #
请在 官网 申请验证 ID(captchaId)和 Key,并部署配套的后端接口。详细介绍请查阅:部署说明
示例 #
Init #
集成前,请先替换从后台申请的 captchaId
var config = GT4SessionConfiguration();
config.language = "en";
config.debugEnable = true;
config.backgroundColor = Colors.orange;
captcha = Gt4FlutterPlugin("123456789012345678901234567890ab",config);
copied to clipboard
config 说明
属性
属性类型
属性说明
resourcePath
String
静态资源文件的路径, 默认加载本地文件路径无特殊需求,无需配置可配置远程文件,应设置完整路径
protocol
String
远程访问静态资源时的协议,默认 "https"
userInterfaceStyle
GTC4UserInterfaceStyle
界面样式, 枚举值system 跟随系统样式light普通样式dark 暗黑样式iOS 默认 light,Android 默认system
backgroundColor
Color
背景颜色,默认透明
debugEnable
bool
调试模式开关,默认关闭
canceledOnTouchOutside
bool
点击背景的交互,默认开启
timeout
int
请求超时时长,单位为毫秒,iOS 默认8000,Android 默认 10000
language
String
语言。默认跟随系统,如果当前系统语言为插件不支持的语言,则为中文简体指定语言请参考文档中的语言短码清单(ISO 639-2 标准)
apiServers
List
控制api请求的地址
staticServers
List
控制静态资源请求的地址
additionalParameter
Map<String,dynamic>
额外的配置参数,默认为空。参数将被组装后提交到服务端。
Verify #
captcha.verify();
Close #
captcha.close();
addEventHandler #
captcha.addEventHandler(onShow: (Map<String, dynamic> message) async {
// TO-DO
// 验证视图已展示
debugPrint("Captcha did show");
}, onResult: (Map<String, dynamic> message) async {
debugPrint("Captcha result: " + message.toString());
String status = message["status"];
if (status == "1") {
// TODO
// 发送 message["result"] 中的数据向服务端二次查询接口查询结果
// 对结果进行二次校验
Map result = message["result"] as Map;
} else {
// 终端用户完成验证错误,验证会自动刷新
debugPrint("Captcha 'onResult' state: $status");
}
}, onError: (Map<String, dynamic> message) async {
debugPrint("Captcha onError: " + message.toString());
String code = message["code"];
// TODO 处理验证中返回的错误
if (Platform.isAndroid) {
// Android 平台
if (code == "-14460") {
// 验证会话已取消
} else {
// 更多错误码参考开发文档
// https://docs.geetest.com/gt4/apirefer/errorcode/android
}
}
if (Platform.isIOS) {
// iOS 平台
if (code == "-20201") {
// 验证请求超时
}
else if (code == "-20200") {
// 验证会话已取消
}
else {
// 更多错误码参考开发文档
// https://docs.geetest.com/gt4/apirefer/errorcode/ios
}
}
});
copied to clipboard
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.