phoneLogin method

Future<NsgLoginResponse> phoneLogin({
  1. required String phoneNumber,
  2. required String securityCode,
  3. bool? register,
  4. String? newPassword,
})

Вход по телефону или e-mail с проверкой по полученному ранее securityCode phoneNumber - телефон или e-mail пользователя, на который был оправлен проверочный код (запрошенному ранее, например, функцией phoneLoginPassword) Параметр register опредлеляет просто вход по телефону/почте (false) или установку нового пароля пользователя (true)

Implementation

Future<NsgLoginResponse> phoneLogin({required String phoneNumber, required String securityCode, bool? register, String? newPassword}) async {
  this.phoneNumber = phoneNumber;
  var login = NsgLoginModel();
  login.phoneNumber = phoneNumber;
  login.securityCode = securityCode;
  login.register = register ?? false;
  login.newPassword = newPassword;
  var s = login.toJson();

  try {
    var response = await (baseRequest(
      function: 'PhoneLogin',
      headers: getAuthorizationHeader(),
      url: '$serverUri/$authorizationApi/PhoneLogin',
      method: 'POST',
      params: s,
    ));

    var loginResponse = NsgLoginResponse.fromJson(response);
    if (loginResponse.errorCode == 0) {
      token = loginResponse.token;
      isAnonymous = loginResponse.isAnonymous;
    }
    if (!isAnonymous && saveToken) {
      saveCurrentServerToken();
      // var _prefs = await SharedPreferences.getInstance();
      // await _prefs.setString(applicationName, token!);
    }

    return loginResponse;
  } catch (e) {
    getx.Get.snackbar(
      'ERROR',
      'An error occurred. Please try again.',
      isDismissible: true,
      duration: const Duration(seconds: 5),
      backgroundColor: Colors.red[200],
      colorText: Colors.black,
      snackPosition: getx.SnackPosition.bottom,
    );
  }
  return NsgLoginResponse(isError: true, errorCode: 500);
}