begin cleanup add_cam_main. dont remember if anything more
This commit is contained in:
42
lib/screens/sharedMethods/http_request.dart
Normal file
42
lib/screens/sharedMethods/http_request.dart
Normal file
@@ -0,0 +1,42 @@
|
||||
// ignore_for_file: avoid_print
|
||||
|
||||
import 'dart:convert';
|
||||
import 'package:dio/dio.dart';
|
||||
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
|
||||
class HttpRequest {
|
||||
int? _errorCode;
|
||||
|
||||
|
||||
int get errorCode => _errorCode ?? 0;
|
||||
|
||||
|
||||
Future<void> httpRequest(String httpData) async {
|
||||
// print(jsonEncode(place));
|
||||
|
||||
final dio = Dio();
|
||||
final SharedPreferences prefs = await SharedPreferences.getInstance();
|
||||
|
||||
dio.options
|
||||
..connectTimeout = const Duration(seconds: 5)
|
||||
..receiveTimeout = const Duration(seconds: 5)
|
||||
..responseType = ResponseType.plain;
|
||||
Response response = Response(requestOptions: RequestOptions(path: ''), statusCode: 400);
|
||||
|
||||
try {
|
||||
response = await dio.post(prefs.getString('apiAddress') ?? "",
|
||||
data: jsonEncode(httpData));
|
||||
|
||||
// ignore: unused_catch_clause
|
||||
} on DioException catch (e) {
|
||||
_errorCode = response.statusCode;
|
||||
print('is hier. var: $_errorCode');
|
||||
return;
|
||||
}
|
||||
_errorCode = response.statusCode;
|
||||
print('is hier 2. var: $_errorCode');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
21
lib/screens/sharedMethods/save_file.dart
Normal file
21
lib/screens/sharedMethods/save_file.dart
Normal file
@@ -0,0 +1,21 @@
|
||||
import 'dart:convert';
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:file_picker/file_picker.dart';
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
|
||||
Future<void> saveFile(
|
||||
Map place, String fileNameLocalization, String placeID) async {
|
||||
String? selectedDirectory = await FilePicker.platform.getDirectoryPath();
|
||||
SharedPreferences prefs = await SharedPreferences.getInstance();
|
||||
String jsonPlace = jsonEncode(place);
|
||||
|
||||
if (selectedDirectory == null) {
|
||||
return;
|
||||
}
|
||||
await prefs.setString('saveDir', selectedDirectory);
|
||||
|
||||
File file = File('$selectedDirectory/$fileNameLocalization-$placeID.txt');
|
||||
|
||||
await file.writeAsString(jsonPlace);
|
||||
}
|
||||
22
lib/screens/sharedMethods/save_template.dart
Normal file
22
lib/screens/sharedMethods/save_template.dart
Normal file
@@ -0,0 +1,22 @@
|
||||
import 'package:fforte/enums/databases.dart';
|
||||
import 'package:fforte/interfaces/i_db.dart';
|
||||
import 'package:fforte/methods/excursion_db_helper.dart';
|
||||
import 'package:fforte/methods/place_db_helper.dart';
|
||||
|
||||
void saveTemplate(Map<String, dynamic> templateData, DatabasesEnum dbType,
|
||||
bool update) async {
|
||||
IDb dbHelper;
|
||||
if (dbType == DatabasesEnum.place) {
|
||||
dbHelper = PlaceDBHelper();
|
||||
} else if (dbType == DatabasesEnum.excursion) {
|
||||
dbHelper = ExcursionDBHelper();
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
|
||||
if (update) {
|
||||
await dbHelper.updateTemplate(templateData);
|
||||
} else {
|
||||
await dbHelper.addTemplate(templateData);
|
||||
}
|
||||
}
|
||||
71
lib/screens/sharedMethods/send_file.dart
Normal file
71
lib/screens/sharedMethods/send_file.dart
Normal file
@@ -0,0 +1,71 @@
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:dio/dio.dart';
|
||||
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
||||
import 'dart:io';
|
||||
import 'package:file_picker/file_picker.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
|
||||
class SendFile extends StatefulWidget {
|
||||
const SendFile({super.key});
|
||||
|
||||
@override
|
||||
State<SendFile> createState() => _SendFileState();
|
||||
}
|
||||
|
||||
class _SendFileState extends State<SendFile> {
|
||||
File? pickedFile;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
appBar: AppBar(),
|
||||
body: Column(
|
||||
children: [
|
||||
ElevatedButton(
|
||||
onPressed: () async {
|
||||
FilePickerResult? result =
|
||||
await FilePicker.platform.pickFiles();
|
||||
|
||||
if (result != null) {
|
||||
pickedFile = File(result.files.single.path!);
|
||||
} else {
|
||||
pickedFile = File("");
|
||||
}
|
||||
},
|
||||
child: Text(AppLocalizations.of(context)!.pickfile)),
|
||||
Text(pickedFile.toString()),
|
||||
ElevatedButton(
|
||||
onPressed: () async {
|
||||
final dio = Dio();
|
||||
final SharedPreferences prefs =
|
||||
await SharedPreferences.getInstance();
|
||||
String? fileContent = await pickedFile?.readAsString();
|
||||
|
||||
dio.options.responseType = ResponseType.plain;
|
||||
Response response = Response(
|
||||
requestOptions: RequestOptions(path: ''), statusCode: 400);
|
||||
|
||||
try {
|
||||
response = await dio.post(prefs.getString('apiAddress') ?? "",
|
||||
data: jsonEncode(fileContent));
|
||||
} on DioException catch (e) {
|
||||
if (e.response?.statusCode == 500) {
|
||||
/* print('-------------------------');
|
||||
print('code 500'); */
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (response.statusCode == 201) {
|
||||
// print(response.statusCode);
|
||||
} else {
|
||||
//print(response.statusCode);
|
||||
}
|
||||
},
|
||||
child: Text(AppLocalizations.of(context)!.sendtoserver))
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user