add loginpage, load videos, load preview
This commit is contained in:
31
lib/api/api.dart
Normal file
31
lib/api/api.dart
Normal file
@ -0,0 +1,31 @@
|
||||
import 'dart:async';
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:http/http.dart' as http;
|
||||
import 'package:openmediacentermobile/api/token.dart';
|
||||
import 'package:openmediacentermobile/log/log.dart';
|
||||
|
||||
class API {
|
||||
static Future<String> query(
|
||||
String apinode, String action, Object payload) async {
|
||||
final Completer<String> cmpl = Completer();
|
||||
final t = await Token.getInstance().getToken();
|
||||
Log.d(t);
|
||||
if (t != null) {
|
||||
final resp = await http.post(
|
||||
Uri.parse(t.domain + '/api/$apinode/$action'),
|
||||
headers: <String, String>{
|
||||
'Content-Type': 'application/json; charset=UTF-8',
|
||||
'Token': t.token
|
||||
},
|
||||
body: jsonEncode(payload),
|
||||
);
|
||||
|
||||
cmpl.complete(resp.body);
|
||||
} else {
|
||||
cmpl.complete("");
|
||||
}
|
||||
|
||||
return cmpl.future;
|
||||
}
|
||||
}
|
@ -5,43 +5,50 @@ import 'package:flutter_secure_storage/flutter_secure_storage.dart';
|
||||
|
||||
import '../log/log.dart';
|
||||
|
||||
class TokenT {
|
||||
String token;
|
||||
String domain;
|
||||
|
||||
TokenT(this.token, this.domain);
|
||||
}
|
||||
|
||||
class Token {
|
||||
static final Token _token = Token._();
|
||||
final _storage = const FlutterSecureStorage();
|
||||
|
||||
String _tokenval = "";
|
||||
String _domain = "";
|
||||
|
||||
static Token getInstance() {
|
||||
return _token;
|
||||
}
|
||||
|
||||
Future<String?> _readToken() async {
|
||||
Log.d("reading token store");
|
||||
WidgetsFlutterBinding.ensureInitialized();
|
||||
return _storage.read(key: 'jwt');
|
||||
}
|
||||
Future<TokenT?> getToken() async {
|
||||
var completer = Completer<TokenT?>();
|
||||
|
||||
Future<String> getToken() async {
|
||||
var completer = Completer<String>();
|
||||
|
||||
if (_tokenval == "") {
|
||||
final token = await _readToken();
|
||||
if (_tokenval == "" || _domain == "") {
|
||||
Log.d("reading token store");
|
||||
WidgetsFlutterBinding.ensureInitialized();
|
||||
final token = await _storage.read(key: 'jwt');
|
||||
final domain = await _storage.read(key: 'domain');
|
||||
// check if value is defined in phone store
|
||||
if (token != null) {
|
||||
completer.complete(token);
|
||||
if (token != null && domain != null) {
|
||||
completer.complete(TokenT(token, domain));
|
||||
} else {
|
||||
Log.d("no token defined");
|
||||
completer.complete("");
|
||||
completer.complete(null);
|
||||
}
|
||||
} else {
|
||||
completer.complete(_tokenval);
|
||||
completer.complete(TokenT(_tokenval, _domain));
|
||||
}
|
||||
return completer.future;
|
||||
}
|
||||
|
||||
void setToken(String token) {
|
||||
void setToken(String token, String domain) {
|
||||
_tokenval = token;
|
||||
_domain = domain;
|
||||
_storage.write(key: 'jwt', value: token);
|
||||
_storage.write(key: 'domain', value: domain);
|
||||
}
|
||||
|
||||
Token._();
|
||||
|
Reference in New Issue
Block a user