From ba452c7fd8675a4e67eff5a71ca8d5ee0814646d Mon Sep 17 00:00:00 2001 From: Linloir <3145078758@qq.com> Date: Fri, 21 Oct 2022 23:09:46 +0800 Subject: [PATCH] Basic Adaption - Change Database Dependence from sqflite-comon-ffi to sqflite --- lib/main.dart | 76 +------------------ .../local_service_repository.dart | 37 ++------- 2 files changed, 8 insertions(+), 105 deletions(-) diff --git a/lib/main.dart b/lib/main.dart index 2a7b03f..bc9b026 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,53 +1,20 @@ /* * @Author : Linloir * @Date : 2022-10-10 08:04:53 - * @LastEditTime : 2022-10-20 23:11:45 + * @LastEditTime : 2022-10-21 22:49:14 * @Description : */ -import 'package:easy_debounce/easy_debounce.dart'; import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:shared_preferences/shared_preferences.dart'; -import 'package:sqflite_common_ffi/sqflite_ffi.dart'; import 'package:tcp_client/home/home_page.dart'; import 'package:tcp_client/initialization/cubit/initialization_cubit.dart'; import 'package:tcp_client/initialization/cubit/initialization_state.dart'; import 'package:tcp_client/initialization/initialization_page.dart'; import 'package:tcp_client/login/login_page.dart'; -import 'package:window_manager/window_manager.dart'; void main() async { - sqfliteFfiInit(); - - //The code below is for desktop platforms only------------------------- - WidgetsFlutterBinding.ensureInitialized(); - - // Must add this line. - await windowManager.ensureInitialized(); - - //Get preferred window size - var pref = await SharedPreferences.getInstance(); - var width = pref.getDouble('windowWidth'); - var height = pref.getDouble('windowHeight'); - var posX = pref.getDouble('windowPosX'); - var posY = pref.getDouble('windowPosY'); - WindowOptions windowOptions = WindowOptions( - size: Size(width ?? 800, height ?? 600), - backgroundColor: Colors.transparent, - skipTaskbar: false, - titleBarStyle: TitleBarStyle.normal - ); - await windowManager.waitUntilReadyToShow(windowOptions, () async { - if(posX != null && posY != null) { - await windowManager.setPosition(Offset(posX, posY)); - } - await windowManager.show(); - await windowManager.focus(); - }); - - //--------------------------------------------------------------------- - runApp(const MyApp()); } @@ -58,44 +25,7 @@ class MyApp extends StatefulWidget { State createState() => MyAppState(); } -class MyAppState extends State with WindowListener { - // This widget is the root of your application. - @override - void initState() { - windowManager.addListener(this); - super.initState(); - } - - @override - void onWindowMove() { - EasyDebounce.debounce( - 'WindowMove', - const Duration(milliseconds: 50), - () async { - var pref = await SharedPreferences.getInstance(); - var pos = await windowManager.getPosition(); - pref.setDouble('windowPosX', pos.dx); - pref.setDouble('windowPosY', pos.dy); - } - ); - super.onWindowMove(); - } - - @override - void onWindowResize() { - EasyDebounce.debounce( - 'WindowResize', - const Duration(milliseconds: 50), - () async { - var pref = await SharedPreferences.getInstance(); - var size = await windowManager.getSize(); - pref.setDouble('windowWidth', size.width); - pref.setDouble('windowHeight', size.height); - } - ); - super.onWindowResize(); - } - +class MyAppState extends State { @override Widget build(BuildContext context) { return MaterialApp( @@ -119,7 +49,7 @@ class SplashPage extends StatelessWidget { return BlocProvider( create: (context) { return InitializationCubit( - serverAddress: '127.0.0.1', + serverAddress: 'chat.linloir.cn', serverPort: 20706 ); }, diff --git a/lib/repositories/local_service_repository/local_service_repository.dart b/lib/repositories/local_service_repository/local_service_repository.dart index be76788..2d44b06 100644 --- a/lib/repositories/local_service_repository/local_service_repository.dart +++ b/lib/repositories/local_service_repository/local_service_repository.dart @@ -1,27 +1,19 @@ /* * @Author : Linloir * @Date : 2022-10-11 10:56:02 - * @LastEditTime : 2022-10-20 17:24:26 + * @LastEditTime : 2022-10-21 22:47:38 * @Description : Local Service Repository */ import 'dart:async'; -import 'dart:convert'; import 'dart:io'; - -import 'package:convert/convert.dart'; -import 'package:crypto/crypto.dart'; import 'package:file_picker/file_picker.dart'; import 'package:path_provider/path_provider.dart'; import 'package:shared_preferences/shared_preferences.dart'; import 'package:tcp_client/repositories/common_models/message.dart'; import 'package:tcp_client/repositories/common_models/userinfo.dart'; import 'package:tcp_client/repositories/local_service_repository/models/local_file.dart'; -//Windows platform -import 'package:sqflite_common/sqlite_api.dart'; -import 'package:sqflite_common_ffi/sqflite_ffi.dart'; -//Android platform -// import 'package:sqflite/sqflite.dart'; +import 'package:sqflite/sqflite.dart'; class LocalServiceRepository { late final Database _database; @@ -91,20 +83,11 @@ class LocalServiceRepository { UserInfo? currentUser, required String databaseFilePath }) async { - //Windows platform - var database = await databaseFactoryFfi.openDatabase( + var database = await openDatabase( databaseFilePath, - options: OpenDatabaseOptions( - version: 1, - onCreate: _onDatabaseCreate - ) + version: 1, + onCreate: _onDatabaseCreate ); - //Android platform - // var database = await openDatabase( - // databaseFilePath, - // version: 1, - // onCreate: _onDatabaseCreate - // ); return LocalServiceRepository._internal(database: database); } @@ -116,16 +99,6 @@ class LocalServiceRepository { ); if (filePickResult == null) return null; var file = File(filePickResult.files.single.path!); - // var md5Output = AccumulatorSink(); - // ByteConversionSink md5Input = md5.startChunkedConversion(md5Output); - // await for(var bytes in file.openRead()) { - // md5Input.add(bytes); - // } - // md5Input.close(); - // return LocalFile( - // file: file, - // filemd5: md5Output.events.single.toString() - // ); return file; }