opt: check cellular

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2024-12-26 20:08:09 +08:00
parent 45a965135e
commit e4f4a088ce
3 changed files with 18 additions and 22 deletions

View File

@@ -1,6 +1,6 @@
// ignore_for_file: avoid_print
import 'package:PiliPalaX/utils/utils.dart';
import 'package:connectivity_plus/connectivity_plus.dart';
import 'package:dio/dio.dart';
import 'package:flutter/material.dart';
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
@@ -76,8 +76,13 @@ class ApiInterceptor extends Interceptor {
case DioExceptionType.sendTimeout:
return '发送请求超时,请检查网络设置';
case DioExceptionType.unknown:
final String res = (await Utils.checkConnectivity()).title;
final String res =
(await Connectivity().checkConnectivity()).first.title;
return '$res网络异常 ${error.error}';
}
}
}
extension _ConnectivityResultExt on ConnectivityResult {
String get title => ['蓝牙', 'Wi-Fi', '局域', '流量', '', '代理', '其他'][index];
}

View File

@@ -1013,18 +1013,18 @@ class VideoDetailController extends GetxController
// 视频链接
Future queryVideoUrl() async {
if (cacheVideoQa == null) {
await Utils.checkConnectivity().then((res) {
cacheVideoQa = res == ConnectivityResult.mobile
? setting.get(SettingBoxKey.defaultVideoQaCellular,
defaultValue: VideoQuality.high1080.code)
: setting.get(SettingBoxKey.defaultVideoQa,
defaultValue: VideoQuality.values.last.code);
await Connectivity().checkConnectivity().then((res) {
cacheVideoQa = res.contains(ConnectivityResult.wifi)
? setting.get(SettingBoxKey.defaultVideoQa,
defaultValue: VideoQuality.values.last.code)
: setting.get(SettingBoxKey.defaultVideoQaCellular,
defaultValue: VideoQuality.high1080.code);
cacheAudioQa = res == ConnectivityResult.mobile
? setting.get(SettingBoxKey.defaultAudioQaCellular,
defaultValue: AudioQuality.k192.code)
: setting.get(SettingBoxKey.defaultAudioQa,
defaultValue: AudioQuality.hiRes.code);
cacheAudioQa = res.contains(ConnectivityResult.wifi)
? setting.get(SettingBoxKey.defaultAudioQa,
defaultValue: AudioQuality.hiRes.code)
: setting.get(SettingBoxKey.defaultAudioQaCellular,
defaultValue: AudioQuality.k192.code);
});
}
var result = await VideoHttp.videoUrl(cid: cid.value, bvid: bvid);

View File

@@ -17,7 +17,6 @@ import 'package:PiliPalaX/pages/video/detail/introduction/widgets/group_panel.da
import 'package:PiliPalaX/utils/feed_back.dart';
import 'package:PiliPalaX/utils/login.dart';
import 'package:PiliPalaX/utils/storage.dart';
import 'package:connectivity_plus/connectivity_plus.dart';
import 'package:crypto/crypto.dart';
import 'package:device_info_plus/device_info_plus.dart';
import 'package:flutter/material.dart';
@@ -31,17 +30,9 @@ import 'package:flutter_inappwebview/flutter_inappwebview.dart' as web;
import 'package:html/dom.dart' as dom;
import 'package:html/parser.dart' as html_parser;
extension ConnectivityResultExt on ConnectivityResult {
String get title => ['蓝牙', 'Wi-Fi', '局域', '流量', '', '代理', '其他'][index];
}
class Utils {
static final Random random = Random();
static Future<ConnectivityResult> checkConnectivity() async {
return (await Connectivity().checkConnectivity()).first;
}
static Future<dynamic> getWwebid(mid) async {
try {
dynamic response =