phoneLogin method
Вход по телефону или 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);
}