Commit 80696031 authored by Dio Maulana's avatar Dio Maulana

nambahin user agent di payload API

parent 99af73d6
import 'dart:convert';
import 'package:device_info_plus/device_info_plus.dart';
import 'package:excelso_attendance/helper/logger.dart';
import 'package:excelso_attendance/helper/pref.dart';
import 'package:excelso_attendance/main.dart';
......@@ -12,6 +13,7 @@ import 'package:excelso_attendance/resource/strings.dart';
import 'package:geolocator/geolocator.dart';
import 'package:get_ip_address/get_ip_address.dart';
import 'package:http/http.dart' as http;
import 'package:flutter/foundation.dart' show kIsWeb;
class Api {
static Future<ApiResponse> getNearestBranch() async {
......@@ -151,6 +153,12 @@ class Api {
Position position = await Geolocator.getCurrentPosition();
IpAddress ipAddress = IpAddress(type: RequestType.json);
dynamic dataIp = await ipAddress.getIpAddress();
DeviceInfoPlugin deviceInfo = DeviceInfoPlugin();
String userAgent = "";
if (kIsWeb) {
WebBrowserInfo browser = await deviceInfo.webBrowserInfo;
userAgent = browser.userAgent ?? "";
}
try {
Map<String, dynamic> data = {
"branch_id": branchId,
......@@ -160,7 +168,8 @@ class Api {
"user_lat": position.latitude,
"user_long": position.longitude,
"photo_base64": "data:image/jpeg;base64,$photoBase64",
"ip": dataIp['ip']
"ip": dataIp['ip'],
"user_agent": userAgent,
};
String bodies = jsonEncode(data);
dynamic jsonObject =
......@@ -208,6 +217,12 @@ class Api {
Position position = await Geolocator.getCurrentPosition();
IpAddress ipAddress = IpAddress(type: RequestType.json);
dynamic dataIp = await ipAddress.getIpAddress();
DeviceInfoPlugin deviceInfo = DeviceInfoPlugin();
String userAgent = "";
if (kIsWeb) {
WebBrowserInfo browser = await deviceInfo.webBrowserInfo;
userAgent = browser.userAgent ?? "";
}
try {
Map<String, dynamic> data = {
"branch_id": branchId,
......@@ -217,6 +232,7 @@ class Api {
"user_long": position.longitude,
"photo_base64": photoBase64,
"ip": dataIp['ip'],
"user_agent": userAgent,
};
String bodies = jsonEncode(data);
dynamic jsonObject =
......
......@@ -5,10 +5,12 @@
import FlutterMacOS
import Foundation
import device_info_plus
import geolocator_apple
import shared_preferences_foundation
func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
DeviceInfoPlusMacosPlugin.register(with: registry.registrar(forPlugin: "DeviceInfoPlusMacosPlugin"))
GeolocatorPlugin.register(with: registry.registrar(forPlugin: "GeolocatorPlugin"))
SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin"))
}
......@@ -161,6 +161,22 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.0.5"
device_info_plus:
dependency: "direct main"
description:
name: device_info_plus
sha256: "2c35b6d1682b028e42d07b3aee4b98fa62996c10bc12cb651ec856a80d6a761b"
url: "https://pub.dev"
source: hosted
version: "9.0.2"
device_info_plus_platform_interface:
dependency: transitive
description:
name: device_info_plus_platform_interface
sha256: d3b01d5868b50ae571cd1dc6e502fc94d956b665756180f7b16ead09e836fd64
url: "https://pub.dev"
source: hosted
version: "7.0.0"
dropdown_button2:
dependency: "direct main"
description:
......@@ -629,6 +645,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "4.1.4"
win32_registry:
dependency: transitive
description:
name: win32_registry
sha256: "1c52f994bdccb77103a6231ad4ea331a244dbcef5d1f37d8462f713143b0bfae"
url: "https://pub.dev"
source: hosted
version: "1.1.0"
xdg_directories:
dependency: transitive
description:
......
......@@ -33,6 +33,7 @@ dependencies:
camera: ^0.10.5+2
camera_web: ^0.3.1+4
cupertino_icons: ^1.0.2
device_info_plus: ^9.0.2
dropdown_button2: ^2.1.3
flutter:
sdk: flutter
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment