login api integration

This commit is contained in:
cj201199
2024-07-09 14:46:28 +05:30
parent 7c47c2ce24
commit bb3eec2081
6 changed files with 70 additions and 33 deletions

View File

@@ -1,4 +1,9 @@
class ApiUrls {
static const baseUrl = "https://regroup.betadelivery.com/api/v1/";
static const getlogin = "${baseUrl}login";

View File

@@ -13,6 +13,10 @@ import 'package:http/http.dart' as http;
import '../../entry_point_controller.dart';
class NetworkApiServices {
String basicAuth = 'Basic ' +
base64.encode(
utf8.encode('RegroupUserName:71%@L%es^bUX94`J9XT*@bh,._WWM{\$%^^&&'));
Dio dio = Dio();
final controllerEntryPoint = Get.put(EntryPointController());
@@ -59,18 +63,26 @@ class NetworkApiServices {
Response response;
SharedPreferences prefs = await SharedPreferences.getInstance();
// ignore: unused_local_variable
String? token = prefs.getString('token').toString();
String? token = prefs.getString('access-token').toString();
print("token is $token");
print("basicauth ---- $basicAuth");
try {
response = await dio.post(url,
data: data,
options: Options(
headers: {
"authorization": "Bearer $token",
'content-Type': 'application/json',
"Accept": 'application/json'
},
));
response = await dio.post(
url,
data: data,
options: (token != null)
? Options(
headers: {
"authorization": basicAuth,
'access-token': token,
},
)
: Options(
headers: {
'authorization': basicAuth,
},
),
);
} on Exception catch (e) {
if (e is DioException) {
log(e.response.toString());
@@ -196,17 +208,18 @@ class NetworkApiServices {
var resp = await response.stream.bytesToString();
var jsonResp = jsonDecode(resp);
print(jsonResp);
var errorMessage = jsonResp["errors"]["email2"].join(", ") + "\n" +
jsonResp["errors"]["contact_number2"].join(", ");
var errorMessage = jsonResp["errors"]["email2"].join(", ") +
"\n" +
jsonResp["errors"]["contact_number2"].join(", ");
// return ResponseData<dynamic>(
// jsonResp["errors"][0]["email2"] +
// jsonResp["errors"][0]["contact_number2"],
// ResponseStatus.PRIVATE,
// );
return ResponseData<String>(
errorMessage,
ResponseStatus.PRIVATE,
);
return ResponseData<String>(
errorMessage,
ResponseStatus.PRIVATE,
);
} else if (response.statusCode == 500) {
var resp = await response.stream.bytesToString();
var jsonResp = jsonDecode(resp);

View File

@@ -1,5 +1,6 @@
import 'package:geolocator/geolocator.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';
import 'package:shared_preferences/shared_preferences.dart';
LatLng? latlong;
@@ -25,3 +26,16 @@ getLocation() async {
print('done');
}
setname() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
String? token = prefs.getString('token');
if (token != null) {
// await ProfileAPI().getApi();
// prefs.setString('email', getProfileObj!.data!.email!);
// prefs.setString('profile_img', getProfileObj!.data!.profilePhoto!);
// prefs.setString('firstName', getProfileObj!.data!.firstName!);
// prefs.setString('phoneNo', getProfileObj!.data!.phoneNo ?? "");
// prefs.setInt('complete', getProfileObj!.data!.profileComplete ?? 0);
}
}

View File

@@ -12,6 +12,8 @@ import 'package:regroup/Utils/texts.dart';
import 'package:regroup/resources/routes/route_name.dart';
import 'package:remove_emoji_input_formatter/remove_emoji_input_formatter.dart';
import 'package:flutter_facebook_auth/flutter_facebook_auth.dart';
import 'package:regroup/Common/global.dart' as global;
// import 'package:regroup/Common/global.dart' as global;
class LoginScreen extends StatefulWidget {
const LoginScreen({super.key});
@@ -108,12 +110,13 @@ class _LoginScreenState extends State<LoginScreen> {
Map<String, String> updata = {
"email": _emailController.text,
"password": _passwordController.text,
"access-token":
"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL3JlZ3JvdXAuYmV0YWRlbGl2ZXJ5LmNvbS9hcGkvdjEvbG9naW4iLCJpYXQiOjE3MjA1MDgwNzcsIm5iZiI6MTcyMDUwODA3NywianRpIjoiNlFsbU1hSzB1cGJ2MDN5WSIsInN1YiI6IjIzIiwicHJ2IjoiNDBiYzNmZGUzNDYyNTdhODUwOTUwMmZlNjQyMzU1OWExMTE2NGJkMyJ9.3rmDa3ZXoAPFlxAVx-Rms78tZ-VHaVDYn1YG3eYYQp0",
// "access-token" : ""
//
// "player_id": global.player_id!,
};
final data = await LoginAPI().loginApi(updata);
if (data.status == ResponseStatus.SUCCESS) {
await global.setname();
Get.snackbar(
"Success!",
'Login successful!',

View File

@@ -1,12 +1,14 @@
import 'package:regroup/Common/base_manager.dart';
import 'package:regroup/Common/controller/data/network/network_api.dart';
import 'package:regroup/Login/Model/LoginModel.dart';
import 'package:shared_preferences/shared_preferences.dart';
class LoginAPI {
LoginAPI();
Future<ResponseData<dynamic>> loginApi(var data) async {
// SharedPreferences prefs = await SharedPreferences.getInstance();
final response = await NetworkApiServices().postApi(url: 'https://regroup.betadelivery.com/api/v1/login', data: data
SharedPreferences prefs = await SharedPreferences.getInstance();
final response = await NetworkApiServices().postApi(
url: 'https://regroup.betadelivery.com/api/v1/login', data: data
// "auth/login/",
);
@@ -15,9 +17,9 @@ class LoginAPI {
//Map<String, dynamic> responseData = jsonDecode(response.data);
if (response.data['success'] == true) {
LoginModel loginObj = LoginModel.fromJson(response.data);
// await prefs.setString('token', loginObj.data!.access!);
await prefs.setString('access-token', loginObj.data!.accessToken!);
// await prefs.setString('refreshToken', loginObj.data!.refresh!);
// print("token is ${loginObj.data!.access!}");
print("token is ${loginObj.data!.accessToken!}");
// print("refresh-token is ${loginObj.data!.refresh!}");
} else {
return ResponseData<dynamic>(

View File

@@ -16,19 +16,19 @@ import 'package:statsfl/statsfl.dart';
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
SystemChrome.setPreferredOrientations([
SystemChrome.setPreferredOrientations([
DeviceOrientation.portraitUp,
]).then(
(value) =>
// runApp(MyApp())
runApp(StatsFl(
align: Alignment.center,
width: 200,
height: 100,
child: const MyApp())),
);
}
]).then((value) =>
// runApp(MyApp())
runApp(const MyApp())
// StatsFl(
// align: Alignment.center,
// width: 200,
// height: 100,
// child: const MyApp())),
);
}
class MyApp extends StatefulWidget {
const MyApp({super.key});