This commit is contained in:
niuhuan 2023-01-22 00:38:09 +08:00
parent 6a4828c5a6
commit 718fbfcccf
7 changed files with 85 additions and 6 deletions

View File

@ -250,6 +250,7 @@ jobs:
gsed -i "s/filesystem_picker: ^3.0.0-beta.1/filesystem_picker: 2.0.0/g" pubspec.yaml
gsed -i "s/file_picker: ^5.2.1/file_picker: 4.6.1/g" pubspec.yaml
gsed -i "s/multi_select_flutter: ^4.0.0/multi_select_flutter: 4.1.2/g" pubspec.yaml
gsed -i "s/multi_select_flutter: ^4.0.0/multi_select_flutter: 4.1.2/g" pubspec.yaml
flutter pub get
- name: Build (windows)

View File

@ -59,6 +59,14 @@ class Method {
return await _flatInvoke("setImageSwitchAddress", switchAddress);
}
Future<String> getUseApiClientLoadImage() async {
return await _flatInvoke("getUseApiClientLoadImage", "");
}
Future<dynamic> setUseApiClientLoadImage(String switchAddress) async {
return await _flatInvoke("setUseApiClientLoadImage", switchAddress);
}
///
Future<String> getProxy() async {
return await _flatInvoke("getProxy", "");

View File

@ -11,9 +11,14 @@ import '../Method.dart';
var _addresses = {
"0": "不分流",
"1": "分流1 (推荐)",
"1": "分流1",
"2": "分流2",
"3": "分流3",
"3": "分流3 (推荐)",
"4": "分流4",
"5": "分流5",
"6": "分流6",
"7": "分流7",
"8": "分流8",
};
late String _currentAddress;

View File

@ -3,12 +3,13 @@ import 'package:flutter/material.dart';
import '../Method.dart';
var _imageAddresses = {
"-3": "CDN-3",
"-2": "CDN-2",
"-1": "CDN-1",
"0": "不分流",
"1": "分流1",
"1": "分流1 (推荐)",
"2": "分流2",
"3": "分流3",
"4": "分流4",
"5": "分流5",
"6": "分流6",
};
late String _currentImageAddress;

View File

@ -0,0 +1,60 @@
import 'package:flutter/material.dart';
import '../Method.dart';
var _useApiLoadImages = {
"false": "",
"true": "",
};
late String _currentUseApiLoadImage;
Future<void> initUseApiLoadImage() async {
_currentUseApiLoadImage = await method.getUseApiClientLoadImage();
}
int currentUseApiLoadImage() {
return int.parse(_currentUseApiLoadImage);
}
String currentUseApiLoadImageName() => _useApiLoadImages[_currentUseApiLoadImage] ?? "";
Future<void> chooseUseApiLoadImage(BuildContext context) async {
String? choose = await showDialog<String>(
context: context,
builder: (BuildContext context) {
return SimpleDialog(
title: const Text('用API加载图片'),
children: <Widget>[
..._useApiLoadImages.entries.map(
(e) => SimpleDialogOption(
child: Text(e.value),
onPressed: () {
Navigator.of(context).pop(e.key);
},
),
),
],
);
},
);
if (choose != null) {
await method.setUseApiClientLoadImage(choose);
_currentUseApiLoadImage = choose;
}
}
Widget useApiLoadImageSetting() {
return StatefulBuilder(
builder: (BuildContext context, void Function(void Function()) setState) {
return ListTile(
title: const Text("用API加载图片"),
subtitle: Text(currentUseApiLoadImageName()),
onTap: () async {
await chooseUseApiLoadImage(context);
setState(() {});
},
);
},
);
}

View File

@ -31,6 +31,7 @@ import 'package:pikapika/basic/config/Themes.dart';
import 'package:pikapika/basic/Method.dart';
import 'package:pikapika/basic/config/ListLayout.dart';
import 'package:pikapika/basic/config/TimeOffsetHour.dart';
import 'package:pikapika/basic/config/UseApiLoadImage.dart';
import 'package:pikapika/basic/config/UsingRightClickPop.dart';
import 'package:pikapika/basic/config/Version.dart';
import 'package:pikapika/basic/config/VolumeController.dart';
@ -107,6 +108,7 @@ class _InitScreenState extends State<InitScreen> {
await initWillPopNotice();
await initShowCommentAtDownload();
await initDownloadCachePath();
await initUseApiLoadImage();
String? initUrl;
if (Platform.isAndroid || Platform.isIOS) {

View File

@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
import 'package:pikapika/basic/config/Address.dart';
import 'package:pikapika/basic/config/ImageAddress.dart';
import 'package:pikapika/basic/config/Proxy.dart';
import 'package:pikapika/basic/config/UseApiLoadImage.dart';
//
class NetworkSetting extends StatelessWidget {
@ -13,6 +14,7 @@ class NetworkSetting extends StatelessWidget {
children: [
switchAddressSetting(),
imageSwitchAddressSetting(),
useApiLoadImageSetting(),
proxySetting(),
reloadSwitchAddressSetting(),
],