download cache
This commit is contained in:
parent
8ac33b43db
commit
442cc5d045
|
@ -1 +1 @@
|
||||||
v1.5.13
|
v1.5.14
|
|
@ -6,6 +6,10 @@ IOS 用户请注意, 由于导出权限的问题, 本次升级后, 数据将会
|
||||||
|
|
||||||
##
|
##
|
||||||
|
|
||||||
|
v1.5.14
|
||||||
|
|
||||||
|
- [x] 🚀使用其他漫画软件的下载内容加速
|
||||||
|
|
||||||
v1.5.13
|
v1.5.13
|
||||||
|
|
||||||
- [x] ♻️升级flutter
|
- [x] ♻️升级flutter
|
||||||
|
|
|
@ -249,7 +249,7 @@
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
shellPath = /bin/sh;
|
shellPath = /bin/sh;
|
||||||
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build";
|
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build\n";
|
||||||
};
|
};
|
||||||
A66AE356A44E049B8DF0FD4F /* [CP] Embed Pods Frameworks */ = {
|
A66AE356A44E049B8DF0FD4F /* [CP] Embed Pods Frameworks */ = {
|
||||||
isa = PBXShellScriptBuildPhase;
|
isa = PBXShellScriptBuildPhase;
|
||||||
|
|
|
@ -723,6 +723,16 @@ class Method {
|
||||||
return _flatInvoke("saveDownloadAndExportPath", folder);
|
return _flatInvoke("saveDownloadAndExportPath", folder);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// 使用下载缓存-配置获取
|
||||||
|
Future loadDownloadCachePath() {
|
||||||
|
return _flatInvoke("loadDownloadCachePath", "");
|
||||||
|
}
|
||||||
|
|
||||||
|
/// 使用下载缓存-设置
|
||||||
|
Future saveDownloadCachePath(String folder) {
|
||||||
|
return _flatInvoke("saveDownloadCachePath", folder);
|
||||||
|
}
|
||||||
|
|
||||||
/// 切换安全策略 (安卓禁止截图, 录屏, 不显示在任务视图)
|
/// 切换安全策略 (安卓禁止截图, 录屏, 不显示在任务视图)
|
||||||
Future androidSecureFlag(bool flag) {
|
Future androidSecureFlag(bool flag) {
|
||||||
return _channel.invokeMethod("androidSecureFlag", {
|
return _channel.invokeMethod("androidSecureFlag", {
|
||||||
|
|
|
@ -0,0 +1,72 @@
|
||||||
|
/// 下载的同时导出到文件系统
|
||||||
|
|
||||||
|
import 'dart:io';
|
||||||
|
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:pikapika/basic/Common.dart';
|
||||||
|
import 'package:pikapika/basic/Cross.dart';
|
||||||
|
|
||||||
|
import '../Method.dart';
|
||||||
|
|
||||||
|
late String _downloadCachePath;
|
||||||
|
|
||||||
|
Future initDownloadCachePath() async {
|
||||||
|
if (Platform.isWindows ||
|
||||||
|
Platform.isMacOS ||
|
||||||
|
Platform.isAndroid ||
|
||||||
|
Platform.isLinux) {
|
||||||
|
_downloadCachePath = await method.loadDownloadCachePath();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget downloadCachePathSetting() {
|
||||||
|
if (Platform.isWindows ||
|
||||||
|
Platform.isMacOS ||
|
||||||
|
Platform.isAndroid ||
|
||||||
|
Platform.isLinux) {
|
||||||
|
return StatefulBuilder(
|
||||||
|
builder: (BuildContext context, void Function(void Function()) setState) {
|
||||||
|
return ListTile(
|
||||||
|
title: const Text("使用下载缓存"),
|
||||||
|
subtitle: Text(_downloadCachePath),
|
||||||
|
onTap: () async {
|
||||||
|
if (_downloadCachePath == "") {
|
||||||
|
bool b = await confirmDialog(
|
||||||
|
context,
|
||||||
|
"使用其他软件的下载内容加速",
|
||||||
|
"您即将选择一个目录, 作为下载加速使用, 这个目录名字通常叫files",
|
||||||
|
);
|
||||||
|
if (b) {
|
||||||
|
late String? folder;
|
||||||
|
try {
|
||||||
|
folder = await chooseFolder(context);
|
||||||
|
} catch (e) {
|
||||||
|
defaultToast(context, "$e");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (folder != null) {
|
||||||
|
await method.saveDownloadCachePath(folder);
|
||||||
|
_downloadCachePath = folder;
|
||||||
|
setState(() {});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
bool b = await confirmDialog(
|
||||||
|
context,
|
||||||
|
"使用其他软件的下载内容加速",
|
||||||
|
"您确定取消使用其他软件的下载内容加速的功能吗? 取消之后您可以再次点击设置",
|
||||||
|
);
|
||||||
|
if (b) {
|
||||||
|
var folder = "";
|
||||||
|
await method.saveDownloadCachePath(folder);
|
||||||
|
_downloadCachePath = folder;
|
||||||
|
setState(() {});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
);
|
||||||
|
},
|
||||||
|
);
|
||||||
|
}
|
||||||
|
return Container();
|
||||||
|
}
|
|
@ -40,6 +40,7 @@ import 'package:pikapika/screens/ComicInfoScreen.dart';
|
||||||
import 'package:pikapika/screens/PkzArchiveScreen.dart';
|
import 'package:pikapika/screens/PkzArchiveScreen.dart';
|
||||||
import 'package:uni_links/uni_links.dart';
|
import 'package:uni_links/uni_links.dart';
|
||||||
import 'package:uri_to_file/uri_to_file.dart';
|
import 'package:uri_to_file/uri_to_file.dart';
|
||||||
|
import '../basic/config/DownloadCachePath.dart';
|
||||||
import '../basic/config/ExportRename.dart';
|
import '../basic/config/ExportRename.dart';
|
||||||
import '../basic/config/IconLoading.dart';
|
import '../basic/config/IconLoading.dart';
|
||||||
import '../basic/config/IsPro.dart';
|
import '../basic/config/IsPro.dart';
|
||||||
|
@ -105,6 +106,7 @@ class _InitScreenState extends State<InitScreen> {
|
||||||
autoCheckNewVersion();
|
autoCheckNewVersion();
|
||||||
await initWillPopNotice();
|
await initWillPopNotice();
|
||||||
await initShowCommentAtDownload();
|
await initShowCommentAtDownload();
|
||||||
|
await initDownloadCachePath();
|
||||||
|
|
||||||
String? initUrl;
|
String? initUrl;
|
||||||
if (Platform.isAndroid || Platform.isIOS) {
|
if (Platform.isAndroid || Platform.isIOS) {
|
||||||
|
|
|
@ -34,6 +34,7 @@ import 'package:pikapika/screens/components/RightClickPop.dart';
|
||||||
|
|
||||||
import '../basic/config/Authentication.dart';
|
import '../basic/config/Authentication.dart';
|
||||||
import '../basic/config/CategoriesColumnCount.dart';
|
import '../basic/config/CategoriesColumnCount.dart';
|
||||||
|
import '../basic/config/DownloadCachePath.dart';
|
||||||
import '../basic/config/UsingRightClickPop.dart';
|
import '../basic/config/UsingRightClickPop.dart';
|
||||||
import '../basic/config/WillPopNotice.dart';
|
import '../basic/config/WillPopNotice.dart';
|
||||||
import 'CleanScreen.dart';
|
import 'CleanScreen.dart';
|
||||||
|
@ -116,6 +117,7 @@ class SettingsScreen extends StatelessWidget {
|
||||||
downloadThreadCountSetting(),
|
downloadThreadCountSetting(),
|
||||||
downloadAndExportPathSetting(),
|
downloadAndExportPathSetting(),
|
||||||
showCommentAtDownloadSetting(),
|
showCommentAtDownloadSetting(),
|
||||||
|
downloadCachePathSetting(),
|
||||||
exportRenameSetting(),
|
exportRenameSetting(),
|
||||||
fontSetting(),
|
fontSetting(),
|
||||||
usingRightClickPopSetting(),
|
usingRightClickPopSetting(),
|
||||||
|
|
20
pubspec.lock
20
pubspec.lock
|
@ -14,7 +14,7 @@ packages:
|
||||||
name: archive
|
name: archive
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.3.1"
|
version: "3.3.2"
|
||||||
async:
|
async:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -112,7 +112,7 @@ packages:
|
||||||
name: file_picker
|
name: file_picker
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "5.2.1"
|
version: "5.2.2"
|
||||||
filesystem_picker:
|
filesystem_picker:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
@ -171,7 +171,7 @@ packages:
|
||||||
name: flutter_svg
|
name: flutter_svg
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.1.5"
|
version: "1.1.6"
|
||||||
flutter_test:
|
flutter_test:
|
||||||
dependency: "direct dev"
|
dependency: "direct dev"
|
||||||
description: flutter
|
description: flutter
|
||||||
|
@ -335,21 +335,21 @@ packages:
|
||||||
name: permission_handler
|
name: permission_handler
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "10.1.0"
|
version: "10.2.0"
|
||||||
permission_handler_android:
|
permission_handler_android:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: permission_handler_android
|
name: permission_handler_android
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "10.1.0"
|
version: "10.2.0"
|
||||||
permission_handler_apple:
|
permission_handler_apple:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: permission_handler_apple
|
name: permission_handler_apple
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "9.0.6"
|
version: "9.0.7"
|
||||||
permission_handler_platform_interface:
|
permission_handler_platform_interface:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -363,14 +363,14 @@ packages:
|
||||||
name: permission_handler_windows
|
name: permission_handler_windows
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.1.1"
|
version: "0.1.2"
|
||||||
petitparser:
|
petitparser:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: petitparser
|
name: petitparser
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "5.0.0"
|
version: "5.1.0"
|
||||||
photo_view:
|
photo_view:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
@ -487,7 +487,7 @@ packages:
|
||||||
name: url_launcher_android
|
name: url_launcher_android
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "6.0.19"
|
version: "6.0.20"
|
||||||
url_launcher_ios:
|
url_launcher_ios:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -552,5 +552,5 @@ packages:
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "6.1.0"
|
version: "6.1.0"
|
||||||
sdks:
|
sdks:
|
||||||
dart: ">=2.17.0 <3.0.0"
|
dart: ">=2.18.0 <3.0.0"
|
||||||
flutter: ">=3.0.0"
|
flutter: ">=3.0.0"
|
||||||
|
|
|
@ -15,7 +15,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev
|
||||||
# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
|
# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
|
||||||
# Read more about iOS versioning at
|
# Read more about iOS versioning at
|
||||||
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
|
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
|
||||||
version: 1.5.13+7
|
version: 1.5.14+8
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
sdk: ">=2.12.0 <3.0.0"
|
sdk: ">=2.12.0 <3.0.0"
|
||||||
|
|
Loading…
Reference in New Issue