提交 2c96b817 authored 作者: 史晓晨's avatar 史晓晨

feat:①平台信息工具类②web平台不设置代理

上级 8f51d6c0
...@@ -2,6 +2,7 @@ import 'dart:io'; ...@@ -2,6 +2,7 @@ import 'dart:io';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_clx_base/flutter_clx_base.dart'; import 'package:flutter_clx_base/flutter_clx_base.dart';
import 'package:flutter_clx_base/utils/platform_utils.dart';
import 'base_dio.dart'; import 'base_dio.dart';
...@@ -13,26 +14,26 @@ bool setProxyFlag = false; // 设置代理标识 true 设置 false 不设置 ...@@ -13,26 +14,26 @@ bool setProxyFlag = false; // 设置代理标识 true 设置 false 不设置
/// dio 设置代理uri /// dio 设置代理uri
void setProxyUri(Dio? dio, bool isProdEnv) { void setProxyUri(Dio? dio, bool isProdEnv) {
setProxyFlag = !isProdEnv; //生产环境不设置代理 setProxyFlag = !isProdEnv; //生产环境不设置代理
if (!setProxyFlag) return; if (!setProxyFlag || PlatformUtils.isWeb) return;
String? proxyIP = SpUtil.getString(spProxyIp); String? proxyIP = SpUtil.getString(spProxyIp);
String? proxyPort = SpUtil.getString(spProxyPort); String? proxyPort = SpUtil.getString(spProxyPort);
// (dio?.httpClientAdapter as IOHttpClientAdapter?)?.createHttpClient = () { (dio?.httpClientAdapter as IOHttpClientAdapter?)?.createHttpClient = () {
// HttpClient client = HttpClient(); HttpClient client = HttpClient();
// // 是否设置代理:非生产环境,开启代理后,设置代理 // 是否设置代理:非生产环境,开启代理后,设置代理
// bool isSetProxy = setProxyFlag && bool isSetProxy = setProxyFlag &&
// proxyIP != null && proxyIP != null &&
// proxyIP.isNotEmpty && proxyIP.isNotEmpty &&
// proxyPort != null && proxyPort != null &&
// proxyPort.isNotEmpty && proxyPort.isNotEmpty &&
// SpUtil.getBool(spSwitchProxy) == true; SpUtil.getBool(spSwitchProxy) == true;
// if (isSetProxy) { if (isSetProxy) {
// client.findProxy = (uri) => "PROXY $proxyIP:$proxyPort"; client.findProxy = (uri) => "PROXY $proxyIP:$proxyPort";
// client.badCertificateCallback = client.badCertificateCallback =
// (X509Certificate cert, String host, int port) => true; (X509Certificate cert, String host, int port) => true;
// } }
// return client; return client;
// }; };
} }
/// 设置代理widget /// 设置代理widget
...@@ -102,11 +103,10 @@ setProxyDialog(context) { ...@@ -102,11 +103,10 @@ setProxyDialog(context) {
spProxyIp, ipController.value.text.toString().trim()); spProxyIp, ipController.value.text.toString().trim());
SpUtil.putString( SpUtil.putString(
spProxyPort, portController.value.text.toString().trim()); spProxyPort, portController.value.text.toString().trim());
// 延迟1s 退出,修复保存失败问题 // 延迟1s 退出,修复保存失败问题
Future.delayed(const Duration(seconds: 1), () { Future.delayed(const Duration(seconds: 1), () {
exit(0); exit(0);
}); });
}, },
child: Container( child: Container(
margin: const EdgeInsets.only( margin: const EdgeInsets.only(
...@@ -160,7 +160,8 @@ Widget _textFieldItem({title, controller}) { ...@@ -160,7 +160,8 @@ Widget _textFieldItem({title, controller}) {
child: TextField( child: TextField(
maxLines: 1, maxLines: 1,
controller: controller, controller: controller,
keyboardType: const TextInputType.numberWithOptions(decimal: true), keyboardType:
const TextInputType.numberWithOptions(decimal: true),
decoration: const InputDecoration( decoration: const InputDecoration(
counterText: "", counterText: "",
border: InputBorder.none, //去掉下划线 border: InputBorder.none, //去掉下划线
......
import 'dart:io';
import 'package:flutter/foundation.dart';
/// 平台信息
class PlatformUtils {
static bool _isWeb() {
return kIsWeb == true;
}
static bool _isAndroid() {
return _isWeb() ? false : Platform.isAndroid;
}
static bool _isIOS() {
return _isWeb() ? false : Platform.isIOS;
}
static bool get isWeb => _isWeb();
static bool get isAndroid => _isAndroid();
static bool get isIOS => _isIOS();
}
...@@ -2,6 +2,7 @@ import 'dart:io'; ...@@ -2,6 +2,7 @@ import 'dart:io';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_clx_base/utils/platform_utils.dart';
import 'state_layout.dart'; import 'state_layout.dart';
...@@ -285,7 +286,7 @@ class MyBehavior extends ScrollBehavior { ...@@ -285,7 +286,7 @@ class MyBehavior extends ScrollBehavior {
@override @override
Widget buildOverscrollIndicator( Widget buildOverscrollIndicator(
BuildContext context, Widget child, ScrollableDetails details) { BuildContext context, Widget child, ScrollableDetails details) {
if (Platform.isAndroid || Platform.isFuchsia) { if (PlatformUtils.isAndroid) {
return child; return child;
} else { } else {
return super.buildOverscrollIndicator(context, child, details); return super.buildOverscrollIndicator(context, child, details);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论