verify static method

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

Implementation

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

  Future<dynamic>? callBack;
  if (Platform.isIOS) {
    callBack = _channel.invokeMethod(SecVerifySDKMethods.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(
        SecVerifySDKMethods.setAndroidLandscapeLayout.name, params);
    _channel.invokeMethod(
        SecVerifySDKMethods.setAndroidPortraitLayout.name, params);
    callBack = _channel.invokeMethod(SecVerifySDKMethods.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;
}