Перенес хранение информации о сессии (токен, din, posid) в базу данных

This commit is contained in:
Ivan Murashov
2017-09-06 17:19:11 +03:00
parent 60090ea437
commit 569c69e268
9 changed files with 162 additions and 127 deletions

View File

@@ -1,3 +1,4 @@
import 'package:checker/db.dart';
import 'package:checker/finish_registration.dart';
import 'package:flutter/material.dart';
import 'dart:convert'; // Пакет для обработки json с ответом от сервера.
@@ -70,7 +71,12 @@ class _RegistrationScreenState extends BaseState<RegistrationScreen> {
/// Получение от платформы id установки, формирование запроса на получение токена, сохранение токена.
_register() async {
if (await platform.invokeMethod('isOnline')) {
createToken(textFieldValue, await platform.invokeMethod('getPosID')).then((response) {
SqliteHelper helper = new SqliteHelper();
await helper.open();
String posID = await helper.getPosID();
createToken(textFieldValue, posID).then((response) {
setState(() {
error = null;
@@ -80,17 +86,19 @@ class _RegistrationScreenState extends BaseState<RegistrationScreen> {
print(response.body);
Map parsedMap = JSON.decode(response.body);
if (response.statusCode == 201) {
String token = parsedMap['token'];
platform.invokeMethod('saveToken', {'token' : token});
platform.invokeMethod('saveMerchantID', {'merchantID' : textFieldValue});
helper.insert(textFieldValue, posID, parsedMap['token']);
helper.close();
pushRoute(context, new FinishRegistrationScreen());
} else {
helper.close();
setState(() {
error = parsedMap['errors'][0];
});
}
}).catchError((error) {
helper.close();
print(error.toString());
});
}