Add: get token from api
This commit is contained in:
@@ -1,8 +1,10 @@
|
||||
import 'dart:convert';
|
||||
import 'dart:math';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:gymlink_module_web/main_mobile.dart';
|
||||
import 'package:gymlink_module_web/providers/main.dart';
|
||||
import 'package:http/http.dart' as http;
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
void main() {
|
||||
@@ -71,11 +73,50 @@ class _ExamplePageState extends State<ExamplePage> {
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
Future.microtask(
|
||||
() => context.read<GymLinkProvider>().onTokenReceived('token123'));
|
||||
// Future.microtask(
|
||||
// () => context.read<GymLinkProvider>().onTokenReceived('token123'));
|
||||
Future.microtask(() => context
|
||||
.read<GymLinkProvider>()
|
||||
.setTheme(ThemeData.light(useMaterial3: true)));
|
||||
|
||||
Future.microtask(() => context.read<GymLinkProvider>().setOnError(() {
|
||||
const snackBar = SnackBar(
|
||||
content: Text('Ошибка подключения'),
|
||||
duration: Duration(seconds: 3), // Длительность отображения Snackbar
|
||||
behavior: SnackBarBehavior
|
||||
.fixed, // Поведение Snackbar (fixed или floating)
|
||||
);
|
||||
ScaffoldMessenger.of(context).showSnackBar(snackBar);
|
||||
Future.delayed(const Duration(seconds: 3))
|
||||
.then((value) => _setToken());
|
||||
}));
|
||||
|
||||
Future.microtask(() async {
|
||||
await _setToken();
|
||||
});
|
||||
}
|
||||
|
||||
Future<void> _setToken() async {
|
||||
final token = await _getToken();
|
||||
if (token != '') {
|
||||
context.read<GymLinkProvider>().onTokenReceived(token);
|
||||
} else {
|
||||
context.read<GymLinkProvider>().onError();
|
||||
}
|
||||
}
|
||||
|
||||
Future<String> _getToken() async {
|
||||
var url =
|
||||
Uri.http('gymlink.freemyip.com:8080', 'api/auth/authorize_client');
|
||||
var response = await http.post(url, body: {
|
||||
'GymKey': 'eeb42dcb-8e5b-4f21-825a-3fc7ada43445',
|
||||
'id': '123'
|
||||
}); // Just testing token
|
||||
var decodedBody = jsonDecode(response.body) as Map;
|
||||
if (decodedBody['payload'] == null) {
|
||||
return '';
|
||||
}
|
||||
return decodedBody['payload']['token'];
|
||||
}
|
||||
|
||||
@override
|
||||
|
||||
Reference in New Issue
Block a user