From 4d7bcb122640c80f30f3c7baad8d2b0f4b1fe0c9 Mon Sep 17 00:00:00 2001 From: lifegpc Date: Sat, 3 Feb 2024 11:19:19 +0800 Subject: [PATCH] Fix _Namespace not defined --- lib/globals.dart | 22 ++-------------------- lib/main.dart | 2 +- lib/platform/fake_io.dart | 7 +++++++ lib/platform/get_jar.dart | 1 + lib/platform/get_jar_none.dart | 3 +++ lib/platform/get_jar_other.dart | 21 +++++++++++++++++++++ lib/utils.dart | 2 +- 7 files changed, 36 insertions(+), 22 deletions(-) create mode 100644 lib/platform/fake_io.dart create mode 100644 lib/platform/get_jar.dart create mode 100644 lib/platform/get_jar_none.dart create mode 100644 lib/platform/get_jar_other.dart diff --git a/lib/globals.dart b/lib/globals.dart index 9c945dc..6c36398 100644 --- a/lib/globals.dart +++ b/lib/globals.dart @@ -1,4 +1,3 @@ -import 'dart:io'; import 'package:cookie_jar/cookie_jar.dart'; import 'package:dio/dio.dart'; import 'package:dio_cookie_manager/dio_cookie_manager.dart'; @@ -11,8 +10,6 @@ import 'package:flutter/services.dart' import 'package:flutter_gen/gen_l10n/app_localizations.dart'; import 'package:go_router/go_router.dart'; import 'package:logging/logging.dart'; -import 'package:path/path.dart' as path; -import 'package:path_provider/path_provider.dart'; import 'package:shared_preferences/shared_preferences.dart'; import 'package:window_manager/window_manager.dart'; import 'api/client.dart'; @@ -24,6 +21,7 @@ import 'gallery.dart'; import 'main.dart'; import 'platform/clipboard.dart'; import 'platform/display.dart'; +import 'platform/get_jar.dart'; import 'platform/path.dart'; import 'platform/set_title.dart'; import 'tags.dart'; @@ -39,24 +37,8 @@ final dio = Dio() Config? _prefs; EHApi? _api; -Future _getJarPath() async { - if (isWindows || isLinux) { - try { - final p = await platformPath.getCurrentExe(); - if (p != null) { - return path.join(path.dirname(p), "cookies"); - } - } catch (e) { - // Do nothing - } - } - final Directory appDocDir = await getApplicationDocumentsDirectory(); - final String appDocPath = appDocDir.path; - return '$appDocPath/.eh-cookies/'; -} - Future prepareJar() async { - final jar = PersistCookieJar(storage: FileStorage(await _getJarPath())); + final jar = PersistCookieJar(storage: FileStorage(await getJarPath())); dio.interceptors.add(CookieManager(jar)); } diff --git a/lib/main.dart b/lib/main.dart index 68736a2..67f25a0 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -246,7 +246,7 @@ class _MainApp extends State { } catch (e) { _log.warning("Failed to read lang from prefs:", e); } - if (kIsWeb || isWindows) { + if (isWindows) { _themeData = _themeData.useSystemChineseFont(); _darkThemeData = _darkThemeData.useSystemChineseFont(); } diff --git a/lib/platform/fake_io.dart b/lib/platform/fake_io.dart new file mode 100644 index 0000000..13f665c --- /dev/null +++ b/lib/platform/fake_io.dart @@ -0,0 +1,7 @@ +final class Platform { + static bool get isWindows => false; + static bool get isLinux => false; + static bool get isMacOS => false; + static bool get isAndroid => false; + static bool get isIOS => false; +} diff --git a/lib/platform/get_jar.dart b/lib/platform/get_jar.dart new file mode 100644 index 0000000..ad6f727 --- /dev/null +++ b/lib/platform/get_jar.dart @@ -0,0 +1 @@ +export 'get_jar_other.dart' if (dart.library.html) 'get_jar_none.dart'; diff --git a/lib/platform/get_jar_none.dart b/lib/platform/get_jar_none.dart new file mode 100644 index 0000000..7abaaec --- /dev/null +++ b/lib/platform/get_jar_none.dart @@ -0,0 +1,3 @@ +Future getJarPath() { + throw UnimplementedError(); +} diff --git a/lib/platform/get_jar_other.dart b/lib/platform/get_jar_other.dart new file mode 100644 index 0000000..bc92a93 --- /dev/null +++ b/lib/platform/get_jar_other.dart @@ -0,0 +1,21 @@ +import 'dart:io'; +import '../utils.dart'; +import '../globals.dart'; +import 'package:path/path.dart' as path; +import 'package:path_provider/path_provider.dart'; + +Future getJarPath() async { + if (isWindows || isLinux) { + try { + final p = await platformPath.getCurrentExe(); + if (p != null) { + return path.join(path.dirname(p), "cookies"); + } + } catch (e) { + // Do nothing + } + } + final Directory appDocDir = await getApplicationDocumentsDirectory(); + final String appDocPath = appDocDir.path; + return '$appDocPath/.eh-cookies/'; +} diff --git a/lib/utils.dart b/lib/utils.dart index 1a67ae9..5e3cb2e 100644 --- a/lib/utils.dart +++ b/lib/utils.dart @@ -1,4 +1,4 @@ -import 'dart:io' show Platform; +import 'dart:io' show Platform if (dart.library.html) './platform/fake_io.dart'; import 'package:flutter/foundation.dart'; bool get isDesktop =>