Упрощена работа с локалью, базовый url и токен приложения вынесены в build.gradle, добавлен конфиг для разработки и тестирования, исправлена проблема с переходом на экран сканера если локаль не выбиралась в настройках
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
import 'package:checker/db.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:intl/intl.dart';
|
||||
|
||||
import 'consts.dart';
|
||||
import 'common.dart';
|
||||
|
||||
// Клиент http приложения
|
||||
final httpClient = createHttpClient();
|
||||
@@ -8,23 +10,58 @@ final httpClient = createHttpClient();
|
||||
// Попытка создать токен для кассы.
|
||||
// В случае если токен для кассы уже существует, вернется ошибка 409.
|
||||
// На сервере есть ограничение в 40 токенов.
|
||||
createToken(String merchantId, String posID, String locale) async {
|
||||
|
||||
// Поле description - необязательное.
|
||||
var body = {
|
||||
'merchant_shop': merchantId,
|
||||
'pos': posID,
|
||||
};
|
||||
|
||||
return httpClient.post(url + 'tokens/?_dmapptoken=' + appToken, body: body, headers: {'Accept-Language': locale});
|
||||
getCreateTokenRequest(Map httpBody) async {
|
||||
return httpClient.post(
|
||||
await getEndpoint() + 'tokens/?_dmapptoken=' + await getToken(),
|
||||
body: httpBody,
|
||||
headers: {'Accept-Language': Intl.defaultLocale});
|
||||
}
|
||||
|
||||
// Проверка статуса токена. В ответе приходит параметр active, который может быть либо true, либо false,.
|
||||
checkTokenStatus(String token, String locale) async {
|
||||
return httpClient.get(url + 'tokens/' + token + '?_dmapptoken=' + appToken, headers: {'Accept-Language': locale});
|
||||
getCheckTokenStatusRequest(String token) async {
|
||||
return httpClient.get(
|
||||
await getEndpoint() +
|
||||
'tokens/' +
|
||||
token +
|
||||
'?_dmapptoken=' +
|
||||
await getToken(),
|
||||
headers: {'Accept-Language': Intl.defaultLocale});
|
||||
}
|
||||
|
||||
// Удаление токена на сервере.
|
||||
deleteToken(String token, String locale) async {
|
||||
return httpClient.delete(url + 'tokens/' + token + '?_dmapptoken=' + appToken, headers: {'Accept-Language': locale});
|
||||
}
|
||||
getDeleteTokenRequest(String token) async {
|
||||
return httpClient.delete(
|
||||
await getEndpoint() + 'tokens/' + token + '?_dmapptoken=' +
|
||||
await getToken(), headers: {'Accept-Language': Intl.defaultLocale});
|
||||
}
|
||||
|
||||
getLoyaltyRequest(String endpoint, SqliteHelper helper) async {
|
||||
String token = await helper.getToken();
|
||||
|
||||
var headers = {
|
||||
'DM-Authorization': 'dmapptoken ${await getToken()}',
|
||||
'Authorization': 'dmtoken ${token}',
|
||||
'Accept-Language': Intl.defaultLocale
|
||||
};
|
||||
|
||||
return httpClient.get(endpoint, headers: headers);
|
||||
}
|
||||
|
||||
getPurchaseRequest(String endpoint, Map body, String token) async {
|
||||
|
||||
var headers = {
|
||||
'DM-Authorization': 'dmapptoken ${await getToken()}',
|
||||
'Authorization': 'dmtoken ${token}',
|
||||
'Accept-Language': Intl.defaultLocale
|
||||
};
|
||||
|
||||
return httpClient.post(endpoint, body: body, headers: headers);
|
||||
}
|
||||
|
||||
getEndpoint() async {
|
||||
return await platform.invokeMethod('getEndpoint');
|
||||
}
|
||||
|
||||
getToken() async {
|
||||
return await platform.invokeMethod('getAppToken');
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user