add loginpage, load videos, load preview

This commit is contained in:
2021-12-11 17:17:38 +01:00
parent d1f6f02fcc
commit af5db6242e
11 changed files with 293 additions and 50 deletions

31
lib/api/api.dart Normal file
View 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;
}
}

View File

@ -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._();