基础库
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

second_test_util.dart 2.2 KiB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. import 'package:secverify/secverify.dart';
  2. import 'package:zhiying_comm/util/log/let_log.dart';
  3. class SecondTestUtil {
  4. // sdk 版本
  5. String _version = "unkown";
  6. // 是否支持
  7. bool _isVerifySupport = true;
  8. /// 单例对象
  9. static SecondTestUtil _instance;
  10. /// 内部构造方法,可避免外部暴露构造函数,进行实例化
  11. SecondTestUtil._internal();
  12. /// 工厂构造方法,这里使用命名构造函数方式进行声明
  13. factory SecondTestUtil.getInstance() => _getInstance();
  14. /// 获取单例内部方法
  15. static _getInstance() {
  16. // 只能有一个实例
  17. if (_instance == null) {
  18. _instance = SecondTestUtil._internal();
  19. }
  20. return _instance;
  21. }
  22. void init() {
  23. //可选预先设置
  24. preSettings();
  25. //判断手机本地环境是否支持
  26. isVerifySupport();
  27. if (_isVerifySupport) {
  28. //预取号
  29. preVerify();
  30. }
  31. }
  32. void preVerify() {
  33. Secverify.preVerify((Map ret, Map err) {
  34. if (err != null) {
  35. //失败情况下会返回错误信息,可以打印查看
  36. // showAlert(err.toString(),context);
  37. Logger.log('mob 秒验登录失败: ${err?.toString()}, sdk 版本 = ${_version}');
  38. } else {
  39. String rst = ret.toString();
  40. if (ret == null || ret.isEmpty) {
  41. rst = 'mob 秒验 预登录成功!, sdk 版本 = ${_version}';
  42. Logger.log(rst);
  43. }
  44. // showAlert(rst,context);
  45. }
  46. });
  47. }
  48. // 预登录
  49. void preSettings() {
  50. //提交隐私协议结果
  51. Secverify.submitPrivacyGrantResult(true);
  52. //是否自动关闭授权页面,如果不自动关闭,必须在取号回调中调用方法关闭授权页面
  53. Secverify.autoFinishOauthPage(false);
  54. //是否输出运营商控制台日志
  55. Secverify.setDebugMode(false);
  56. //设置超时时间
  57. Secverify.setTimeOut(5000);
  58. //获取当前SDK版本号
  59. getVersion();
  60. }
  61. Future<void> getVersion() async {
  62. String version;
  63. version = await Secverify.getVersion;
  64. _version = version;
  65. }
  66. Future<void> isVerifySupport() async {
  67. bool isVerifySupport = await Secverify.isVerifySupport;
  68. this._isVerifySupport = isVerifySupport;
  69. }
  70. }