diff --git a/android/local.properties b/android/local.properties index 24ea34f..10f4806 100644 --- a/android/local.properties +++ b/android/local.properties @@ -1,5 +1,5 @@ sdk.dir=C:/Users/Housh11/AppData/Local/Android/Sdk flutter.sdk=C:\\src\\flutter -flutter.buildMode=release -flutter.versionName=1.3.16 -flutter.versionCode=13 \ No newline at end of file +flutter.buildMode=debug +flutter.versionName=1.3.17 +flutter.versionCode=14 \ No newline at end of file diff --git a/packages/chicken/lib/data/data_source/remote/auth/auth_remote.dart b/packages/chicken/lib/data/data_source/remote/auth/auth_remote.dart index 1705dcf..57f064c 100644 --- a/packages/chicken/lib/data/data_source/remote/auth/auth_remote.dart +++ b/packages/chicken/lib/data/data_source/remote/auth/auth_remote.dart @@ -10,4 +10,6 @@ abstract class AuthRemoteDataSource { Future hasAuthenticated(); Future getUserInfo(String phoneNumber); + + Future submitUserInfo(Map userInfo); } diff --git a/packages/chicken/lib/data/data_source/remote/auth/auth_remote_imp.dart b/packages/chicken/lib/data/data_source/remote/auth/auth_remote_imp.dart index f25e8c2..54d8702 100644 --- a/packages/chicken/lib/data/data_source/remote/auth/auth_remote_imp.dart +++ b/packages/chicken/lib/data/data_source/remote/auth/auth_remote_imp.dart @@ -47,4 +47,13 @@ class AuthRemoteDataSourceImp extends AuthRemoteDataSource { ); return res.data; } + + @override + Future submitUserInfo(Map userInfo)async { + var res = await _httpClient.post( + '/steward-app-login/', + data: userInfo, + headers: {'Content-Type': 'application/json'}, + ); + } } diff --git a/packages/chicken/lib/data/repositories/auth/auth_repository.dart b/packages/chicken/lib/data/repositories/auth/auth_repository.dart index c7914c5..0e11b9b 100644 --- a/packages/chicken/lib/data/repositories/auth/auth_repository.dart +++ b/packages/chicken/lib/data/repositories/auth/auth_repository.dart @@ -9,4 +9,7 @@ abstract class AuthRepository { Future hasAuthenticated(); Future getUserInfo(String phoneNumber); + + Future submitUserInfo({required String phone,String? deviceName}); + } diff --git a/packages/chicken/lib/data/repositories/auth/auth_repository_imp.dart b/packages/chicken/lib/data/repositories/auth/auth_repository_imp.dart index 1b84d61..7a61fa9 100644 --- a/packages/chicken/lib/data/repositories/auth/auth_repository_imp.dart +++ b/packages/chicken/lib/data/repositories/auth/auth_repository_imp.dart @@ -22,4 +22,10 @@ class AuthRepositoryImpl implements AuthRepository { @override Future getUserInfo(String phoneNumber) async => await authRemote.getUserInfo(phoneNumber); + + @override + Future submitUserInfo({required String phone, String? deviceName}) async { + var tmp = {'mobile': phone, 'device_name': deviceName}; + await authRemote.submitUserInfo(tmp); + } } diff --git a/packages/chicken/lib/presentation/pages/common/auth/logic.dart b/packages/chicken/lib/presentation/pages/common/auth/logic.dart index 32d5da5..939bc8c 100644 --- a/packages/chicken/lib/presentation/pages/common/auth/logic.dart +++ b/packages/chicken/lib/presentation/pages/common/auth/logic.dart @@ -1,4 +1,5 @@ import 'dart:async'; +import 'dart:io'; import 'package:flutter/material.dart'; import 'package:rasadyar_chicken/data/common/dio_error_handler.dart'; @@ -42,6 +43,7 @@ class AuthLogic extends GetxController with GetTickerProviderStateMixin { Rx authType = AuthType.useAndPass.obs; Rx authStatus = AuthStatus.init.obs; Rx otpStatus = OtpStatus.init.obs; + RxnString deviceName = RxnString(null); RxInt secondsRemaining = 120.obs; Timer? _timer; @@ -62,6 +64,7 @@ class AuthLogic extends GetxController with GetTickerProviderStateMixin { textAnimation = CurvedAnimation(parent: _textAnimationController, curve: Curves.easeInOut); initUserPassData(); + getDeviceModel(); } @override @@ -128,6 +131,11 @@ class AuthLogic extends GetxController with GetTickerProviderStateMixin { ); } + authRepository.submitUserInfo( + phone: usernameController.value.text, + deviceName: deviceName.value, + ); + if (tmpRoles!.length > 1) { Get.offAndToNamed(ChickenRoutes.role); } else { @@ -176,4 +184,24 @@ class AuthLogic extends GetxController with GetTickerProviderStateMixin { rememberMe.value = true; } } + + Future getDeviceModel() async { + final deviceInfo = DeviceInfoPlugin(); + + if (Platform.isAndroid) { + final info = await deviceInfo.androidInfo; + print('Device: ${info.manufacturer} ${info.model}'); + print('Android version: ${info.version.release}'); + deviceName.value = + 'Device:${info.manufacturer} Model:${info.model} version ${info.version.release}'; + } else if (Platform.isIOS) { + final info = await deviceInfo.iosInfo; + print('Device: ${info.utsname.machine} (${info.name})'); + print('System version: ${info.systemVersion}'); + deviceName.value = + 'Device:${info.utsname.machine} Model:${info.model} version ${info.systemVersion}'; + } else { + print('Unsupported platform'); + } + } } diff --git a/packages/core/pubspec.lock b/packages/core/pubspec.lock index ae26094..b6df01c 100644 --- a/packages/core/pubspec.lock +++ b/packages/core/pubspec.lock @@ -977,10 +977,10 @@ packages: dependency: "direct main" description: name: logger - sha256: "55d6c23a6c15db14920e037fe7e0dc32e7cdaf3b64b4b25df2d541b5b6b81c0c" + sha256: a7967e31b703831a893bbc3c3dd11db08126fe5f369b5c648a36f821979f5be3 url: "https://pub.dev" source: hosted - version: "2.6.1" + version: "2.6.2" logging: dependency: transitive description: diff --git a/packages/core/pubspec.yaml b/packages/core/pubspec.yaml index 0f2c7e1..0e436bf 100644 --- a/packages/core/pubspec.yaml +++ b/packages/core/pubspec.yaml @@ -29,7 +29,7 @@ dependencies: smooth_page_indicator: ^1.2.1 ##Log - logger: ^2.6.1 + logger: ^2.6.2 ## reactive dartx: ^1.2.0 diff --git a/pubspec.yaml b/pubspec.yaml index cdc864e..ed20428 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: rasadyar_app description: "A new Flutter project." publish_to: 'none' -version: 1.3.17+14 +version: 1.3.18+15 environment: sdk: ^3.9.2