|
|
@@ -0,0 +1,81 @@ |
|
|
|
import 'package:secverify/secverify.dart'; |
|
|
|
import 'package:zhiying_comm/util/log/let_log.dart'; |
|
|
|
|
|
|
|
class SecondTestUtil { |
|
|
|
// sdk 版本 |
|
|
|
String _version = "unkown"; |
|
|
|
|
|
|
|
// 是否支持 |
|
|
|
bool _isVerifySupport = true; |
|
|
|
|
|
|
|
/// 单例对象 |
|
|
|
static SecondTestUtil _instance; |
|
|
|
|
|
|
|
/// 内部构造方法,可避免外部暴露构造函数,进行实例化 |
|
|
|
SecondTestUtil._internal(); |
|
|
|
|
|
|
|
/// 工厂构造方法,这里使用命名构造函数方式进行声明 |
|
|
|
factory SecondTestUtil.getInstance() => _getInstance(); |
|
|
|
|
|
|
|
/// 获取单例内部方法 |
|
|
|
static _getInstance() { |
|
|
|
// 只能有一个实例 |
|
|
|
if (_instance == null) { |
|
|
|
_instance = SecondTestUtil._internal(); |
|
|
|
} |
|
|
|
return _instance; |
|
|
|
} |
|
|
|
|
|
|
|
void init() { |
|
|
|
//可选预先设置 |
|
|
|
preSettings(); |
|
|
|
//判断手机本地环境是否支持 |
|
|
|
isVerifySupport(); |
|
|
|
if (_isVerifySupport) { |
|
|
|
//预取号 |
|
|
|
preVerify(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
void preVerify() { |
|
|
|
Secverify.preVerify((Map ret, Map err) { |
|
|
|
if (err != null) { |
|
|
|
//失败情况下会返回错误信息,可以打印查看 |
|
|
|
// showAlert(err.toString(),context); |
|
|
|
Logger.log('mob 秒验登录失败: ${err?.toString()}, sdk 版本 = ${_version}'); |
|
|
|
} else { |
|
|
|
String rst = ret.toString(); |
|
|
|
if (ret == null || ret.isEmpty) { |
|
|
|
rst = 'mob 秒验 预登录成功!, sdk 版本 = ${_version}'; |
|
|
|
Logger.log(rst); |
|
|
|
} |
|
|
|
// showAlert(rst,context); |
|
|
|
} |
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|
// 预登录 |
|
|
|
void preSettings() { |
|
|
|
//提交隐私协议结果 |
|
|
|
Secverify.submitPrivacyGrantResult(true); |
|
|
|
//是否自动关闭授权页面,如果不自动关闭,必须在取号回调中调用方法关闭授权页面 |
|
|
|
Secverify.autoFinishOauthPage(false); |
|
|
|
//是否输出运营商控制台日志 |
|
|
|
Secverify.setDebugMode(false); |
|
|
|
//设置超时时间 |
|
|
|
Secverify.setTimeOut(5000); |
|
|
|
//获取当前SDK版本号 |
|
|
|
getVersion(); |
|
|
|
} |
|
|
|
|
|
|
|
Future<void> getVersion() async { |
|
|
|
String version; |
|
|
|
version = await Secverify.getVersion; |
|
|
|
_version = version; |
|
|
|
} |
|
|
|
|
|
|
|
Future<void> isVerifySupport() async { |
|
|
|
bool isVerifySupport = await Secverify.isVerifySupport; |
|
|
|
this._isVerifySupport = isVerifySupport; |
|
|
|
} |
|
|
|
} |