verify static method

Future? verify(
  1. FlyVerifyUIConfig config,
  2. FlyVerifyResultListener openAuthListener,
  3. FlyVerifyResultListener cancelAuthPageListener,
  4. FlyVerifyResultListener oneKeyLoginListener,
  5. FlyVerifyResultListener customEventListener,
  6. FlyVerifyResultListener androidEventListener,
)

Implementation

static Future<dynamic>? verify(
    FlyVerifyUIConfig config,
    FlyVerifyResultListener openAuthListener,
    FlyVerifyResultListener cancelAuthPageListener,
    FlyVerifyResultListener oneKeyLoginListener,
    FlyVerifyResultListener customEventListener,
    FlyVerifyResultListener androidEventListener) {
  final Map<String, dynamic> params = config.toJson();

  Future<dynamic>? callBack;
  if (Platform.isIOS) {
    callBack = _channel.invokeMethod(FlyVerifySDKMethods.verify.name, params);
    _channelReceiver.receiveBroadcastStream().listen((event) {
      if (event != null && event is Map) {
        verifyListenerType type =
            verifyListenerType.values[event['ListenerType']];
        switch (type) {
          case verifyListenerType.openAuthPage:
            if (openAuthListener != null) {
              openAuthListener(event['ret'], event['err']);
            }
            break;
          case verifyListenerType.cancelAuth:
            if (cancelAuthPageListener != null) {
              cancelAuthPageListener(event['ret'], event['err']);
            }
            break;
          case verifyListenerType.onLoginEvent:
            if (oneKeyLoginListener != null) {
              oneKeyLoginListener(event['ret'], event['err']);
            }
            break;
          case verifyListenerType.customBtnEvent:
            if (customEventListener != null) {
              customEventListener(event['ret'], event['err']);
            }
            break;
        }
      }
    }, onError: (event) {
      if (oneKeyLoginListener != null) {
        oneKeyLoginListener(null, null);
      }
    });
  } else if (Platform.isAndroid) {
    _channel.invokeMethod(
        FlyVerifySDKMethods.setAndroidLandscapeLayout.name, params);
    _channel.invokeMethod(
        FlyVerifySDKMethods.setAndroidPortraitLayout.name, params);
    callBack = _channel.invokeMethod(FlyVerifySDKMethods.verify.name);
    _channelReceiver.receiveBroadcastStream().listen((event) {
      if (event != null && event is Map) {
        if (event['ret'] != null) {
          if (androidEventListener != null) {
            androidEventListener(event, null);
          }
        } else if (event['err'] != null) {
          if (androidEventListener != null) {
            androidEventListener(null, event);
          }
        }
        if (event['customViewClick'] != null) {
          if (customEventListener != null) {
            //value为点击的控件tag
            customEventListener(event, null);
          }
        }
      }
    });
  }
  return callBack;
}