fix: test if valid server, control if try test with proxy (#7858)

* fix: test if valid server, control if try test with proxy

Signed-off-by: fufesou <shuanglongchen@yeah.net>

* fix: build

Signed-off-by: fufesou <shuanglongchen@yeah.net>

---------

Signed-off-by: fufesou <shuanglongchen@yeah.net>
This commit is contained in:
fufesou
2024-04-28 14:22:21 +08:00
committed by GitHub
parent bd717349a7
commit 1dfbaa1e02
9 changed files with 55 additions and 52 deletions

View File

@@ -2978,16 +2978,16 @@ Future<bool> setServerConfig(
}
// id
if (config.idServer.isNotEmpty && errMsgs != null) {
errMsgs[0].value =
translate(await bind.mainTestIfValidServer(server: config.idServer));
errMsgs[0].value = translate(await bind.mainTestIfValidServer(
server: config.idServer, testWithProxy: true));
if (errMsgs[0].isNotEmpty) {
return false;
}
}
// relay
if (config.relayServer.isNotEmpty && errMsgs != null) {
errMsgs[1].value =
translate(await bind.mainTestIfValidServer(server: config.relayServer));
errMsgs[1].value = translate(await bind.mainTestIfValidServer(
server: config.relayServer, testWithProxy: true));
if (errMsgs[1].isNotEmpty) {
return false;
}

View File

@@ -2079,7 +2079,12 @@ void changeSocks5Proxy() async {
password = pwdController.text.trim();
if (proxy.isNotEmpty) {
proxyMsg = translate(await bind.mainTestIfValidServer(server: proxy));
String domainPort = proxy;
if (domainPort.contains('://')) {
domainPort = domainPort.split('://')[1];
}
proxyMsg = translate(await bind.mainTestIfValidServer(
server: domainPort, testWithProxy: false));
if (proxyMsg.isEmpty) {
// ignore
} else {

View File

@@ -283,12 +283,3 @@ void setPrivacyModeDialog(
);
}, backDismiss: true, clickMaskDismiss: true);
}
Future<String?> validateAsync(String value) async {
value = value.trim();
if (value.isEmpty) {
return null;
}
final res = await bind.mainTestIfValidServer(server: value);
return res.isEmpty ? null : res;
}

View File

@@ -680,7 +680,8 @@ class RustdeskImpl {
return Future(() => js.context.callMethod('setByName', ['options', json]));
}
Future<String> mainTestIfValidServer({required String server, dynamic hint}) {
Future<String> mainTestIfValidServer(
{required String server, required bool testWithProxy, dynamic hint}) {
// TODO: implement
return Future.value('');
}
@@ -788,7 +789,7 @@ class RustdeskImpl {
throw UnimplementedError();
}
Future<String?> mainGetHttpStatus({required String url, dynamic hint}){
Future<String?> mainGetHttpStatus({required String url, dynamic hint}) {
throw UnimplementedError();
}